diff --git a/examples/1633-http-server.sx b/examples/1633-http-server.sx new file mode 100644 index 0000000..77f4725 --- /dev/null +++ b/examples/1633-http-server.sx @@ -0,0 +1,185 @@ +// std.http S7a (PLAN-HTTPZ): a live single-worker server and its +// clients driven in ONE thread via Server.tick — keep-alive reuse, +// POST body echo, the per-connection request cap closing politely, +// 404 routing, and half-a-header eviction at the request deadline +// while the server keeps serving others. +#import "modules/std.sx"; + +PORT :: 18933; + +handler :: (req: *http.Request, resp: *http.Response) { + if req.path == "/hello" { + resp.body = concat("hello ", req.method); + return; + } + if req.path == "/echo" { + resp.body = req.body; + return; + } + resp.status = 404; + resp.body = "nope"; +} + +contains :: (hay: string, needle: string) -> bool { + if needle.len > hay.len { return false; } + i := 0; + while i + needle.len <= hay.len { + j := 0; + ok := true; + while j < needle.len { + if hay[i + j] != needle[j] { ok = false; break; } + j += 1; + } + if ok { return true; } + i += 1; + } + return false; +} + +// Connect a nonblocking loopback client. +dial :: () -> i32 { + fd := socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0); + if fd < 0 { return -1; } + addr : socket.SockAddr = .{ + sin_len = 16, sin_family = xx socket.AF_INET, + sin_port = socket.htons(PORT), sin_addr = 0x0100007F, + }; + if socket.connect(fd, @addr, 16) != 0 { socket.close(fd); return -1; } + if !socket.set_nonblocking(fd) { socket.close(fd); return -1; } + return fd; +} + +// True when `buf[0..len]` holds a complete response (headers + body). +resp_complete :: (buf: [*]u8, len: i64) -> bool { + s := string.{ ptr = buf, len = xx len }; + he := -1; + i := 0; + while i + 3 < s.len { + if s[i] == 13 and s[i+1] == 10 and s[i+2] == 13 and s[i+3] == 10 { he = i; break; } + i += 1; + } + if he < 0 { return false; } + // Content-Length digits + cl : i64 = 0; + seen := false; + j := 0; + needle := "Content-Length: "; + while j + needle.len < s.len { + k := 0; + ok := true; + while k < needle.len { if s[j + k] != needle[k] { ok = false; break; } k += 1; } + if ok { + d := j + needle.len; + while d < s.len and s[d] >= 48 and s[d] <= 57 { cl = cl * 10 + (s[d] - 48); d += 1; } + seen = true; + break; + } + j += 1; + } + if !seen { return false; } + return len >= he + 4 + cl; +} + +// Send a request and tick the server until its full response arrives. +// Returns the response text ("" = the connection closed instead). +roundtrip :: (srv: *http.Server, fd: i32, reqtext: string, scratch: [*]u8) -> string { + socket.write(fd, reqtext.ptr, xx reqtext.len); + total : i64 = 0; + tries := 0; + while tries < 400 { + srv.tick(5) catch {}; + n, re := socket.read_nb(fd, @scratch[total], xx (4096 - total)); + if !re { total += n; } + else if re == error.Closed { return string.{ ptr = scratch, len = xx total }; } + if resp_complete(scratch, total) { return string.{ ptr = scratch, len = xx total }; } + tries += 1; + } + return ""; +} + +main :: () -> i32 { + cfg : http.Config = .{ + port = PORT, + timeout_request_ms = 150, + timeout_keepalive_ms = 400, + request_count = 3, + max_conn = 8, + }; + srv, se := http.Server.init(cfg, handler); + if se { print("server init failed\n"); return 1; } + + buf : [4096]u8 = ---; + + // ── 1. GET, keep-alive default ──────────────────────────────────── + c1 := dial(); + if c1 < 0 { print("dial failed\n"); return 1; } + r1 := roundtrip(@srv, c1, "GET /hello HTTP/1.1\r\nHost: t\r\n\r\n", @buf[0]); + if !contains(r1, "HTTP/1.1 200 OK") { print("case1: bad status\n"); return 1; } + if !contains(r1, "hello GET") { print("case1: bad body\n"); return 1; } + if !contains(r1, "Connection: keep-alive") { print("case1: expected keep-alive\n"); return 1; } + print("GET 200, keep-alive\n"); + + // ── 2. same socket again: the connection was actually reused ───── + r2 := roundtrip(@srv, c1, "GET /hello HTTP/1.1\r\nHost: t\r\n\r\n", @buf[0]); + if !contains(r2, "hello GET") { print("case2: keep-alive reuse failed\n"); return 1; } + print("keep-alive reuse ok\n"); + + // ── 3. third request hits request_count: Connection: close + EOF ─ + r3 := roundtrip(@srv, c1, "GET /hello HTTP/1.1\r\nHost: t\r\n\r\n", @buf[0]); + if !contains(r3, "Connection: close") { print("case3: expected close at cap\n"); return 1; } + drained := false; + tries := 0; + while !drained and tries < 200 { + srv.tick(5) catch {}; + zq, ze := socket.read_nb(c1, @buf[0], 64); + if ze == error.Closed { drained = true; } + if !ze and zq == 0 { drained = true; } + tries += 1; + } + if !drained { print("case3: server did not close at the cap\n"); return 1; } + socket.close(c1); + print("request cap: close + EOF\n"); + + // ── 4. POST body echo ───────────────────────────────────────────── + c2 := dial(); + if c2 < 0 { print("dial2 failed\n"); return 1; } + r4 := roundtrip(@srv, c2, "POST /echo HTTP/1.1\r\nHost: t\r\nContent-Length: 9\r\n\r\nping-pong", @buf[0]); + if !contains(r4, "ping-pong") { print("case4: body not echoed\n"); return 1; } + print("POST echo ok\n"); + + // ── 5. unknown path routes 404 ──────────────────────────────────── + r5 := roundtrip(@srv, c2, "GET /missing HTTP/1.1\r\nHost: t\r\n\r\n", @buf[0]); + if !contains(r5, "HTTP/1.1 404 Not Found") { print("case5: expected 404\n"); return 1; } + socket.close(c2); + print("404 routing ok\n"); + + // ── 6. half a header is evicted at the request deadline, while a + // healthy client keeps being served ────────────────────────── + c3 := dial(); + if c3 < 0 { print("dial3 failed\n"); return 1; } + half := "GET /hel"; + socket.write(c3, half.ptr, xx half.len); + gone := event.deadline_in(300); // > timeout_request_ms + while !event.expired(gone) { srv.tick(5) catch {}; } + c4 := dial(); + if c4 < 0 { print("dial4 failed\n"); return 1; } + r6 := roundtrip(@srv, c4, "GET /hello HTTP/1.1\r\nHost: t\r\n\r\n", @buf[0]); + if !contains(r6, "hello GET") { print("case6: healthy client starved\n"); return 1; } + evicted := false; + tries = 0; + while !evicted and tries < 200 { + srv.tick(5) catch {}; + zq2, ze2 := socket.read_nb(c3, @buf[0], 64); + if ze2 == error.Closed { evicted = true; } + if !ze2 and zq2 == 0 { evicted = true; } + tries += 1; + } + if !evicted { print("case6: half-header connection never evicted\n"); return 1; } + socket.close(c3); + socket.close(c4); + print("slow client evicted, healthy client served\n"); + + srv.close(); + print("http server ok\n"); + return 0; +} diff --git a/examples/expected/0031-basic-local-fn-return.ir b/examples/expected/0031-basic-local-fn-return.ir index 529fe9e..b128b2a 100644 --- a/examples/expected/0031-basic-local-fn-return.ir +++ b/examples/expected/0031-basic-local-fn-return.ir @@ -1,775 +1,871 @@ @__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null } @str = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.367 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.368 = private unnamed_addr constant [6 x i8] c"false\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.370 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.371 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [201 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] +@str.382 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.383 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.384 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.386 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.387 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [219 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.372 = private constant [11 x i8] c"WouldBlock\00" -@tag.str.373 = private constant [7 x i8] c"Closed\00" -@tag.str.374 = private constant [6 x i8] c"Fault\00" -@tag.str.375 = private constant [9 x i8] c"Overflow\00" -@tag.str.376 = private constant [3 x i8] c"Io\00" -@tag.str.377 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.378 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.379 = private constant [10 x i8] c"BadEscape\00" -@tag.str.380 = private constant [10 x i8] c"BadNumber\00" -@tag.str.381 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.382 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.383 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.384 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.385 = private constant [13 x i8] c"MissingValue\00" -@tag.str.386 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.387 = private constant [13 x i8] c"TooManyFlags\00" -@tag.str.388 = private constant [5 x i8] c"Init\00" -@tag.str.389 = private constant [9 x i8] c"Register\00" -@tag.str.390 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.372, i64 10 }, { ptr, i64 } { ptr @tag.str.373, i64 6 }, { ptr, i64 } { ptr @tag.str.374, i64 5 }, { ptr, i64 } { ptr @tag.str.375, i64 8 }, { ptr, i64 } { ptr @tag.str.376, i64 2 }, { ptr, i64 } { ptr @tag.str.377, i64 15 }, { ptr, i64 } { ptr @tag.str.378, i64 13 }, { ptr, i64 } { ptr @tag.str.379, i64 9 }, { ptr, i64 } { ptr @tag.str.380, i64 9 }, { ptr, i64 } { ptr @tag.str.381, i64 15 }, { ptr, i64 } { ptr @tag.str.382, i64 14 }, { ptr, i64 } { ptr @tag.str.383, i64 14 }, { ptr, i64 } { ptr @tag.str.384, i64 11 }, { ptr, i64 } { ptr @tag.str.385, i64 12 }, { ptr, i64 } { ptr @tag.str.386, i64 15 }, { ptr, i64 } { ptr @tag.str.387, i64 12 }, { ptr, i64 } { ptr @tag.str.388, i64 4 }, { ptr, i64 } { ptr @tag.str.389, i64 8 }, { ptr, i64 } { ptr @tag.str.390, i64 4 }] +@tag.str.388 = private constant [11 x i8] c"WouldBlock\00" +@tag.str.389 = private constant [7 x i8] c"Closed\00" +@tag.str.390 = private constant [6 x i8] c"Fault\00" +@tag.str.391 = private constant [9 x i8] c"Overflow\00" +@tag.str.392 = private constant [3 x i8] c"Io\00" +@tag.str.393 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.394 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.395 = private constant [10 x i8] c"BadEscape\00" +@tag.str.396 = private constant [10 x i8] c"BadNumber\00" +@tag.str.397 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.398 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.399 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.400 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.401 = private constant [13 x i8] c"MissingValue\00" +@tag.str.402 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.403 = private constant [13 x i8] c"TooManyFlags\00" +@tag.str.404 = private constant [5 x i8] c"Init\00" +@tag.str.405 = private constant [9 x i8] c"Register\00" +@tag.str.406 = private constant [5 x i8] c"Wait\00" +@tag.str.407 = private constant [5 x i8] c"Bind\00" +@tag.str.408 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.388, i64 10 }, { ptr, i64 } { ptr @tag.str.389, i64 6 }, { ptr, i64 } { ptr @tag.str.390, i64 5 }, { ptr, i64 } { ptr @tag.str.391, i64 8 }, { ptr, i64 } { ptr @tag.str.392, i64 2 }, { ptr, i64 } { ptr @tag.str.393, i64 15 }, { ptr, i64 } { ptr @tag.str.394, i64 13 }, { ptr, i64 } { ptr @tag.str.395, i64 9 }, { ptr, i64 } { ptr @tag.str.396, i64 9 }, { ptr, i64 } { ptr @tag.str.397, i64 15 }, { ptr, i64 } { ptr @tag.str.398, i64 14 }, { ptr, i64 } { ptr @tag.str.399, i64 14 }, { ptr, i64 } { ptr @tag.str.400, i64 11 }, { ptr, i64 } { ptr @tag.str.401, i64 12 }, { ptr, i64 } { ptr @tag.str.402, i64 15 }, { ptr, i64 } { ptr @tag.str.403, i64 12 }, { ptr, i64 } { ptr @tag.str.404, i64 4 }, { ptr, i64 } { ptr @tag.str.405, i64 8 }, { ptr, i64 } { ptr @tag.str.406, i64 4 }, { ptr, i64 } { ptr @tag.str.407, i64 4 }, { ptr, i64 } { ptr @tag.str.408, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.391 = private constant [5 x i8] c"bool\00" -@tn.str.392 = private constant [3 x i8] c"i8\00" -@tn.str.393 = private constant [4 x i8] c"i16\00" -@tn.str.394 = private constant [4 x i8] c"i32\00" -@tn.str.395 = private constant [4 x i8] c"i64\00" -@tn.str.396 = private constant [3 x i8] c"u8\00" -@tn.str.397 = private constant [4 x i8] c"u16\00" -@tn.str.398 = private constant [4 x i8] c"u32\00" -@tn.str.399 = private constant [4 x i8] c"u64\00" -@tn.str.400 = private constant [4 x i8] c"f32\00" -@tn.str.401 = private constant [4 x i8] c"f64\00" -@tn.str.402 = private constant [7 x i8] c"string\00" -@tn.str.403 = private constant [4 x i8] c"Any\00" -@tn.str.404 = private constant [9 x i8] c"noreturn\00" -@tn.str.405 = private constant [6 x i8] c"isize\00" -@tn.str.406 = private constant [6 x i8] c"usize\00" -@tn.str.407 = private constant [5 x i8] c"void\00" -@tn.str.408 = private constant [8 x i8] c"cstring\00" -@tn.str.409 = private constant [6 x i8] c"*void\00" -@tn.str.410 = private constant [16 x i8] c"Source_Location\00" -@tn.str.411 = private constant [10 x i8] c"Allocator\00" -@tn.str.412 = private constant [8 x i8] c"Context\00" -@tn.str.413 = private constant [7 x i8] c"[4]i64\00" -@tn.str.414 = private constant [9 x i8] c"[]string\00" -@tn.str.415 = private constant [11 x i8] c"CAllocator\00" -@tn.str.416 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.417 = private constant [4 x i8] c"GPA\00" -@tn.str.418 = private constant [5 x i8] c"*GPA\00" -@tn.str.419 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.420 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.421 = private constant [6 x i8] c"Arena\00" -@tn.str.422 = private constant [7 x i8] c"*Arena\00" -@tn.str.423 = private constant [6 x i8] c"[*]u8\00" -@tn.str.424 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.425 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.426 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.427 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.428 = private constant [9 x i8] c"OpenMode\00" -@tn.str.429 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.430 = private constant [5 x i8] c"File\00" -@tn.str.431 = private constant [6 x i8] c"*File\00" -@tn.str.432 = private constant [6 x i8] c"?File\00" -@tn.str.433 = private constant [8 x i8] c"?string\00" -@tn.str.434 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.435 = private constant [9 x i8] c"?cstring\00" -@tn.str.436 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.437 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.438 = private constant [5 x i8] c"*i32\00" -@tn.str.439 = private constant [9 x i8] c"SockAddr\00" -@tn.str.440 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.441 = private constant [5 x i8] c"*u32\00" -@tn.str.442 = private constant [8 x i8] c"SockErr\00" -@tn.str.443 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.444 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.445 = private constant [10 x i8] c"JsonError\00" -@tn.str.446 = private constant [6 x i8] c"Array\00" -@tn.str.447 = private constant [7 x i8] c"Object\00" -@tn.str.448 = private constant [6 x i8] c"Value\00" -@tn.str.449 = private constant [7 x i8] c"Member\00" -@tn.str.450 = private constant [9 x i8] c"[*]Value\00" -@tn.str.451 = private constant [7 x i8] c"*Array\00" -@tn.str.452 = private constant [10 x i8] c"[*]Member\00" -@tn.str.453 = private constant [8 x i8] c"*Object\00" -@tn.str.454 = private constant [5 x i8] c"[]u8\00" -@tn.str.455 = private constant [5 x i8] c"Sink\00" -@tn.str.456 = private constant [6 x i8] c"*Sink\00" -@tn.str.457 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.458 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.459 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.460 = private constant [7 x i8] c"Parser\00" -@tn.str.461 = private constant [8 x i8] c"*Parser\00" -@tn.str.462 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.463 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.464 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.465 = private constant [13 x i8] c"Architecture\00" -@tn.str.466 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.467 = private constant [11 x i8] c"() -> bool\00" -@tn.str.468 = private constant [5 x i8] c"*i64\00" -@tn.str.469 = private constant [9 x i8] c"CliError\00" -@tn.str.470 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.471 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.472 = private constant [8 x i8] c"Command\00" -@tn.str.473 = private constant [10 x i8] c"FlagValue\00" -@tn.str.474 = private constant [5 x i8] c"Diag\00" -@tn.str.475 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.476 = private constant [7 x i8] c"Parsed\00" -@tn.str.477 = private constant [8 x i8] c"*Parsed\00" -@tn.str.478 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.479 = private constant [10 x i8] c"[]Command\00" -@tn.str.480 = private constant [6 x i8] c"*Diag\00" -@tn.str.481 = private constant [7 x i8] c"[8]i64\00" -@tn.str.482 = private constant [7 x i8] c"[64]u8\00" -@tn.str.483 = private constant [7 x i8] c"Sha256\00" -@tn.str.484 = private constant [8 x i8] c"*Sha256\00" -@tn.str.485 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.486 = private constant [8 x i8] c"[64]i64\00" -@tn.str.487 = private constant [9 x i8] c"Timespec\00" -@tn.str.488 = private constant [10 x i8] c"*Timespec\00" -@tn.str.489 = private constant [7 x i8] c"Kevent\00" -@tn.str.490 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.491 = private constant [8 x i8] c"*Kevent\00" -@tn.str.492 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.493 = private constant [9 x i8] c"EventErr\00" -@tn.str.494 = private constant [6 x i8] c"Event\00" -@tn.str.495 = private constant [5 x i8] c"Loop\00" -@tn.str.496 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.497 = private constant [6 x i8] c"*Loop\00" -@tn.str.498 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.499 = private constant [8 x i8] c"[]Event\00" -@tn.str.500 = private constant [8 x i8] c"[16]f32\00" -@tn.str.501 = private constant [5 x i8] c"Mat4\00" -@tn.str.502 = private constant [5 x i8] c"Vec2\00" -@tn.str.503 = private constant [6 x i8] c"Point\00" -@tn.str.504 = private constant [11 x i8] c"Shape.rect\00" -@tn.str.505 = private constant [6 x i8] c"Shape\00" -@tn.str.506 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.507 = private constant [7 x i8] c"**void\00" -@tn.str.508 = private constant [8 x i8] c"*string\00" -@tn.str.509 = private constant [6 x i8] c"[]Any\00" -@tn.str.510 = private constant [5 x i8] c"*Any\00" -@tn.str.511 = private constant [7 x i8] c"*[]Any\00" -@tn.str.512 = private constant [4 x i8] c"*u8\00" -@tn.str.513 = private constant [6 x i8] c"*bool\00" -@tn.str.514 = private constant [7 x i8] c"*Point\00" -@tn.str.515 = private constant [7 x i8] c"[2]Any\00" -@tn.str.516 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.517 = private constant [7 x i8] c"*Shape\00" -@tn.str.518 = private constant [7 x i8] c"[1]Any\00" -@tn.str.519 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.520 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.521 = private constant [5 x i8] c"*f64\00" -@tn.str.522 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.523 = private constant [11 x i8] c"*Allocator\00" -@tn.str.524 = private constant [9 x i8] c"*Context\00" -@tn.str.525 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.526 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.527 = private constant [8 x i8] c"*Member\00" -@tn.str.528 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.529 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.530 = private constant [9 x i8] c"*Command\00" -@tn.str.531 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.532 = private constant [7 x i8] c"*Event\00" -@tn.str.533 = private constant [6 x i8] c"*Mat4\00" -@tn.str.534 = private constant [6 x i8] c"*Vec2\00" -@tn.str.535 = private constant [12 x i8] c"*Shape.rect\00" -@tn.str.536 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.537 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.538 = private constant [7 x i8] c"*Value\00" -@tn.str.539 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.540 = private constant [14 x i8] c"*Architecture\00" -@tn.str.541 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.542 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.543 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.544 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.545 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.546 = private constant [10 x i8] c"*[]string\00" -@tn.str.547 = private constant [6 x i8] c"*[]u8\00" -@tn.str.548 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.549 = private constant [11 x i8] c"*[]Command\00" -@tn.str.550 = private constant [9 x i8] c"*[]Event\00" -@tn.str.551 = private constant [6 x i8] c"**GPA\00" -@tn.str.552 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.553 = private constant [8 x i8] c"**Arena\00" -@tn.str.554 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.555 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.556 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.557 = private constant [7 x i8] c"**File\00" -@tn.str.558 = private constant [6 x i8] c"**i32\00" -@tn.str.559 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.560 = private constant [6 x i8] c"**u32\00" -@tn.str.561 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.562 = private constant [8 x i8] c"**Array\00" -@tn.str.563 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.564 = private constant [9 x i8] c"**Object\00" -@tn.str.565 = private constant [7 x i8] c"**Sink\00" -@tn.str.566 = private constant [9 x i8] c"**Parser\00" -@tn.str.567 = private constant [6 x i8] c"**i64\00" -@tn.str.568 = private constant [9 x i8] c"**Parsed\00" -@tn.str.569 = private constant [7 x i8] c"**Diag\00" -@tn.str.570 = private constant [9 x i8] c"**Sha256\00" -@tn.str.571 = private constant [11 x i8] c"**Timespec\00" -@tn.str.572 = private constant [9 x i8] c"**Kevent\00" -@tn.str.573 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.574 = private constant [7 x i8] c"**Loop\00" -@tn.str.575 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.576 = private constant [8 x i8] c"***void\00" -@tn.str.577 = private constant [9 x i8] c"**string\00" -@tn.str.578 = private constant [6 x i8] c"**Any\00" -@tn.str.579 = private constant [8 x i8] c"**[]Any\00" -@tn.str.580 = private constant [5 x i8] c"**u8\00" -@tn.str.581 = private constant [7 x i8] c"**bool\00" -@tn.str.582 = private constant [8 x i8] c"**Point\00" -@tn.str.583 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.584 = private constant [8 x i8] c"**Shape\00" -@tn.str.585 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.586 = private constant [7 x i8] c"*?File\00" -@tn.str.587 = private constant [9 x i8] c"*?string\00" -@tn.str.588 = private constant [10 x i8] c"*?cstring\00" -@tn.str.589 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.590 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [201 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.391, i64 4 }, { ptr, i64 } { ptr @tn.str.392, i64 2 }, { ptr, i64 } { ptr @tn.str.393, i64 3 }, { ptr, i64 } { ptr @tn.str.394, i64 3 }, { ptr, i64 } { ptr @tn.str.395, i64 3 }, { ptr, i64 } { ptr @tn.str.396, i64 2 }, { ptr, i64 } { ptr @tn.str.397, i64 3 }, { ptr, i64 } { ptr @tn.str.398, i64 3 }, { ptr, i64 } { ptr @tn.str.399, i64 3 }, { ptr, i64 } { ptr @tn.str.400, i64 3 }, { ptr, i64 } { ptr @tn.str.401, i64 3 }, { ptr, i64 } { ptr @tn.str.402, i64 6 }, { ptr, i64 } { ptr @tn.str.403, i64 3 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 5 }, { ptr, i64 } { ptr @tn.str.406, i64 5 }, { ptr, i64 } { ptr @tn.str.407, i64 4 }, { ptr, i64 } { ptr @tn.str.408, i64 7 }, { ptr, i64 } { ptr @tn.str.409, i64 5 }, { ptr, i64 } { ptr @tn.str.410, i64 15 }, { ptr, i64 } { ptr @tn.str.411, i64 9 }, { ptr, i64 } { ptr @tn.str.412, i64 7 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 8 }, { ptr, i64 } { ptr @tn.str.415, i64 10 }, { ptr, i64 } { ptr @tn.str.416, i64 11 }, { ptr, i64 } { ptr @tn.str.417, i64 3 }, { ptr, i64 } { ptr @tn.str.418, i64 4 }, { ptr, i64 } { ptr @tn.str.419, i64 10 }, { ptr, i64 } { ptr @tn.str.420, i64 11 }, { ptr, i64 } { ptr @tn.str.421, i64 5 }, { ptr, i64 } { ptr @tn.str.422, i64 6 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 8 }, { ptr, i64 } { ptr @tn.str.425, i64 9 }, { ptr, i64 } { ptr @tn.str.426, i64 17 }, { ptr, i64 } { ptr @tn.str.427, i64 18 }, { ptr, i64 } { ptr @tn.str.428, i64 8 }, { ptr, i64 } { ptr @tn.str.429, i64 8 }, { ptr, i64 } { ptr @tn.str.430, i64 4 }, { ptr, i64 } { ptr @tn.str.431, i64 5 }, { ptr, i64 } { ptr @tn.str.432, i64 5 }, { ptr, i64 } { ptr @tn.str.433, i64 7 }, { ptr, i64 } { ptr @tn.str.434, i64 10 }, { ptr, i64 } { ptr @tn.str.435, i64 8 }, { ptr, i64 } { ptr @tn.str.436, i64 13 }, { ptr, i64 } { ptr @tn.str.437, i64 14 }, { ptr, i64 } { ptr @tn.str.438, i64 4 }, { ptr, i64 } { ptr @tn.str.439, i64 8 }, { ptr, i64 } { ptr @tn.str.440, i64 9 }, { ptr, i64 } { ptr @tn.str.441, i64 4 }, { ptr, i64 } { ptr @tn.str.442, i64 7 }, { ptr, i64 } { ptr @tn.str.443, i64 14 }, { ptr, i64 } { ptr @tn.str.444, i64 14 }, { ptr, i64 } { ptr @tn.str.445, i64 9 }, { ptr, i64 } { ptr @tn.str.446, i64 5 }, { ptr, i64 } { ptr @tn.str.447, i64 6 }, { ptr, i64 } { ptr @tn.str.448, i64 5 }, { ptr, i64 } { ptr @tn.str.449, i64 6 }, { ptr, i64 } { ptr @tn.str.450, i64 8 }, { ptr, i64 } { ptr @tn.str.451, i64 6 }, { ptr, i64 } { ptr @tn.str.452, i64 9 }, { ptr, i64 } { ptr @tn.str.453, i64 7 }, { ptr, i64 } { ptr @tn.str.454, i64 4 }, { ptr, i64 } { ptr @tn.str.455, i64 4 }, { ptr, i64 } { ptr @tn.str.456, i64 5 }, { ptr, i64 } { ptr @tn.str.457, i64 16 }, { ptr, i64 } { ptr @tn.str.458, i64 14 }, { ptr, i64 } { ptr @tn.str.459, i64 21 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 7 }, { ptr, i64 } { ptr @tn.str.462, i64 24 }, { ptr, i64 } { ptr @tn.str.463, i64 23 }, { ptr, i64 } { ptr @tn.str.464, i64 15 }, { ptr, i64 } { ptr @tn.str.465, i64 12 }, { ptr, i64 } { ptr @tn.str.466, i64 12 }, { ptr, i64 } { ptr @tn.str.467, i64 10 }, { ptr, i64 } { ptr @tn.str.468, i64 4 }, { ptr, i64 } { ptr @tn.str.469, i64 8 }, { ptr, i64 } { ptr @tn.str.470, i64 8 }, { ptr, i64 } { ptr @tn.str.471, i64 10 }, { ptr, i64 } { ptr @tn.str.472, i64 7 }, { ptr, i64 } { ptr @tn.str.473, i64 9 }, { ptr, i64 } { ptr @tn.str.474, i64 4 }, { ptr, i64 } { ptr @tn.str.475, i64 13 }, { ptr, i64 } { ptr @tn.str.476, i64 6 }, { ptr, i64 } { ptr @tn.str.477, i64 7 }, { ptr, i64 } { ptr @tn.str.478, i64 18 }, { ptr, i64 } { ptr @tn.str.479, i64 9 }, { ptr, i64 } { ptr @tn.str.480, i64 5 }, { ptr, i64 } { ptr @tn.str.481, i64 6 }, { ptr, i64 } { ptr @tn.str.482, i64 6 }, { ptr, i64 } { ptr @tn.str.483, i64 6 }, { ptr, i64 } { ptr @tn.str.484, i64 7 }, { ptr, i64 } { ptr @tn.str.485, i64 7 }, { ptr, i64 } { ptr @tn.str.486, i64 7 }, { ptr, i64 } { ptr @tn.str.487, i64 8 }, { ptr, i64 } { ptr @tn.str.488, i64 9 }, { ptr, i64 } { ptr @tn.str.489, i64 6 }, { ptr, i64 } { ptr @tn.str.490, i64 10 }, { ptr, i64 } { ptr @tn.str.491, i64 7 }, { ptr, i64 } { ptr @tn.str.492, i64 11 }, { ptr, i64 } { ptr @tn.str.493, i64 8 }, { ptr, i64 } { ptr @tn.str.494, i64 5 }, { ptr, i64 } { ptr @tn.str.495, i64 4 }, { ptr, i64 } { ptr @tn.str.496, i64 16 }, { ptr, i64 } { ptr @tn.str.497, i64 5 }, { ptr, i64 } { ptr @tn.str.498, i64 15 }, { ptr, i64 } { ptr @tn.str.499, i64 7 }, { ptr, i64 } { ptr @tn.str.500, i64 7 }, { ptr, i64 } { ptr @tn.str.501, i64 4 }, { ptr, i64 } { ptr @tn.str.502, i64 4 }, { ptr, i64 } { ptr @tn.str.503, i64 5 }, { ptr, i64 } { ptr @tn.str.504, i64 10 }, { ptr, i64 } { ptr @tn.str.505, i64 5 }, { ptr, i64 } { ptr @tn.str.506, i64 12 }, { ptr, i64 } { ptr @tn.str.507, i64 6 }, { ptr, i64 } { ptr @tn.str.508, i64 7 }, { ptr, i64 } { ptr @tn.str.509, i64 5 }, { ptr, i64 } { ptr @tn.str.510, i64 4 }, { ptr, i64 } { ptr @tn.str.511, i64 6 }, { ptr, i64 } { ptr @tn.str.512, i64 3 }, { ptr, i64 } { ptr @tn.str.513, i64 5 }, { ptr, i64 } { ptr @tn.str.514, i64 6 }, { ptr, i64 } { ptr @tn.str.515, i64 6 }, { ptr, i64 } { ptr @tn.str.516, i64 7 }, { ptr, i64 } { ptr @tn.str.517, i64 6 }, { ptr, i64 } { ptr @tn.str.518, i64 6 }, { ptr, i64 } { ptr @tn.str.519, i64 7 }, { ptr, i64 } { ptr @tn.str.520, i64 7 }, { ptr, i64 } { ptr @tn.str.521, i64 4 }, { ptr, i64 } { ptr @tn.str.522, i64 16 }, { ptr, i64 } { ptr @tn.str.523, i64 10 }, { ptr, i64 } { ptr @tn.str.524, i64 8 }, { ptr, i64 } { ptr @tn.str.525, i64 11 }, { ptr, i64 } { ptr @tn.str.526, i64 14 }, { ptr, i64 } { ptr @tn.str.527, i64 7 }, { ptr, i64 } { ptr @tn.str.528, i64 13 }, { ptr, i64 } { ptr @tn.str.529, i64 9 }, { ptr, i64 } { ptr @tn.str.530, i64 8 }, { ptr, i64 } { ptr @tn.str.531, i64 10 }, { ptr, i64 } { ptr @tn.str.532, i64 6 }, { ptr, i64 } { ptr @tn.str.533, i64 5 }, { ptr, i64 } { ptr @tn.str.534, i64 5 }, { ptr, i64 } { ptr @tn.str.535, i64 11 }, { ptr, i64 } { ptr @tn.str.536, i64 9 }, { ptr, i64 } { ptr @tn.str.537, i64 9 }, { ptr, i64 } { ptr @tn.str.538, i64 6 }, { ptr, i64 } { ptr @tn.str.539, i64 16 }, { ptr, i64 } { ptr @tn.str.540, i64 13 }, { ptr, i64 } { ptr @tn.str.541, i64 14 }, { ptr, i64 } { ptr @tn.str.542, i64 7 }, { ptr, i64 } { ptr @tn.str.543, i64 7 }, { ptr, i64 } { ptr @tn.str.544, i64 8 }, { ptr, i64 } { ptr @tn.str.545, i64 8 }, { ptr, i64 } { ptr @tn.str.546, i64 9 }, { ptr, i64 } { ptr @tn.str.547, i64 5 }, { ptr, i64 } { ptr @tn.str.548, i64 11 }, { ptr, i64 } { ptr @tn.str.549, i64 10 }, { ptr, i64 } { ptr @tn.str.550, i64 8 }, { ptr, i64 } { ptr @tn.str.551, i64 5 }, { ptr, i64 } { ptr @tn.str.552, i64 12 }, { ptr, i64 } { ptr @tn.str.553, i64 7 }, { ptr, i64 } { ptr @tn.str.554, i64 6 }, { ptr, i64 } { ptr @tn.str.555, i64 10 }, { ptr, i64 } { ptr @tn.str.556, i64 19 }, { ptr, i64 } { ptr @tn.str.557, i64 6 }, { ptr, i64 } { ptr @tn.str.558, i64 5 }, { ptr, i64 } { ptr @tn.str.559, i64 10 }, { ptr, i64 } { ptr @tn.str.560, i64 5 }, { ptr, i64 } { ptr @tn.str.561, i64 9 }, { ptr, i64 } { ptr @tn.str.562, i64 7 }, { ptr, i64 } { ptr @tn.str.563, i64 10 }, { ptr, i64 } { ptr @tn.str.564, i64 8 }, { ptr, i64 } { ptr @tn.str.565, i64 6 }, { ptr, i64 } { ptr @tn.str.566, i64 8 }, { ptr, i64 } { ptr @tn.str.567, i64 5 }, { ptr, i64 } { ptr @tn.str.568, i64 8 }, { ptr, i64 } { ptr @tn.str.569, i64 6 }, { ptr, i64 } { ptr @tn.str.570, i64 8 }, { ptr, i64 } { ptr @tn.str.571, i64 10 }, { ptr, i64 } { ptr @tn.str.572, i64 8 }, { ptr, i64 } { ptr @tn.str.573, i64 12 }, { ptr, i64 } { ptr @tn.str.574, i64 6 }, { ptr, i64 } { ptr @tn.str.575, i64 13 }, { ptr, i64 } { ptr @tn.str.576, i64 7 }, { ptr, i64 } { ptr @tn.str.577, i64 8 }, { ptr, i64 } { ptr @tn.str.578, i64 5 }, { ptr, i64 } { ptr @tn.str.579, i64 7 }, { ptr, i64 } { ptr @tn.str.580, i64 4 }, { ptr, i64 } { ptr @tn.str.581, i64 6 }, { ptr, i64 } { ptr @tn.str.582, i64 7 }, { ptr, i64 } { ptr @tn.str.583, i64 8 }, { ptr, i64 } { ptr @tn.str.584, i64 7 }, { ptr, i64 } { ptr @tn.str.585, i64 8 }, { ptr, i64 } { ptr @tn.str.586, i64 6 }, { ptr, i64 } { ptr @tn.str.587, i64 8 }, { ptr, i64 } { ptr @tn.str.588, i64 9 }, { ptr, i64 } { ptr @tn.str.589, i64 15 }, { ptr, i64 } { ptr @tn.str.590, i64 8 }] -@str.591 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.592 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.593 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.594 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.595 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.596 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.597 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.598 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.599 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.600 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.601 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.602 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.603 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.604 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.605 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.606 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.607 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.608 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.609 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.610 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.611 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.612 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 -@str.613 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.614 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 -@str.615 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 -@str.616 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.617 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 -@str.618 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 -@str.619 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.620 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 -@str.621 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.624 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@tn.str.409 = private constant [5 x i8] c"bool\00" +@tn.str.410 = private constant [3 x i8] c"i8\00" +@tn.str.411 = private constant [4 x i8] c"i16\00" +@tn.str.412 = private constant [4 x i8] c"i32\00" +@tn.str.413 = private constant [4 x i8] c"i64\00" +@tn.str.414 = private constant [3 x i8] c"u8\00" +@tn.str.415 = private constant [4 x i8] c"u16\00" +@tn.str.416 = private constant [4 x i8] c"u32\00" +@tn.str.417 = private constant [4 x i8] c"u64\00" +@tn.str.418 = private constant [4 x i8] c"f32\00" +@tn.str.419 = private constant [4 x i8] c"f64\00" +@tn.str.420 = private constant [7 x i8] c"string\00" +@tn.str.421 = private constant [4 x i8] c"Any\00" +@tn.str.422 = private constant [9 x i8] c"noreturn\00" +@tn.str.423 = private constant [6 x i8] c"isize\00" +@tn.str.424 = private constant [6 x i8] c"usize\00" +@tn.str.425 = private constant [5 x i8] c"void\00" +@tn.str.426 = private constant [8 x i8] c"cstring\00" +@tn.str.427 = private constant [6 x i8] c"*void\00" +@tn.str.428 = private constant [16 x i8] c"Source_Location\00" +@tn.str.429 = private constant [10 x i8] c"Allocator\00" +@tn.str.430 = private constant [8 x i8] c"Context\00" +@tn.str.431 = private constant [7 x i8] c"[4]i64\00" +@tn.str.432 = private constant [9 x i8] c"[]string\00" +@tn.str.433 = private constant [11 x i8] c"CAllocator\00" +@tn.str.434 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.435 = private constant [4 x i8] c"GPA\00" +@tn.str.436 = private constant [5 x i8] c"*GPA\00" +@tn.str.437 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.438 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.439 = private constant [6 x i8] c"Arena\00" +@tn.str.440 = private constant [7 x i8] c"*Arena\00" +@tn.str.441 = private constant [6 x i8] c"[*]u8\00" +@tn.str.442 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.443 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.444 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.445 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.446 = private constant [9 x i8] c"OpenMode\00" +@tn.str.447 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.448 = private constant [5 x i8] c"File\00" +@tn.str.449 = private constant [6 x i8] c"*File\00" +@tn.str.450 = private constant [6 x i8] c"?File\00" +@tn.str.451 = private constant [8 x i8] c"?string\00" +@tn.str.452 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.453 = private constant [9 x i8] c"?cstring\00" +@tn.str.454 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.455 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.456 = private constant [5 x i8] c"*i32\00" +@tn.str.457 = private constant [9 x i8] c"SockAddr\00" +@tn.str.458 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.459 = private constant [5 x i8] c"*u32\00" +@tn.str.460 = private constant [8 x i8] c"SockErr\00" +@tn.str.461 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.462 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.463 = private constant [10 x i8] c"JsonError\00" +@tn.str.464 = private constant [6 x i8] c"Array\00" +@tn.str.465 = private constant [7 x i8] c"Object\00" +@tn.str.466 = private constant [6 x i8] c"Value\00" +@tn.str.467 = private constant [7 x i8] c"Member\00" +@tn.str.468 = private constant [9 x i8] c"[*]Value\00" +@tn.str.469 = private constant [7 x i8] c"*Array\00" +@tn.str.470 = private constant [10 x i8] c"[*]Member\00" +@tn.str.471 = private constant [8 x i8] c"*Object\00" +@tn.str.472 = private constant [5 x i8] c"[]u8\00" +@tn.str.473 = private constant [5 x i8] c"Sink\00" +@tn.str.474 = private constant [6 x i8] c"*Sink\00" +@tn.str.475 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.476 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.477 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.478 = private constant [7 x i8] c"Parser\00" +@tn.str.479 = private constant [8 x i8] c"*Parser\00" +@tn.str.480 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.481 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.482 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.483 = private constant [13 x i8] c"Architecture\00" +@tn.str.484 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.485 = private constant [11 x i8] c"() -> bool\00" +@tn.str.486 = private constant [5 x i8] c"*i64\00" +@tn.str.487 = private constant [9 x i8] c"CliError\00" +@tn.str.488 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.489 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.490 = private constant [8 x i8] c"Command\00" +@tn.str.491 = private constant [10 x i8] c"FlagValue\00" +@tn.str.492 = private constant [5 x i8] c"Diag\00" +@tn.str.493 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.494 = private constant [7 x i8] c"Parsed\00" +@tn.str.495 = private constant [8 x i8] c"*Parsed\00" +@tn.str.496 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.497 = private constant [10 x i8] c"[]Command\00" +@tn.str.498 = private constant [6 x i8] c"*Diag\00" +@tn.str.499 = private constant [7 x i8] c"[8]i64\00" +@tn.str.500 = private constant [7 x i8] c"[64]u8\00" +@tn.str.501 = private constant [7 x i8] c"Sha256\00" +@tn.str.502 = private constant [8 x i8] c"*Sha256\00" +@tn.str.503 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.504 = private constant [8 x i8] c"[64]i64\00" +@tn.str.505 = private constant [9 x i8] c"Timespec\00" +@tn.str.506 = private constant [10 x i8] c"*Timespec\00" +@tn.str.507 = private constant [7 x i8] c"Kevent\00" +@tn.str.508 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.509 = private constant [8 x i8] c"*Kevent\00" +@tn.str.510 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.511 = private constant [9 x i8] c"EventErr\00" +@tn.str.512 = private constant [6 x i8] c"Event\00" +@tn.str.513 = private constant [5 x i8] c"Loop\00" +@tn.str.514 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.515 = private constant [6 x i8] c"*Loop\00" +@tn.str.516 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.517 = private constant [8 x i8] c"[]Event\00" +@tn.str.518 = private constant [8 x i8] c"HttpErr\00" +@tn.str.519 = private constant [7 x i8] c"Config\00" +@tn.str.520 = private constant [8 x i8] c"Request\00" +@tn.str.521 = private constant [9 x i8] c"Response\00" +@tn.str.522 = private constant [9 x i8] c"*Request\00" +@tn.str.523 = private constant [5 x i8] c"Conn\00" +@tn.str.524 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.525 = private constant [10 x i8] c"*Response\00" +@tn.str.526 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.527 = private constant [7 x i8] c"Server\00" +@tn.str.528 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.529 = private constant [8 x i8] c"*Server\00" +@tn.str.530 = private constant [8 x i8] c"[16]f32\00" +@tn.str.531 = private constant [5 x i8] c"Mat4\00" +@tn.str.532 = private constant [5 x i8] c"Vec2\00" +@tn.str.533 = private constant [6 x i8] c"Point\00" +@tn.str.534 = private constant [11 x i8] c"Shape.rect\00" +@tn.str.535 = private constant [6 x i8] c"Shape\00" +@tn.str.536 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.537 = private constant [7 x i8] c"**void\00" +@tn.str.538 = private constant [8 x i8] c"*string\00" +@tn.str.539 = private constant [6 x i8] c"[]Any\00" +@tn.str.540 = private constant [5 x i8] c"*Any\00" +@tn.str.541 = private constant [7 x i8] c"*[]Any\00" +@tn.str.542 = private constant [4 x i8] c"*u8\00" +@tn.str.543 = private constant [6 x i8] c"*bool\00" +@tn.str.544 = private constant [7 x i8] c"*Point\00" +@tn.str.545 = private constant [7 x i8] c"[2]Any\00" +@tn.str.546 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.547 = private constant [7 x i8] c"*Shape\00" +@tn.str.548 = private constant [7 x i8] c"[1]Any\00" +@tn.str.549 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.550 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.551 = private constant [5 x i8] c"*f64\00" +@tn.str.552 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.553 = private constant [11 x i8] c"*Allocator\00" +@tn.str.554 = private constant [9 x i8] c"*Context\00" +@tn.str.555 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.556 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.557 = private constant [8 x i8] c"*Member\00" +@tn.str.558 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.559 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.560 = private constant [9 x i8] c"*Command\00" +@tn.str.561 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.562 = private constant [7 x i8] c"*Event\00" +@tn.str.563 = private constant [8 x i8] c"*Config\00" +@tn.str.564 = private constant [6 x i8] c"*Conn\00" +@tn.str.565 = private constant [6 x i8] c"*Mat4\00" +@tn.str.566 = private constant [6 x i8] c"*Vec2\00" +@tn.str.567 = private constant [12 x i8] c"*Shape.rect\00" +@tn.str.568 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.569 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.570 = private constant [7 x i8] c"*Value\00" +@tn.str.571 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.572 = private constant [14 x i8] c"*Architecture\00" +@tn.str.573 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.574 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.575 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.576 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.577 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.578 = private constant [10 x i8] c"*[]string\00" +@tn.str.579 = private constant [6 x i8] c"*[]u8\00" +@tn.str.580 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.581 = private constant [11 x i8] c"*[]Command\00" +@tn.str.582 = private constant [9 x i8] c"*[]Event\00" +@tn.str.583 = private constant [6 x i8] c"**GPA\00" +@tn.str.584 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.585 = private constant [8 x i8] c"**Arena\00" +@tn.str.586 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.587 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.588 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.589 = private constant [7 x i8] c"**File\00" +@tn.str.590 = private constant [6 x i8] c"**i32\00" +@tn.str.591 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.592 = private constant [6 x i8] c"**u32\00" +@tn.str.593 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.594 = private constant [8 x i8] c"**Array\00" +@tn.str.595 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.596 = private constant [9 x i8] c"**Object\00" +@tn.str.597 = private constant [7 x i8] c"**Sink\00" +@tn.str.598 = private constant [9 x i8] c"**Parser\00" +@tn.str.599 = private constant [6 x i8] c"**i64\00" +@tn.str.600 = private constant [9 x i8] c"**Parsed\00" +@tn.str.601 = private constant [7 x i8] c"**Diag\00" +@tn.str.602 = private constant [9 x i8] c"**Sha256\00" +@tn.str.603 = private constant [11 x i8] c"**Timespec\00" +@tn.str.604 = private constant [9 x i8] c"**Kevent\00" +@tn.str.605 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.606 = private constant [7 x i8] c"**Loop\00" +@tn.str.607 = private constant [10 x i8] c"**Request\00" +@tn.str.608 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.609 = private constant [11 x i8] c"**Response\00" +@tn.str.610 = private constant [9 x i8] c"**Server\00" +@tn.str.611 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.612 = private constant [8 x i8] c"***void\00" +@tn.str.613 = private constant [9 x i8] c"**string\00" +@tn.str.614 = private constant [6 x i8] c"**Any\00" +@tn.str.615 = private constant [8 x i8] c"**[]Any\00" +@tn.str.616 = private constant [5 x i8] c"**u8\00" +@tn.str.617 = private constant [7 x i8] c"**bool\00" +@tn.str.618 = private constant [8 x i8] c"**Point\00" +@tn.str.619 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.620 = private constant [8 x i8] c"**Shape\00" +@tn.str.621 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.622 = private constant [7 x i8] c"*?File\00" +@tn.str.623 = private constant [9 x i8] c"*?string\00" +@tn.str.624 = private constant [10 x i8] c"*?cstring\00" +@tn.str.625 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.626 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [219 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.409, i64 4 }, { ptr, i64 } { ptr @tn.str.410, i64 2 }, { ptr, i64 } { ptr @tn.str.411, i64 3 }, { ptr, i64 } { ptr @tn.str.412, i64 3 }, { ptr, i64 } { ptr @tn.str.413, i64 3 }, { ptr, i64 } { ptr @tn.str.414, i64 2 }, { ptr, i64 } { ptr @tn.str.415, i64 3 }, { ptr, i64 } { ptr @tn.str.416, i64 3 }, { ptr, i64 } { ptr @tn.str.417, i64 3 }, { ptr, i64 } { ptr @tn.str.418, i64 3 }, { ptr, i64 } { ptr @tn.str.419, i64 3 }, { ptr, i64 } { ptr @tn.str.420, i64 6 }, { ptr, i64 } { ptr @tn.str.421, i64 3 }, { ptr, i64 } { ptr @tn.str.422, i64 8 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 5 }, { ptr, i64 } { ptr @tn.str.425, i64 4 }, { ptr, i64 } { ptr @tn.str.426, i64 7 }, { ptr, i64 } { ptr @tn.str.427, i64 5 }, { ptr, i64 } { ptr @tn.str.428, i64 15 }, { ptr, i64 } { ptr @tn.str.429, i64 9 }, { ptr, i64 } { ptr @tn.str.430, i64 7 }, { ptr, i64 } { ptr @tn.str.431, i64 6 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 11 }, { ptr, i64 } { ptr @tn.str.435, i64 3 }, { ptr, i64 } { ptr @tn.str.436, i64 4 }, { ptr, i64 } { ptr @tn.str.437, i64 10 }, { ptr, i64 } { ptr @tn.str.438, i64 11 }, { ptr, i64 } { ptr @tn.str.439, i64 5 }, { ptr, i64 } { ptr @tn.str.440, i64 6 }, { ptr, i64 } { ptr @tn.str.441, i64 5 }, { ptr, i64 } { ptr @tn.str.442, i64 8 }, { ptr, i64 } { ptr @tn.str.443, i64 9 }, { ptr, i64 } { ptr @tn.str.444, i64 17 }, { ptr, i64 } { ptr @tn.str.445, i64 18 }, { ptr, i64 } { ptr @tn.str.446, i64 8 }, { ptr, i64 } { ptr @tn.str.447, i64 8 }, { ptr, i64 } { ptr @tn.str.448, i64 4 }, { ptr, i64 } { ptr @tn.str.449, i64 5 }, { ptr, i64 } { ptr @tn.str.450, i64 5 }, { ptr, i64 } { ptr @tn.str.451, i64 7 }, { ptr, i64 } { ptr @tn.str.452, i64 10 }, { ptr, i64 } { ptr @tn.str.453, i64 8 }, { ptr, i64 } { ptr @tn.str.454, i64 13 }, { ptr, i64 } { ptr @tn.str.455, i64 14 }, { ptr, i64 } { ptr @tn.str.456, i64 4 }, { ptr, i64 } { ptr @tn.str.457, i64 8 }, { ptr, i64 } { ptr @tn.str.458, i64 9 }, { ptr, i64 } { ptr @tn.str.459, i64 4 }, { ptr, i64 } { ptr @tn.str.460, i64 7 }, { ptr, i64 } { ptr @tn.str.461, i64 14 }, { ptr, i64 } { ptr @tn.str.462, i64 14 }, { ptr, i64 } { ptr @tn.str.463, i64 9 }, { ptr, i64 } { ptr @tn.str.464, i64 5 }, { ptr, i64 } { ptr @tn.str.465, i64 6 }, { ptr, i64 } { ptr @tn.str.466, i64 5 }, { ptr, i64 } { ptr @tn.str.467, i64 6 }, { ptr, i64 } { ptr @tn.str.468, i64 8 }, { ptr, i64 } { ptr @tn.str.469, i64 6 }, { ptr, i64 } { ptr @tn.str.470, i64 9 }, { ptr, i64 } { ptr @tn.str.471, i64 7 }, { ptr, i64 } { ptr @tn.str.472, i64 4 }, { ptr, i64 } { ptr @tn.str.473, i64 4 }, { ptr, i64 } { ptr @tn.str.474, i64 5 }, { ptr, i64 } { ptr @tn.str.475, i64 16 }, { ptr, i64 } { ptr @tn.str.476, i64 14 }, { ptr, i64 } { ptr @tn.str.477, i64 21 }, { ptr, i64 } { ptr @tn.str.478, i64 6 }, { ptr, i64 } { ptr @tn.str.479, i64 7 }, { ptr, i64 } { ptr @tn.str.480, i64 24 }, { ptr, i64 } { ptr @tn.str.481, i64 23 }, { ptr, i64 } { ptr @tn.str.482, i64 15 }, { ptr, i64 } { ptr @tn.str.483, i64 12 }, { ptr, i64 } { ptr @tn.str.484, i64 12 }, { ptr, i64 } { ptr @tn.str.485, i64 10 }, { ptr, i64 } { ptr @tn.str.486, i64 4 }, { ptr, i64 } { ptr @tn.str.487, i64 8 }, { ptr, i64 } { ptr @tn.str.488, i64 8 }, { ptr, i64 } { ptr @tn.str.489, i64 10 }, { ptr, i64 } { ptr @tn.str.490, i64 7 }, { ptr, i64 } { ptr @tn.str.491, i64 9 }, { ptr, i64 } { ptr @tn.str.492, i64 4 }, { ptr, i64 } { ptr @tn.str.493, i64 13 }, { ptr, i64 } { ptr @tn.str.494, i64 6 }, { ptr, i64 } { ptr @tn.str.495, i64 7 }, { ptr, i64 } { ptr @tn.str.496, i64 18 }, { ptr, i64 } { ptr @tn.str.497, i64 9 }, { ptr, i64 } { ptr @tn.str.498, i64 5 }, { ptr, i64 } { ptr @tn.str.499, i64 6 }, { ptr, i64 } { ptr @tn.str.500, i64 6 }, { ptr, i64 } { ptr @tn.str.501, i64 6 }, { ptr, i64 } { ptr @tn.str.502, i64 7 }, { ptr, i64 } { ptr @tn.str.503, i64 7 }, { ptr, i64 } { ptr @tn.str.504, i64 7 }, { ptr, i64 } { ptr @tn.str.505, i64 8 }, { ptr, i64 } { ptr @tn.str.506, i64 9 }, { ptr, i64 } { ptr @tn.str.507, i64 6 }, { ptr, i64 } { ptr @tn.str.508, i64 10 }, { ptr, i64 } { ptr @tn.str.509, i64 7 }, { ptr, i64 } { ptr @tn.str.510, i64 11 }, { ptr, i64 } { ptr @tn.str.511, i64 8 }, { ptr, i64 } { ptr @tn.str.512, i64 5 }, { ptr, i64 } { ptr @tn.str.513, i64 4 }, { ptr, i64 } { ptr @tn.str.514, i64 16 }, { ptr, i64 } { ptr @tn.str.515, i64 5 }, { ptr, i64 } { ptr @tn.str.516, i64 15 }, { ptr, i64 } { ptr @tn.str.517, i64 7 }, { ptr, i64 } { ptr @tn.str.518, i64 7 }, { ptr, i64 } { ptr @tn.str.519, i64 6 }, { ptr, i64 } { ptr @tn.str.520, i64 7 }, { ptr, i64 } { ptr @tn.str.521, i64 8 }, { ptr, i64 } { ptr @tn.str.522, i64 8 }, { ptr, i64 } { ptr @tn.str.523, i64 4 }, { ptr, i64 } { ptr @tn.str.524, i64 7 }, { ptr, i64 } { ptr @tn.str.525, i64 9 }, { ptr, i64 } { ptr @tn.str.526, i64 21 }, { ptr, i64 } { ptr @tn.str.527, i64 6 }, { ptr, i64 } { ptr @tn.str.528, i64 17 }, { ptr, i64 } { ptr @tn.str.529, i64 7 }, { ptr, i64 } { ptr @tn.str.530, i64 7 }, { ptr, i64 } { ptr @tn.str.531, i64 4 }, { ptr, i64 } { ptr @tn.str.532, i64 4 }, { ptr, i64 } { ptr @tn.str.533, i64 5 }, { ptr, i64 } { ptr @tn.str.534, i64 10 }, { ptr, i64 } { ptr @tn.str.535, i64 5 }, { ptr, i64 } { ptr @tn.str.536, i64 12 }, { ptr, i64 } { ptr @tn.str.537, i64 6 }, { ptr, i64 } { ptr @tn.str.538, i64 7 }, { ptr, i64 } { ptr @tn.str.539, i64 5 }, { ptr, i64 } { ptr @tn.str.540, i64 4 }, { ptr, i64 } { ptr @tn.str.541, i64 6 }, { ptr, i64 } { ptr @tn.str.542, i64 3 }, { ptr, i64 } { ptr @tn.str.543, i64 5 }, { ptr, i64 } { ptr @tn.str.544, i64 6 }, { ptr, i64 } { ptr @tn.str.545, i64 6 }, { ptr, i64 } { ptr @tn.str.546, i64 7 }, { ptr, i64 } { ptr @tn.str.547, i64 6 }, { ptr, i64 } { ptr @tn.str.548, i64 6 }, { ptr, i64 } { ptr @tn.str.549, i64 7 }, { ptr, i64 } { ptr @tn.str.550, i64 7 }, { ptr, i64 } { ptr @tn.str.551, i64 4 }, { ptr, i64 } { ptr @tn.str.552, i64 16 }, { ptr, i64 } { ptr @tn.str.553, i64 10 }, { ptr, i64 } { ptr @tn.str.554, i64 8 }, { ptr, i64 } { ptr @tn.str.555, i64 11 }, { ptr, i64 } { ptr @tn.str.556, i64 14 }, { ptr, i64 } { ptr @tn.str.557, i64 7 }, { ptr, i64 } { ptr @tn.str.558, i64 13 }, { ptr, i64 } { ptr @tn.str.559, i64 9 }, { ptr, i64 } { ptr @tn.str.560, i64 8 }, { ptr, i64 } { ptr @tn.str.561, i64 10 }, { ptr, i64 } { ptr @tn.str.562, i64 6 }, { ptr, i64 } { ptr @tn.str.563, i64 7 }, { ptr, i64 } { ptr @tn.str.564, i64 5 }, { ptr, i64 } { ptr @tn.str.565, i64 5 }, { ptr, i64 } { ptr @tn.str.566, i64 5 }, { ptr, i64 } { ptr @tn.str.567, i64 11 }, { ptr, i64 } { ptr @tn.str.568, i64 9 }, { ptr, i64 } { ptr @tn.str.569, i64 9 }, { ptr, i64 } { ptr @tn.str.570, i64 6 }, { ptr, i64 } { ptr @tn.str.571, i64 16 }, { ptr, i64 } { ptr @tn.str.572, i64 13 }, { ptr, i64 } { ptr @tn.str.573, i64 14 }, { ptr, i64 } { ptr @tn.str.574, i64 7 }, { ptr, i64 } { ptr @tn.str.575, i64 7 }, { ptr, i64 } { ptr @tn.str.576, i64 8 }, { ptr, i64 } { ptr @tn.str.577, i64 8 }, { ptr, i64 } { ptr @tn.str.578, i64 9 }, { ptr, i64 } { ptr @tn.str.579, i64 5 }, { ptr, i64 } { ptr @tn.str.580, i64 11 }, { ptr, i64 } { ptr @tn.str.581, i64 10 }, { ptr, i64 } { ptr @tn.str.582, i64 8 }, { ptr, i64 } { ptr @tn.str.583, i64 5 }, { ptr, i64 } { ptr @tn.str.584, i64 12 }, { ptr, i64 } { ptr @tn.str.585, i64 7 }, { ptr, i64 } { ptr @tn.str.586, i64 6 }, { ptr, i64 } { ptr @tn.str.587, i64 10 }, { ptr, i64 } { ptr @tn.str.588, i64 19 }, { ptr, i64 } { ptr @tn.str.589, i64 6 }, { ptr, i64 } { ptr @tn.str.590, i64 5 }, { ptr, i64 } { ptr @tn.str.591, i64 10 }, { ptr, i64 } { ptr @tn.str.592, i64 5 }, { ptr, i64 } { ptr @tn.str.593, i64 9 }, { ptr, i64 } { ptr @tn.str.594, i64 7 }, { ptr, i64 } { ptr @tn.str.595, i64 10 }, { ptr, i64 } { ptr @tn.str.596, i64 8 }, { ptr, i64 } { ptr @tn.str.597, i64 6 }, { ptr, i64 } { ptr @tn.str.598, i64 8 }, { ptr, i64 } { ptr @tn.str.599, i64 5 }, { ptr, i64 } { ptr @tn.str.600, i64 8 }, { ptr, i64 } { ptr @tn.str.601, i64 6 }, { ptr, i64 } { ptr @tn.str.602, i64 8 }, { ptr, i64 } { ptr @tn.str.603, i64 10 }, { ptr, i64 } { ptr @tn.str.604, i64 8 }, { ptr, i64 } { ptr @tn.str.605, i64 12 }, { ptr, i64 } { ptr @tn.str.606, i64 6 }, { ptr, i64 } { ptr @tn.str.607, i64 9 }, { ptr, i64 } { ptr @tn.str.608, i64 8 }, { ptr, i64 } { ptr @tn.str.609, i64 10 }, { ptr, i64 } { ptr @tn.str.610, i64 8 }, { ptr, i64 } { ptr @tn.str.611, i64 13 }, { ptr, i64 } { ptr @tn.str.612, i64 7 }, { ptr, i64 } { ptr @tn.str.613, i64 8 }, { ptr, i64 } { ptr @tn.str.614, i64 5 }, { ptr, i64 } { ptr @tn.str.615, i64 7 }, { ptr, i64 } { ptr @tn.str.616, i64 4 }, { ptr, i64 } { ptr @tn.str.617, i64 6 }, { ptr, i64 } { ptr @tn.str.618, i64 7 }, { ptr, i64 } { ptr @tn.str.619, i64 8 }, { ptr, i64 } { ptr @tn.str.620, i64 7 }, { ptr, i64 } { ptr @tn.str.621, i64 8 }, { ptr, i64 } { ptr @tn.str.622, i64 6 }, { ptr, i64 } { ptr @tn.str.623, i64 8 }, { ptr, i64 } { ptr @tn.str.624, i64 9 }, { ptr, i64 } { ptr @tn.str.625, i64 15 }, { ptr, i64 } { ptr @tn.str.626, i64 8 }] +@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 [1 x i8] zeroinitializer, align 1 +@str.632 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.633 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.634 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.636 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.637 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.638 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.639 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.641 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.642 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.644 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.645 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.647 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.648 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 +@str.649 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.650 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 +@str.651 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 +@str.652 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.653 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 +@str.654 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 +@str.655 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.656 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 +@str.657 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.625 = private constant [5 x i8] c"line\00" -@fld.str.626 = private constant [4 x i8] c"col\00" -@fld.str.627 = 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.625, i64 4 }, { ptr, i64 } { ptr @fld.str.626, i64 3 }, { ptr, i64 } { ptr @fld.str.627, i64 4 }] -@str.628 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.629 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.633 = private constant [4 x i8] c"ctx\00" -@fld.str.634 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.635 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.636 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.633, i64 3 }, { ptr, i64 } { ptr @fld.str.634, i64 11 }, { ptr, i64 } { ptr @fld.str.635, i64 13 }] -@str.637 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.638 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.642 = private constant [10 x i8] c"allocator\00" -@fld.str.643 = private constant [5 x i8] c"data\00" -@field_names.644 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.642, i64 9 }, { ptr, i64 } { ptr @fld.str.643, i64 4 }] -@str.645 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.646 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.650 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.651 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.652 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.656 = private constant [12 x i8] c"alloc_count\00" -@field_names.657 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.656, i64 11 }] -@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.659 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.663 = private constant [5 x i8] c"next\00" -@fld.str.664 = private constant [4 x i8] c"cap\00" -@field_names.665 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 4 }, { ptr, i64 } { ptr @fld.str.664, i64 3 }] -@str.666 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.667 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.670 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.671 = private constant [6 x i8] c"first\00" -@fld.str.672 = private constant [10 x i8] c"end_index\00" -@fld.str.673 = private constant [7 x i8] c"parent\00" -@field_names.674 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 9 }, { ptr, i64 } { ptr @fld.str.673, i64 6 }] -@str.675 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.676 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.677 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.678 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.679 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.680 = private constant [4 x i8] c"buf\00" -@fld.str.681 = private constant [4 x i8] c"len\00" -@fld.str.682 = private constant [4 x i8] c"pos\00" -@field_names.683 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.680, i64 3 }, { ptr, i64 } { ptr @fld.str.681, i64 3 }, { ptr, i64 } { ptr @fld.str.682, i64 3 }] -@str.684 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.685 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.686 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.687 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.688 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.689 = private constant [7 x i8] c"parent\00" -@fld.str.690 = private constant [12 x i8] c"alloc_count\00" -@fld.str.691 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.692 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.693 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.689, i64 6 }, { ptr, i64 } { ptr @fld.str.690, i64 11 }, { ptr, i64 } { ptr @fld.str.691, i64 13 }, { ptr, i64 } { ptr @fld.str.692, i64 17 }] +@fld.str.661 = private constant [5 x i8] c"line\00" +@fld.str.662 = private constant [4 x i8] c"col\00" +@fld.str.663 = 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.661, i64 4 }, { ptr, i64 } { ptr @fld.str.662, i64 3 }, { ptr, i64 } { ptr @fld.str.663, i64 4 }] +@str.664 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.665 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.666 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.667 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.668 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.669 = private constant [4 x i8] c"ctx\00" +@fld.str.670 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.671 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.672 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 3 }, { ptr, i64 } { ptr @fld.str.670, i64 11 }, { ptr, i64 } { ptr @fld.str.671, i64 13 }] +@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.674 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.675 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.677 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.678 = private constant [10 x i8] c"allocator\00" +@fld.str.679 = private constant [5 x i8] c"data\00" +@field_names.680 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 9 }, { ptr, i64 } { ptr @fld.str.679, i64 4 }] +@str.681 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.682 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.685 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.686 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.687 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.688 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.689 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.690 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.691 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.692 = private constant [12 x i8] c"alloc_count\00" +@field_names.693 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 11 }] @str.694 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.695 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 @str.696 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.697 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.698 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.699 = private constant [3 x i8] c"fd\00" -@field_names.700 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.699, i64 2 }] -@str.701 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.702 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.703 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.704 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.705 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.706 = private constant [5 x i8] c"file\00" -@fld.str.707 = private constant [5 x i8] c"line\00" -@fld.str.708 = private constant [4 x i8] c"col\00" -@fld.str.709 = private constant [5 x i8] c"func\00" -@fld.str.710 = private constant [10 x i8] c"line_text\00" -@field_names.711 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.706, i64 4 }, { ptr, i64 } { ptr @fld.str.707, i64 4 }, { ptr, i64 } { ptr @fld.str.708, i64 3 }, { ptr, i64 } { ptr @fld.str.709, i64 4 }, { ptr, i64 } { ptr @fld.str.710, i64 9 }] -@str.712 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.713 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.714 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.715 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.716 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.717 = private constant [10 x i8] c"exit_code\00" -@fld.str.718 = private constant [7 x i8] c"stdout\00" -@field_names.719 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.717, i64 9 }, { ptr, i64 } { ptr @fld.str.718, i64 6 }] +@fld.str.699 = private constant [5 x i8] c"next\00" +@fld.str.700 = private constant [4 x i8] c"cap\00" +@field_names.701 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.699, i64 4 }, { ptr, i64 } { ptr @fld.str.700, i64 3 }] +@str.702 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.703 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.708 = private constant [10 x i8] c"end_index\00" +@fld.str.709 = private constant [7 x i8] c"parent\00" +@field_names.710 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.707, i64 5 }, { ptr, i64 } { ptr @fld.str.708, i64 9 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }] +@str.711 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.712 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.716 = private constant [4 x i8] c"buf\00" +@fld.str.717 = private constant [4 x i8] c"len\00" +@fld.str.718 = private constant [4 x i8] c"pos\00" +@field_names.719 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.716, i64 3 }, { ptr, i64 } { ptr @fld.str.717, i64 3 }, { ptr, i64 } { ptr @fld.str.718, i64 3 }] @str.720 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.721 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.721 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 @str.722 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.723 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.725 = private constant [8 x i8] c"sin_len\00" -@fld.str.726 = private constant [11 x i8] c"sin_family\00" -@fld.str.727 = private constant [9 x i8] c"sin_port\00" -@fld.str.728 = private constant [9 x i8] c"sin_addr\00" -@fld.str.729 = private constant [9 x i8] c"sin_zero\00" -@field_names.730 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.725, i64 7 }, { ptr, i64 } { ptr @fld.str.726, i64 10 }, { ptr, i64 } { ptr @fld.str.727, i64 8 }, { ptr, i64 } { ptr @fld.str.728, i64 8 }, { ptr, i64 } { ptr @fld.str.729, i64 8 }] -@str.731 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.732 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.733 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.734 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.736 = private constant [6 x i8] c"items\00" -@fld.str.737 = private constant [4 x i8] c"len\00" -@fld.str.738 = private constant [4 x i8] c"cap\00" -@field_names.739 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.736, i64 5 }, { ptr, i64 } { ptr @fld.str.737, i64 3 }, { ptr, i64 } { ptr @fld.str.738, i64 3 }] -@str.740 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.741 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 -@str.742 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.743 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.745 = private constant [6 x i8] c"items\00" -@fld.str.746 = private constant [4 x i8] c"len\00" -@fld.str.747 = private constant [4 x i8] c"cap\00" -@field_names.748 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.745, i64 5 }, { ptr, i64 } { ptr @fld.str.746, i64 3 }, { ptr, i64 } { ptr @fld.str.747, i64 3 }] -@str.749 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.750 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.751 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.752 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.753 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.754 = private constant [4 x i8] c"key\00" -@fld.str.755 = private constant [4 x i8] c"val\00" -@field_names.756 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.754, i64 3 }, { ptr, i64 } { ptr @fld.str.755, i64 3 }] -@str.757 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.758 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.759 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.760 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.761 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.762 = private constant [4 x i8] c"dst\00" -@fld.str.763 = private constant [4 x i8] c"pos\00" -@fld.str.764 = private constant [5 x i8] c"file\00" -@field_names.765 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.762, i64 3 }, { ptr, i64 } { ptr @fld.str.763, i64 3 }, { ptr, i64 } { ptr @fld.str.764, i64 4 }] -@str.766 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.767 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.768 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.769 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.770 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.771 = private constant [4 x i8] c"src\00" -@fld.str.772 = private constant [4 x i8] c"pos\00" -@fld.str.773 = private constant [6 x i8] c"alloc\00" -@field_names.774 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.771, i64 3 }, { ptr, i64 } { ptr @fld.str.772, i64 3 }, { ptr, i64 } { ptr @fld.str.773, i64 5 }] -@str.775 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.776 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.777 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.778 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.779 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.780 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.781 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.782 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.783 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.784 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.785 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.786 = private constant [5 x i8] c"name\00" -@fld.str.787 = private constant [12 x i8] c"takes_value\00" -@fld.str.788 = private constant [9 x i8] c"required\00" -@field_names.789 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.786, i64 4 }, { ptr, i64 } { ptr @fld.str.787, i64 11 }, { ptr, i64 } { ptr @fld.str.788, i64 8 }] -@str.790 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.791 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.792 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.793 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.794 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.795 = private constant [6 x i8] c"group\00" -@fld.str.796 = private constant [8 x i8] c"command\00" -@fld.str.797 = private constant [6 x i8] c"flags\00" -@field_names.798 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.795, i64 5 }, { ptr, i64 } { ptr @fld.str.796, i64 7 }, { ptr, i64 } { ptr @fld.str.797, i64 5 }] -@str.799 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.800 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.801 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.802 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.803 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.804 = private constant [4 x i8] c"set\00" -@fld.str.805 = private constant [6 x i8] c"value\00" -@field_names.806 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.804, i64 3 }, { ptr, i64 } { ptr @fld.str.805, i64 5 }] -@str.807 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.808 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.809 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.810 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.811 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.812 = private constant [6 x i8] c"index\00" -@fld.str.813 = private constant [6 x i8] c"token\00" -@field_names.814 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.812, i64 5 }, { ptr, i64 } { ptr @fld.str.813, i64 5 }] -@str.815 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.816 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.817 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.818 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.819 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.820 = private constant [6 x i8] c"group\00" -@fld.str.821 = private constant [8 x i8] c"command\00" -@fld.str.822 = private constant [10 x i8] c"cmd_index\00" -@fld.str.823 = private constant [5 x i8] c"json\00" -@fld.str.824 = private constant [5 x i8] c"rest\00" -@fld.str.825 = private constant [5 x i8] c"spec\00" -@fld.str.826 = private constant [7 x i8] c"values\00" -@field_names.827 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.820, i64 5 }, { ptr, i64 } { ptr @fld.str.821, i64 7 }, { ptr, i64 } { ptr @fld.str.822, i64 9 }, { ptr, i64 } { ptr @fld.str.823, i64 4 }, { ptr, i64 } { ptr @fld.str.824, i64 4 }, { ptr, i64 } { ptr @fld.str.825, i64 4 }, { ptr, i64 } { ptr @fld.str.826, i64 6 }] -@str.828 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.829 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.830 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.831 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.832 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.833 = private constant [2 x i8] c"h\00" -@fld.str.834 = private constant [4 x i8] c"buf\00" -@fld.str.835 = private constant [8 x i8] c"buf_len\00" -@fld.str.836 = private constant [10 x i8] c"total_len\00" -@field_names.837 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.833, i64 1 }, { ptr, i64 } { ptr @fld.str.834, i64 3 }, { ptr, i64 } { ptr @fld.str.835, i64 7 }, { ptr, i64 } { ptr @fld.str.836, i64 9 }] -@str.838 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.839 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.840 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.841 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.842 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.843 = private constant [4 x i8] c"sec\00" -@fld.str.844 = private constant [5 x i8] c"nsec\00" -@field_names.845 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.843, i64 3 }, { ptr, i64 } { ptr @fld.str.844, i64 4 }] -@str.846 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.847 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.848 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.849 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.850 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.851 = private constant [6 x i8] c"ident\00" -@fld.str.852 = private constant [7 x i8] c"filter\00" -@fld.str.853 = private constant [6 x i8] c"flags\00" -@fld.str.854 = private constant [7 x i8] c"fflags\00" -@fld.str.855 = private constant [5 x i8] c"data\00" -@fld.str.856 = private constant [6 x i8] c"udata\00" -@field_names.857 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.851, i64 5 }, { ptr, i64 } { ptr @fld.str.852, i64 6 }, { ptr, i64 } { ptr @fld.str.853, i64 5 }, { ptr, i64 } { ptr @fld.str.854, i64 6 }, { ptr, i64 } { ptr @fld.str.855, i64 4 }, { ptr, i64 } { ptr @fld.str.856, i64 5 }] -@str.858 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.859 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 -@str.860 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.861 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.862 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.863 = private constant [4 x i8] c"sec\00" -@fld.str.864 = private constant [5 x i8] c"nsec\00" -@field_names.865 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.863, i64 3 }, { ptr, i64 } { ptr @fld.str.864, i64 4 }] -@str.866 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.867 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 -@str.868 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.869 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.870 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.871 = private constant [3 x i8] c"fd\00" -@fld.str.872 = private constant [6 x i8] c"udata\00" -@fld.str.873 = private constant [9 x i8] c"readable\00" -@fld.str.874 = private constant [9 x i8] c"writable\00" -@fld.str.875 = private constant [4 x i8] c"eof\00" -@fld.str.876 = private constant [4 x i8] c"err\00" -@fld.str.877 = private constant [7 x i8] c"nbytes\00" -@field_names.878 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.871, i64 2 }, { ptr, i64 } { ptr @fld.str.872, i64 5 }, { ptr, i64 } { ptr @fld.str.873, i64 8 }, { ptr, i64 } { ptr @fld.str.874, i64 8 }, { ptr, i64 } { ptr @fld.str.875, i64 3 }, { ptr, i64 } { ptr @fld.str.876, i64 3 }, { ptr, i64 } { ptr @fld.str.877, i64 6 }] -@str.879 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.880 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.881 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.882 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.883 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.884 = private constant [3 x i8] c"kq\00" -@field_names.885 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.884, i64 2 }] -@str.886 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.887 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 -@str.888 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.889 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.890 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.725 = private constant [7 x i8] c"parent\00" +@fld.str.726 = private constant [12 x i8] c"alloc_count\00" +@fld.str.727 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.728 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.729 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.725, i64 6 }, { ptr, i64 } { ptr @fld.str.726, i64 11 }, { ptr, i64 } { ptr @fld.str.727, i64 13 }, { ptr, i64 } { ptr @fld.str.728, i64 17 }] +@str.730 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.731 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.734 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.735 = private constant [3 x i8] c"fd\00" +@field_names.736 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.735, i64 2 }] +@str.737 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.738 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.740 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.742 = private constant [5 x i8] c"file\00" +@fld.str.743 = private constant [5 x i8] c"line\00" +@fld.str.744 = private constant [4 x i8] c"col\00" +@fld.str.745 = private constant [5 x i8] c"func\00" +@fld.str.746 = private constant [10 x i8] c"line_text\00" +@field_names.747 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.742, i64 4 }, { ptr, i64 } { ptr @fld.str.743, i64 4 }, { ptr, i64 } { ptr @fld.str.744, i64 3 }, { ptr, i64 } { ptr @fld.str.745, i64 4 }, { ptr, i64 } { ptr @fld.str.746, i64 9 }] +@str.748 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.749 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.750 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.752 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.753 = private constant [10 x i8] c"exit_code\00" +@fld.str.754 = private constant [7 x i8] c"stdout\00" +@field_names.755 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.753, i64 9 }, { ptr, i64 } { ptr @fld.str.754, i64 6 }] +@str.756 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.757 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.758 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.759 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.760 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.761 = private constant [8 x i8] c"sin_len\00" +@fld.str.762 = private constant [11 x i8] c"sin_family\00" +@fld.str.763 = private constant [9 x i8] c"sin_port\00" +@fld.str.764 = private constant [9 x i8] c"sin_addr\00" +@fld.str.765 = private constant [9 x i8] c"sin_zero\00" +@field_names.766 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.761, i64 7 }, { ptr, i64 } { ptr @fld.str.762, i64 10 }, { ptr, i64 } { ptr @fld.str.763, i64 8 }, { ptr, i64 } { ptr @fld.str.764, i64 8 }, { ptr, i64 } { ptr @fld.str.765, i64 8 }] +@str.767 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.768 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.769 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.770 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.771 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.772 = private constant [6 x i8] c"items\00" +@fld.str.773 = private constant [4 x i8] c"len\00" +@fld.str.774 = private constant [4 x i8] c"cap\00" +@field_names.775 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.772, i64 5 }, { ptr, i64 } { ptr @fld.str.773, i64 3 }, { ptr, i64 } { ptr @fld.str.774, i64 3 }] +@str.776 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.777 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.778 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.779 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.780 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.781 = private constant [6 x i8] c"items\00" +@fld.str.782 = private constant [4 x i8] c"len\00" +@fld.str.783 = private constant [4 x i8] c"cap\00" +@field_names.784 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.781, i64 5 }, { ptr, i64 } { ptr @fld.str.782, i64 3 }, { ptr, i64 } { ptr @fld.str.783, i64 3 }] +@str.785 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.786 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.788 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.789 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.790 = private constant [4 x i8] c"key\00" +@fld.str.791 = private constant [4 x i8] c"val\00" +@field_names.792 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.790, i64 3 }, { ptr, i64 } { ptr @fld.str.791, i64 3 }] +@str.793 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.795 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.796 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.797 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.798 = private constant [4 x i8] c"dst\00" +@fld.str.799 = private constant [4 x i8] c"pos\00" +@fld.str.800 = private constant [5 x i8] c"file\00" +@field_names.801 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.798, i64 3 }, { ptr, i64 } { ptr @fld.str.799, i64 3 }, { ptr, i64 } { ptr @fld.str.800, i64 4 }] +@str.802 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.803 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.804 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.806 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.807 = private constant [4 x i8] c"src\00" +@fld.str.808 = private constant [4 x i8] c"pos\00" +@fld.str.809 = private constant [6 x i8] c"alloc\00" +@field_names.810 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.807, i64 3 }, { ptr, i64 } { ptr @fld.str.808, i64 3 }, { ptr, i64 } { ptr @fld.str.809, i64 5 }] +@str.811 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.812 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.813 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.814 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.815 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.816 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.817 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.818 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.819 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.820 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.821 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.822 = private constant [5 x i8] c"name\00" +@fld.str.823 = private constant [12 x i8] c"takes_value\00" +@fld.str.824 = private constant [9 x i8] c"required\00" +@field_names.825 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.822, i64 4 }, { ptr, i64 } { ptr @fld.str.823, i64 11 }, { ptr, i64 } { ptr @fld.str.824, i64 8 }] +@str.826 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.827 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.828 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.829 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.830 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.831 = private constant [6 x i8] c"group\00" +@fld.str.832 = private constant [8 x i8] c"command\00" +@fld.str.833 = private constant [6 x i8] c"flags\00" +@field_names.834 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.831, i64 5 }, { ptr, i64 } { ptr @fld.str.832, i64 7 }, { ptr, i64 } { ptr @fld.str.833, i64 5 }] +@str.835 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.836 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.837 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.838 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.839 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.840 = private constant [4 x i8] c"set\00" +@fld.str.841 = private constant [6 x i8] c"value\00" +@field_names.842 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.840, i64 3 }, { ptr, i64 } { ptr @fld.str.841, i64 5 }] +@str.843 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.845 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.846 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.847 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.848 = private constant [6 x i8] c"index\00" +@fld.str.849 = private constant [6 x i8] c"token\00" +@field_names.850 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.848, i64 5 }, { ptr, i64 } { ptr @fld.str.849, i64 5 }] +@str.851 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.852 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.853 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.854 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.855 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.856 = private constant [6 x i8] c"group\00" +@fld.str.857 = private constant [8 x i8] c"command\00" +@fld.str.858 = private constant [10 x i8] c"cmd_index\00" +@fld.str.859 = private constant [5 x i8] c"json\00" +@fld.str.860 = private constant [5 x i8] c"rest\00" +@fld.str.861 = private constant [5 x i8] c"spec\00" +@fld.str.862 = private constant [7 x i8] c"values\00" +@field_names.863 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.856, i64 5 }, { ptr, i64 } { ptr @fld.str.857, i64 7 }, { ptr, i64 } { ptr @fld.str.858, i64 9 }, { ptr, i64 } { ptr @fld.str.859, i64 4 }, { ptr, i64 } { ptr @fld.str.860, i64 4 }, { ptr, i64 } { ptr @fld.str.861, i64 4 }, { ptr, i64 } { ptr @fld.str.862, i64 6 }] +@str.864 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.865 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.866 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.867 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.868 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.869 = private constant [2 x i8] c"h\00" +@fld.str.870 = private constant [4 x i8] c"buf\00" +@fld.str.871 = private constant [8 x i8] c"buf_len\00" +@fld.str.872 = private constant [10 x i8] c"total_len\00" +@field_names.873 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.869, i64 1 }, { ptr, i64 } { ptr @fld.str.870, i64 3 }, { ptr, i64 } { ptr @fld.str.871, i64 7 }, { ptr, i64 } { ptr @fld.str.872, i64 9 }] +@str.874 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.875 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 +@str.876 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.877 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.878 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.879 = private constant [4 x i8] c"sec\00" +@fld.str.880 = private constant [5 x i8] c"nsec\00" +@field_names.881 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.879, i64 3 }, { ptr, i64 } { ptr @fld.str.880, i64 4 }] +@str.882 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.883 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 +@str.884 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.885 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.886 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.887 = private constant [6 x i8] c"ident\00" +@fld.str.888 = private constant [7 x i8] c"filter\00" +@fld.str.889 = private constant [6 x i8] c"flags\00" +@fld.str.890 = private constant [7 x i8] c"fflags\00" @fld.str.891 = private constant [5 x i8] c"data\00" -@field_names.892 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.891, i64 4 }] -@str.893 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.894 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 -@str.895 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.896 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.897 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.898 = private constant [2 x i8] c"x\00" -@fld.str.899 = private constant [2 x i8] c"y\00" -@field_names.900 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.898, i64 1 }, { ptr, i64 } { ptr @fld.str.899, i64 1 }] -@str.901 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.902 = private unnamed_addr constant [6 x i8] c"Point\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 [2 x i8] c"x\00" -@fld.str.907 = private constant [2 x i8] c"y\00" -@field_names.908 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.906, i64 1 }, { ptr, i64 } { ptr @fld.str.907, i64 1 }] -@str.909 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.910 = private unnamed_addr constant [11 x i8] c"Shape.rect\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 [2 x i8] c"w\00" -@fld.str.915 = private constant [2 x i8] c"h\00" -@field_names.916 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.914, i64 1 }, { ptr, i64 } { ptr @fld.str.915, i64 1 }] -@str.917 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.918 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.919 = private constant [5 x i8] c"read\00" -@fld.str.920 = private constant [6 x i8] c"write\00" -@fld.str.921 = private constant [7 x i8] c"append\00" -@fld.str.922 = private constant [11 x i8] c"read_write\00" -@field_names.923 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.919, i64 4 }, { ptr, i64 } { ptr @fld.str.920, i64 5 }, { ptr, i64 } { ptr @fld.str.921, i64 6 }, { ptr, i64 } { ptr @fld.str.922, i64 10 }] -@str.924 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.925 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.926 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.927 = private constant [4 x i8] c"set\00" -@fld.str.928 = private constant [8 x i8] c"current\00" -@fld.str.929 = private constant [4 x i8] c"end\00" -@field_names.930 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.927, i64 3 }, { ptr, i64 } { ptr @fld.str.928, i64 7 }, { ptr, i64 } { ptr @fld.str.929, i64 3 }] -@str.931 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.934 = private constant [6 x i8] c"null_\00" -@fld.str.935 = private constant [6 x i8] c"bool_\00" -@fld.str.936 = private constant [5 x i8] c"int_\00" -@fld.str.937 = private constant [4 x i8] c"str\00" -@fld.str.938 = private constant [6 x i8] c"array\00" -@fld.str.939 = private constant [7 x i8] c"object\00" -@field_names.940 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.934, i64 5 }, { ptr, i64 } { ptr @fld.str.935, i64 5 }, { ptr, i64 } { ptr @fld.str.936, i64 4 }, { ptr, i64 } { ptr @fld.str.937, i64 3 }, { ptr, i64 } { ptr @fld.str.938, i64 5 }, { ptr, i64 } { ptr @fld.str.939, i64 6 }] -@str.941 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.944 = private constant [6 x i8] c"macos\00" -@fld.str.945 = private constant [6 x i8] c"linux\00" -@fld.str.946 = private constant [8 x i8] c"windows\00" -@fld.str.947 = private constant [5 x i8] c"wasm\00" -@fld.str.948 = private constant [4 x i8] c"ios\00" -@fld.str.949 = private constant [8 x i8] c"android\00" -@fld.str.950 = private constant [8 x i8] c"unknown\00" -@field_names.951 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.944, i64 5 }, { ptr, i64 } { ptr @fld.str.945, i64 5 }, { ptr, i64 } { ptr @fld.str.946, i64 7 }, { ptr, i64 } { ptr @fld.str.947, i64 4 }, { ptr, i64 } { ptr @fld.str.948, i64 3 }, { ptr, i64 } { ptr @fld.str.949, i64 7 }, { ptr, i64 } { ptr @fld.str.950, i64 7 }] -@str.952 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.953 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.954 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.955 = private constant [8 x i8] c"aarch64\00" -@fld.str.956 = private constant [7 x i8] c"x86_64\00" -@fld.str.957 = private constant [7 x i8] c"wasm32\00" -@fld.str.958 = private constant [7 x i8] c"wasm64\00" -@fld.str.959 = private constant [8 x i8] c"unknown\00" -@field_names.960 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.955, i64 7 }, { ptr, i64 } { ptr @fld.str.956, i64 6 }, { ptr, i64 } { ptr @fld.str.957, i64 6 }, { ptr, i64 } { ptr @fld.str.958, i64 6 }, { ptr, i64 } { ptr @fld.str.959, i64 7 }] -@str.961 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.964 = private constant [7 x i8] c"circle\00" -@fld.str.965 = private constant [5 x i8] c"rect\00" -@fld.str.966 = private constant [5 x i8] c"none\00" -@field_names.967 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.964, i64 6 }, { ptr, i64 } { ptr @fld.str.965, i64 4 }, { ptr, i64 } { ptr @fld.str.966, i64 4 }] -@str.968 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.969 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.970 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.971 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.972 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.973 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.974 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.975 = private unnamed_addr constant [3 x i8] c", \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 +@fld.str.892 = private constant [6 x i8] c"udata\00" +@field_names.893 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.887, i64 5 }, { ptr, i64 } { ptr @fld.str.888, i64 6 }, { ptr, i64 } { ptr @fld.str.889, i64 5 }, { ptr, i64 } { ptr @fld.str.890, i64 6 }, { ptr, i64 } { ptr @fld.str.891, i64 4 }, { ptr, i64 } { ptr @fld.str.892, i64 5 }] +@str.894 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.895 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.896 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.897 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.898 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.899 = private constant [4 x i8] c"sec\00" +@fld.str.900 = private constant [5 x i8] c"nsec\00" +@field_names.901 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.899, i64 3 }, { ptr, i64 } { ptr @fld.str.900, i64 4 }] +@str.902 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.903 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.904 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.905 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.906 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.907 = private constant [3 x i8] c"fd\00" +@fld.str.908 = private constant [6 x i8] c"udata\00" +@fld.str.909 = private constant [9 x i8] c"readable\00" +@fld.str.910 = private constant [9 x i8] c"writable\00" +@fld.str.911 = private constant [4 x i8] c"eof\00" +@fld.str.912 = private constant [4 x i8] c"err\00" +@fld.str.913 = private constant [7 x i8] c"nbytes\00" +@field_names.914 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.907, i64 2 }, { ptr, i64 } { ptr @fld.str.908, i64 5 }, { ptr, i64 } { ptr @fld.str.909, i64 8 }, { ptr, i64 } { ptr @fld.str.910, i64 8 }, { ptr, i64 } { ptr @fld.str.911, i64 3 }, { ptr, i64 } { ptr @fld.str.912, i64 3 }, { ptr, i64 } { ptr @fld.str.913, i64 6 }] +@str.915 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.917 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.918 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.919 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.920 = private constant [3 x i8] c"kq\00" +@field_names.921 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.920, i64 2 }] +@str.922 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.923 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.924 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.925 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.926 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.927 = private constant [5 x i8] c"port\00" +@fld.str.928 = private constant [8 x i8] c"backlog\00" +@fld.str.929 = private constant [9 x i8] c"max_conn\00" +@fld.str.930 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.931 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.932 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.933 = private constant [14 x i8] c"request_count\00" +@field_names.934 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.927, i64 4 }, { ptr, i64 } { ptr @fld.str.928, i64 7 }, { ptr, i64 } { ptr @fld.str.929, i64 8 }, { ptr, i64 } { ptr @fld.str.930, i64 12 }, { ptr, i64 } { ptr @fld.str.931, i64 18 }, { ptr, i64 } { ptr @fld.str.932, i64 20 }, { ptr, i64 } { ptr @fld.str.933, i64 13 }] +@str.935 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.936 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.937 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.938 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.939 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.940 = private constant [7 x i8] c"method\00" +@fld.str.941 = private constant [5 x i8] c"path\00" +@fld.str.942 = private constant [8 x i8] c"version\00" +@fld.str.943 = private constant [12 x i8] c"headers_raw\00" +@fld.str.944 = private constant [5 x i8] c"body\00" +@fld.str.945 = private constant [11 x i8] c"keep_alive\00" +@field_names.946 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.940, i64 6 }, { ptr, i64 } { ptr @fld.str.941, i64 4 }, { ptr, i64 } { ptr @fld.str.942, i64 7 }, { ptr, i64 } { ptr @fld.str.943, i64 11 }, { ptr, i64 } { ptr @fld.str.944, i64 4 }, { ptr, i64 } { ptr @fld.str.945, i64 10 }] +@str.947 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.948 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.949 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.950 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.951 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.952 = private constant [7 x i8] c"status\00" +@fld.str.953 = private constant [13 x i8] c"content_type\00" +@fld.str.954 = private constant [14 x i8] c"extra_headers\00" +@fld.str.955 = private constant [5 x i8] c"body\00" +@field_names.956 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.952, i64 6 }, { ptr, i64 } { ptr @fld.str.953, i64 12 }, { ptr, i64 } { ptr @fld.str.954, i64 13 }, { ptr, i64 } { ptr @fld.str.955, i64 4 }] +@str.957 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.958 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.959 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.960 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.961 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.962 = private constant [3 x i8] c"fd\00" +@fld.str.963 = private constant [6 x i8] c"state\00" +@fld.str.964 = private constant [9 x i8] c"read_buf\00" +@fld.str.965 = private constant [9 x i8] c"read_len\00" +@fld.str.966 = private constant [8 x i8] c"out_buf\00" +@fld.str.967 = private constant [8 x i8] c"out_len\00" +@fld.str.968 = private constant [9 x i8] c"out_sent\00" +@fld.str.969 = private constant [9 x i8] c"deadline\00" +@fld.str.970 = private constant [7 x i8] c"served\00" +@fld.str.971 = private constant [12 x i8] c"close_after\00" +@fld.str.972 = private constant [12 x i8] c"write_armed\00" +@field_names.973 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.962, i64 2 }, { ptr, i64 } { ptr @fld.str.963, i64 5 }, { ptr, i64 } { ptr @fld.str.964, i64 8 }, { ptr, i64 } { ptr @fld.str.965, i64 8 }, { ptr, i64 } { ptr @fld.str.966, i64 7 }, { ptr, i64 } { ptr @fld.str.967, i64 7 }, { ptr, i64 } { ptr @fld.str.968, i64 8 }, { ptr, i64 } { ptr @fld.str.969, i64 8 }, { ptr, i64 } { ptr @fld.str.970, i64 6 }, { ptr, i64 } { ptr @fld.str.971, i64 11 }, { ptr, i64 } { ptr @fld.str.972, i64 11 }] +@str.974 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.975 = private unnamed_addr constant [7 x i8] c"Server\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 -@str.979 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.980 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.981 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.982 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.983 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.984 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.985 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.986 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.987 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.988 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.989 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.979 = private constant [4 x i8] c"cfg\00" +@fld.str.980 = private constant [5 x i8] c"loop\00" +@fld.str.981 = private constant [4 x i8] c"lfd\00" +@fld.str.982 = private constant [6 x i8] c"conns\00" +@fld.str.983 = private constant [10 x i8] c"own_alloc\00" +@fld.str.984 = private constant [8 x i8] c"handler\00" +@field_names.985 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.979, i64 3 }, { ptr, i64 } { ptr @fld.str.980, i64 4 }, { ptr, i64 } { ptr @fld.str.981, i64 3 }, { ptr, i64 } { ptr @fld.str.982, i64 5 }, { ptr, i64 } { ptr @fld.str.983, i64 9 }, { ptr, i64 } { ptr @fld.str.984, i64 7 }] +@str.986 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.987 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 +@str.988 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.989 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.990 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.991 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.992 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.993 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.994 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.995 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.996 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.997 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.998 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.999 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1000 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1001 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1002 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1003 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1004 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.991 = private constant [5 x i8] c"data\00" +@field_names.992 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.991, i64 4 }] +@str.993 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.994 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 +@str.995 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.996 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.997 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.998 = private constant [2 x i8] c"x\00" +@fld.str.999 = private constant [2 x i8] c"y\00" +@field_names.1000 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.998, i64 1 }, { ptr, i64 } { ptr @fld.str.999, i64 1 }] +@str.1001 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1002 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 +@str.1003 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1004 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.1005 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1006 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1007 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1008 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1009 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1010 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1011 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1012 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1013 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.1014 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1015 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1016 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.1017 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1018 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1019 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.1020 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1021 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1022 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.1023 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1024 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1025 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.1026 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1027 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1028 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.1029 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1030 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1031 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.1032 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1033 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1034 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.1035 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1036 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1037 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.1038 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1039 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1040 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.1041 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1042 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1043 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.1044 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1045 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1046 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.1047 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1048 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1049 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.1050 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1051 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1052 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.1053 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1054 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1055 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.1056 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1057 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1058 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.1059 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1060 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1061 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.1062 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1063 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1064 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.1065 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1066 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1067 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.1068 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1069 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1070 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.1071 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1072 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1073 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.1074 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1075 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1076 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.1077 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1078 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1079 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.1080 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1081 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1082 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.1083 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1084 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1085 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.1086 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1087 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1088 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.1089 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1090 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1091 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.1092 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1093 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1094 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.1095 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1096 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1097 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 -@str.1098 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1099 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1100 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 -@str.1101 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1102 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1103 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 -@str.1104 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1105 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1106 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 -@str.1107 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1108 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1109 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 -@str.1110 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1111 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1112 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 -@str.1113 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1114 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1115 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 -@str.1116 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1117 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1118 = private unnamed_addr constant [7 x i8] c"*Shape\00", align 1 -@str.1119 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1120 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1121 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 -@str.1122 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1123 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@fld.str.1006 = private constant [2 x i8] c"x\00" +@fld.str.1007 = private constant [2 x i8] c"y\00" +@field_names.1008 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1006, i64 1 }, { ptr, i64 } { ptr @fld.str.1007, i64 1 }] +@str.1009 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1010 = private unnamed_addr constant [11 x i8] c"Shape.rect\00", align 1 +@str.1011 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1012 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1013 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1014 = private constant [2 x i8] c"w\00" +@fld.str.1015 = private constant [2 x i8] c"h\00" +@field_names.1016 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1014, i64 1 }, { ptr, i64 } { ptr @fld.str.1015, i64 1 }] +@str.1017 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1018 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1019 = private constant [5 x i8] c"read\00" +@fld.str.1020 = private constant [6 x i8] c"write\00" +@fld.str.1021 = private constant [7 x i8] c"append\00" +@fld.str.1022 = private constant [11 x i8] c"read_write\00" +@field_names.1023 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1019, i64 4 }, { ptr, i64 } { ptr @fld.str.1020, i64 5 }, { ptr, i64 } { ptr @fld.str.1021, i64 6 }, { ptr, i64 } { ptr @fld.str.1022, i64 10 }] +@str.1024 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1025 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1026 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1027 = private constant [4 x i8] c"set\00" +@fld.str.1028 = private constant [8 x i8] c"current\00" +@fld.str.1029 = private constant [4 x i8] c"end\00" +@field_names.1030 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1027, i64 3 }, { ptr, i64 } { ptr @fld.str.1028, i64 7 }, { ptr, i64 } { ptr @fld.str.1029, i64 3 }] +@str.1031 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1032 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1033 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1034 = private constant [6 x i8] c"null_\00" +@fld.str.1035 = private constant [6 x i8] c"bool_\00" +@fld.str.1036 = private constant [5 x i8] c"int_\00" +@fld.str.1037 = private constant [4 x i8] c"str\00" +@fld.str.1038 = private constant [6 x i8] c"array\00" +@fld.str.1039 = private constant [7 x i8] c"object\00" +@field_names.1040 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1034, i64 5 }, { ptr, i64 } { ptr @fld.str.1035, i64 5 }, { ptr, i64 } { ptr @fld.str.1036, i64 4 }, { ptr, i64 } { ptr @fld.str.1037, i64 3 }, { ptr, i64 } { ptr @fld.str.1038, i64 5 }, { ptr, i64 } { ptr @fld.str.1039, i64 6 }] +@str.1041 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1042 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1043 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1044 = private constant [6 x i8] c"macos\00" +@fld.str.1045 = private constant [6 x i8] c"linux\00" +@fld.str.1046 = private constant [8 x i8] c"windows\00" +@fld.str.1047 = private constant [5 x i8] c"wasm\00" +@fld.str.1048 = private constant [4 x i8] c"ios\00" +@fld.str.1049 = private constant [8 x i8] c"android\00" +@fld.str.1050 = private constant [8 x i8] c"unknown\00" +@field_names.1051 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1044, i64 5 }, { ptr, i64 } { ptr @fld.str.1045, i64 5 }, { ptr, i64 } { ptr @fld.str.1046, i64 7 }, { ptr, i64 } { ptr @fld.str.1047, i64 4 }, { ptr, i64 } { ptr @fld.str.1048, i64 3 }, { ptr, i64 } { ptr @fld.str.1049, i64 7 }, { ptr, i64 } { ptr @fld.str.1050, i64 7 }] +@str.1052 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1053 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1054 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1055 = private constant [8 x i8] c"aarch64\00" +@fld.str.1056 = private constant [7 x i8] c"x86_64\00" +@fld.str.1057 = private constant [7 x i8] c"wasm32\00" +@fld.str.1058 = private constant [7 x i8] c"wasm64\00" +@fld.str.1059 = private constant [8 x i8] c"unknown\00" +@field_names.1060 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1055, i64 7 }, { ptr, i64 } { ptr @fld.str.1056, i64 6 }, { ptr, i64 } { ptr @fld.str.1057, i64 6 }, { ptr, i64 } { ptr @fld.str.1058, i64 6 }, { ptr, i64 } { ptr @fld.str.1059, i64 7 }] +@str.1061 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1062 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1063 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1064 = private constant [7 x i8] c"circle\00" +@fld.str.1065 = private constant [5 x i8] c"rect\00" +@fld.str.1066 = private constant [5 x i8] c"none\00" +@field_names.1067 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1064, i64 6 }, { ptr, i64 } { ptr @fld.str.1065, i64 4 }, { ptr, i64 } { ptr @fld.str.1066, i64 4 }] +@str.1068 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1069 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1070 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1071 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1072 = private unnamed_addr constant [3 x i8] c", \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 +@str.1076 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1077 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1078 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1079 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1080 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1081 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1082 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1083 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1084 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1085 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1086 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1087 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1088 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1089 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1090 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1091 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1092 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1093 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1094 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1095 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1096 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1097 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1098 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1099 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1100 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1101 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1102 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1103 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1104 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1105 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1106 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1107 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1108 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1109 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1110 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1111 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1112 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1113 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 +@str.1114 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1115 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1116 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.1117 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1118 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1119 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.1120 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1121 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1122 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.1123 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1124 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1125 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1126 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1125 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.1126 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1127 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1128 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.1129 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1130 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1131 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.1132 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1133 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1134 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.1135 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1136 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1137 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.1138 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1139 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1140 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.1141 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1142 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1143 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.1144 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1145 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1146 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.1147 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1148 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1149 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.1150 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1151 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1152 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.1153 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1154 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1155 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.1156 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1157 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1158 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.1159 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1160 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1161 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.1162 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1163 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1164 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.1165 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1166 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1167 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.1168 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1169 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1170 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.1171 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1172 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1173 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.1174 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1175 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1176 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.1177 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1178 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1179 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.1180 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1181 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1182 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.1183 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1184 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1185 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.1186 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1187 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1188 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.1189 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1190 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1191 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.1192 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1193 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1194 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.1195 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1196 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1197 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.1198 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1199 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1200 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.1201 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1202 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1203 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.1204 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1205 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1206 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.1207 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1208 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1209 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.1210 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1211 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1212 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.1213 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1214 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1215 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.1216 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1217 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1218 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.1219 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1220 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1221 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.1222 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1223 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1224 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 +@str.1225 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1226 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1227 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 +@str.1228 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1229 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1230 = private unnamed_addr constant [7 x i8] c"*Shape\00", align 1 +@str.1231 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1232 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1233 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.1234 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1235 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1236 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1237 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1238 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1239 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -921,7 +1017,7 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.366, i64 1 } + ret { ptr, i64 } { ptr @str.382, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 @@ -1038,7 +1134,7 @@ if.else.79: ; preds = %entry br label %if.merge.80 if.merge.80: ; preds = %if.else.79, %if.then.78 - %bp = phi { ptr, i64 } [ { ptr @str.367, i64 4 }, %if.then.78 ], [ { ptr @str.368, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.383, i64 4 }, %if.then.78 ], [ { ptr @str.384, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1207,38 +1303,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.452 + br label %while.hdr.486 -while.hdr.452: ; preds = %if.merge.457, %entry +while.hdr.486: ; preds = %if.merge.491, %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.453, label %while.exit.454 + br i1 %icmp, label %while.body.487, label %while.exit.488 -while.body.453: ; preds = %while.hdr.452 +while.body.487: ; preds = %while.hdr.486 %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.455, label %if.else.456 + br i1 %icmpN, label %if.then.489, label %if.else.490 -while.exit.454: ; preds = %while.hdr.452 +while.exit.488: ; preds = %while.hdr.486 ret void -if.then.455: ; preds = %while.body.453 +if.then.489: ; preds = %while.body.487 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.457 + br label %if.merge.491 -if.else.456: ; preds = %while.body.453 +if.else.490: ; preds = %while.body.487 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.457 + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi i64 [ %addN, %if.then.455 ], [ %addN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi i64 [ %addN, %if.then.489 ], [ %addN, %if.else.490 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1251,7 +1347,7 @@ if.merge.457: ; preds = %if.else.456, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.452 + br label %while.hdr.486 } ; Function Attrs: nounwind @@ -1364,12 +1460,12 @@ entry: 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.450, label %if.merge.451 + br i1 %icmp, label %if.then.484, label %if.merge.485 -if.then.450: ; preds = %entry - ret { ptr, i64 } { ptr @str.369, i64 1 } +if.then.484: ; preds = %entry + ret { ptr, i64 } { ptr @str.385, i64 1 } -if.merge.451: ; preds = %entry +if.merge.485: ; 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 @@ -1392,14 +1488,14 @@ if.merge.451: ; preds = %entry %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.458 + br label %while.hdr.492 -while.hdr.458: ; preds = %if.merge.462, %if.merge.451 +while.hdr.492: ; preds = %if.merge.496, %if.merge.485 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.459, label %while.exit.460 + br i1 %icmpN, label %while.body.493, label %while.exit.494 -while.body.459: ; preds = %while.hdr.458 +while.body.493: ; preds = %while.hdr.492 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1407,9 +1503,9 @@ while.body.459: ; preds = %while.hdr.458 %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.461, label %if.merge.462 + br i1 %icmpN, label %if.then.495, label %if.merge.496 -while.exit.460: ; preds = %if.then.461, %while.hdr.458 +while.exit.494: ; preds = %if.then.495, %while.hdr.492 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1417,14 +1513,14 @@ while.exit.460: ; preds = %if.then.461, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.461: ; preds = %while.body.459 - br label %while.exit.460 +if.then.495: ; preds = %while.body.493 + br label %while.exit.494 -if.merge.462: ; preds = %while.body.459 +if.merge.496: ; preds = %while.body.493 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.458 + br label %while.hdr.492 } ; Function Attrs: nounwind @@ -1518,7 +1614,7 @@ entry: %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.370, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.386, i64 3 }, ptr %allocaN, align 8 %load = load { i64, i64 }, ptr %alloca, align 8 %sg = extractvalue { i64, i64 } %load, 0 %ba.val = insertvalue { i64, i64 } { i64 13, i64 undef }, i64 %sg, 1 @@ -1575,32 +1671,38 @@ entry: i64 111, label %match.arm.43 i64 112, label %match.arm.43 i64 113, label %match.arm.43 - i64 114, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 123, label %match.arm.43 + i64 124, label %match.arm.43 + i64 125, label %match.arm.43 + i64 126, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 i64 74, label %match.arm.44 i64 75, label %match.arm.44 - i64 115, label %match.arm.44 + i64 127, label %match.arm.44 i64 52, label %match.arm.45 i64 55, label %match.arm.45 i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 110, label %match.arm.47 - i64 125, label %match.arm.47 - i64 128, label %match.arm.47 + i64 122, label %match.arm.47 + i64 137, label %match.arm.47 + i64 140, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 119, label %match.arm.48 + i64 131, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1627,17 +1729,21 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 + i64 114, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 118, label %match.arm.49 - i64 120, label %match.arm.49 i64 121, label %match.arm.49 - i64 122, label %match.arm.49 - i64 123, label %match.arm.49 - i64 124, label %match.arm.49 - i64 126, label %match.arm.49 - i64 127, label %match.arm.49 + i64 128, label %match.arm.49 i64 129, label %match.arm.49 + i64 130, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 + i64 134, label %match.arm.49 + i64 135, label %match.arm.49 + i64 136, label %match.arm.49 + i64 138, label %match.arm.49 + i64 139, label %match.arm.49 + i64 141, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1646,12 +1752,12 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.571, %dispatch.merge.408, %dispatch.merge.370, %dispatch.merge.320, %dispatch.merge.300, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.617, %dispatch.merge.438, %dispatch.merge.400, %dispatch.merge.350, %dispatch.merge.330, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.371, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.387, i64 0 }, ptr %allocaN, align 8 br label %match.merge.37 match.arm.39: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry @@ -1660,7 +1766,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [201 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [219 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1688,7 +1794,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1726,30 +1832,35 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 111, label %dispatch.case.126 i64 112, label %dispatch.case.127 i64 113, label %dispatch.case.128 - i64 114, label %dispatch.case.129 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 123, label %dispatch.case.131 + i64 124, label %dispatch.case.132 + i64 125, label %dispatch.case.133 + i64 126, label %dispatch.case.134 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.301 [ - i64 38, label %dispatch.case.302 - i64 39, label %dispatch.case.303 - i64 58, label %dispatch.case.304 - i64 74, label %dispatch.case.305 - i64 75, label %dispatch.case.306 - i64 115, label %dispatch.case.307 + switch i64 %ua.raw20, label %dispatch.default.331 [ + i64 38, label %dispatch.case.332 + i64 39, label %dispatch.case.333 + i64 58, label %dispatch.case.334 + i64 74, label %dispatch.case.335 + i64 75, label %dispatch.case.336 + i64 127, label %dispatch.case.337 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1761,84 +1872,88 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.321 [ - i64 23, label %dispatch.case.322 - i64 85, label %dispatch.case.323 - i64 91, label %dispatch.case.324 - i64 92, label %dispatch.case.325 - i64 96, label %dispatch.case.326 - i64 110, label %dispatch.case.327 - i64 125, label %dispatch.case.328 - i64 128, label %dispatch.case.329 + switch i64 %ua.raw29, label %dispatch.default.351 [ + i64 23, label %dispatch.case.352 + i64 85, label %dispatch.case.353 + i64 91, label %dispatch.case.354 + i64 92, label %dispatch.case.355 + i64 96, label %dispatch.case.356 + i64 122, label %dispatch.case.357 + i64 137, label %dispatch.case.358 + i64 140, label %dispatch.case.359 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.371 [ - i64 24, label %dispatch.case.372 - i64 64, label %dispatch.case.373 - i64 81, label %dispatch.case.374 - i64 89, label %dispatch.case.375 - i64 109, label %dispatch.case.376 - i64 119, label %dispatch.case.377 + switch i64 %ua.raw33, label %dispatch.default.401 [ + i64 24, label %dispatch.case.402 + i64 64, label %dispatch.case.403 + i64 81, label %dispatch.case.404 + i64 89, label %dispatch.case.405 + i64 109, label %dispatch.case.406 + i64 131, label %dispatch.case.407 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.409 [ - i64 19, label %dispatch.case.410 - i64 26, label %dispatch.case.411 - i64 28, label %dispatch.case.412 - i64 30, label %dispatch.case.413 - i64 32, label %dispatch.case.414 - i64 33, label %dispatch.case.415 - i64 35, label %dispatch.case.416 - i64 37, label %dispatch.case.417 - i64 41, label %dispatch.case.418 - i64 48, label %dispatch.case.419 - i64 50, label %dispatch.case.420 - i64 51, label %dispatch.case.421 - i64 60, label %dispatch.case.422 - i64 61, label %dispatch.case.423 - i64 62, label %dispatch.case.424 - i64 63, label %dispatch.case.425 - i64 66, label %dispatch.case.426 - i64 71, label %dispatch.case.427 - i64 78, label %dispatch.case.428 - i64 87, label %dispatch.case.429 - i64 90, label %dispatch.case.430 - i64 94, label %dispatch.case.431 - i64 98, label %dispatch.case.432 - i64 101, label %dispatch.case.433 - i64 102, label %dispatch.case.434 - i64 107, label %dispatch.case.435 - i64 116, label %dispatch.case.436 - i64 117, label %dispatch.case.437 - i64 118, label %dispatch.case.438 - i64 120, label %dispatch.case.439 - i64 121, label %dispatch.case.440 - i64 122, label %dispatch.case.441 - i64 123, label %dispatch.case.442 - i64 124, label %dispatch.case.443 - i64 126, label %dispatch.case.444 - i64 127, label %dispatch.case.445 - i64 129, label %dispatch.case.446 + switch i64 %ua.raw37, label %dispatch.default.439 [ + i64 19, label %dispatch.case.440 + i64 26, label %dispatch.case.441 + i64 28, label %dispatch.case.442 + i64 30, label %dispatch.case.443 + i64 32, label %dispatch.case.444 + i64 33, label %dispatch.case.445 + i64 35, label %dispatch.case.446 + i64 37, label %dispatch.case.447 + i64 41, label %dispatch.case.448 + i64 48, label %dispatch.case.449 + i64 50, label %dispatch.case.450 + i64 51, label %dispatch.case.451 + i64 60, label %dispatch.case.452 + i64 61, label %dispatch.case.453 + i64 62, label %dispatch.case.454 + i64 63, label %dispatch.case.455 + i64 66, label %dispatch.case.456 + i64 71, label %dispatch.case.457 + i64 78, label %dispatch.case.458 + i64 87, label %dispatch.case.459 + i64 90, label %dispatch.case.460 + i64 94, label %dispatch.case.461 + i64 98, label %dispatch.case.462 + i64 101, label %dispatch.case.463 + i64 102, label %dispatch.case.464 + i64 107, label %dispatch.case.465 + i64 114, label %dispatch.case.466 + i64 116, label %dispatch.case.467 + i64 117, label %dispatch.case.468 + i64 121, label %dispatch.case.469 + i64 128, label %dispatch.case.470 + i64 129, label %dispatch.case.471 + i64 130, label %dispatch.case.472 + i64 132, label %dispatch.case.473 + i64 133, label %dispatch.case.474 + i64 134, label %dispatch.case.475 + i64 135, label %dispatch.case.476 + i64 136, label %dispatch.case.477 + i64 138, label %dispatch.case.478 + i64 139, label %dispatch.case.479 + i64 141, label %dispatch.case.480 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.572 [ - i64 42, label %dispatch.case.573 - i64 43, label %dispatch.case.574 - i64 45, label %dispatch.case.575 - i64 47, label %dispatch.case.576 - i64 95, label %dispatch.case.577 + switch i64 %ua.raw41, label %dispatch.default.618 [ + i64 42, label %dispatch.case.619 + i64 43, label %dispatch.case.620 + i64 45, label %dispatch.case.621 + i64 47, label %dispatch.case.622 + i64 95, label %dispatch.case.623 ] match.arm.51: ; preds = %entry @@ -1847,7 +1962,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [201 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [219 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1892,13 +2007,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.591, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.627, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2144,529 +2259,597 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { [16 x float] }, ptr %ua.ptr181, align 4 - %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { float, float }, ptr %ua.ptr185, align 4 - %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { i32, i32 }, ptr %ua.ptr189, align 4 - %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { float, float }, ptr %ua.ptr193, align 4 - %callN = call { ptr, i64 } @struct_to_string__Shape.rect(ptr %0, { float, float } %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.300: ; preds = %dispatch.case.307, %dispatch.case.306, %dispatch.case.305, %dispatch.case.304, %dispatch.case.303, %dispatch.case.302, %dispatch.default.301 +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { [16 x float] }, ptr %ua.ptr201, align 4 + %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { float, float }, ptr %ua.ptr205, align 4 + %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { i32, i32 }, ptr %ua.ptr209, align 4 + %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.134: ; preds = %match.arm.43 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load { float, float }, ptr %ua.ptr213, align 4 + %callN = call { ptr, i64 } @struct_to_string__Shape.rect(ptr %0, { float, float } %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.330: ; preds = %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.default.331 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.301: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.592, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.300 +dispatch.default.331: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.628, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.330 -dispatch.case.302: ; preds = %match.arm.44 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw197) +dispatch.case.332: ; preds = %match.arm.44 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw217) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.303: ; preds = %match.arm.44 - %ua.raw199 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw199) +dispatch.case.333: ; preds = %match.arm.44 + %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.304: ; preds = %match.arm.44 - %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr202 = inttoptr i64 %ua.raw201 to ptr - %ua.load203 = load { i64, [24 x i8] }, ptr %ua.ptr202, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load203) +dispatch.case.334: ; preds = %match.arm.44 + %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr222 = inttoptr i64 %ua.raw221 to ptr + %ua.load223 = load { i64, [24 x i8] }, ptr %ua.ptr222, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load223) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.305: ; preds = %match.arm.44 - %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw205) +dispatch.case.335: ; preds = %match.arm.44 + %ua.raw225 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw225) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.306: ; preds = %match.arm.44 - %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw207) +dispatch.case.336: ; preds = %match.arm.44 + %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw227) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.307: ; preds = %match.arm.44 - %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr210 = inttoptr i64 %ua.raw209 to ptr - %ua.load211 = load { i64, [8 x i8] }, ptr %ua.ptr210, align 8 - %callN = call { ptr, i64 } @enum_to_string__Shape(ptr %0, { i64, [8 x i8] } %ua.load211) +dispatch.case.337: ; preds = %match.arm.44 + %ua.raw229 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr230 = inttoptr i64 %ua.raw229 to ptr + %ua.load231 = load { i64, [8 x i8] }, ptr %ua.ptr230, align 8 + %callN = call { ptr, i64 } @enum_to_string__Shape(ptr %0, { i64, [8 x i8] } %ua.load231) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.merge.320: ; preds = %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.default.321 +dispatch.merge.350: ; preds = %dispatch.case.359, %dispatch.case.358, %dispatch.case.357, %dispatch.case.356, %dispatch.case.355, %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.default.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.321: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.593, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.320 +dispatch.default.351: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.629, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.350 -dispatch.case.322: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 - -dispatch.case.323: ; preds = %match.arm.47 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 - -dispatch.case.324: ; preds = %match.arm.47 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 - -dispatch.case.325: ; preds = %match.arm.47 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 - -dispatch.case.326: ; preds = %match.arm.47 - %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 - -dispatch.case.327: ; preds = %match.arm.47 +dispatch.case.352: ; preds = %match.arm.47 %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr - %ua.load236 = load [16 x float], ptr %ua.ptr235, align 4 - %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load236) + %ua.load236 = load [4 x i64], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load236) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 + br label %dispatch.merge.350 -dispatch.case.328: ; preds = %match.arm.47 +dispatch.case.353: ; preds = %match.arm.47 %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr - %ua.load240 = load [2 x { i64, i64 }], ptr %ua.ptr239, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load240) + %ua.load240 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load240) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 + br label %dispatch.merge.350 -dispatch.case.329: ; preds = %match.arm.47 +dispatch.case.354: ; preds = %match.arm.47 %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr - %ua.load244 = load [1 x { i64, i64 }], ptr %ua.ptr243, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load244) + %ua.load244 = load [8 x i64], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load244) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.320 + br label %dispatch.merge.350 -dispatch.merge.370: ; preds = %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.default.371 +dispatch.case.355: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [64 x i8], ptr %ua.ptr247, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.350 + +dispatch.case.356: ; preds = %match.arm.47 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [64 x i64], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.350 + +dispatch.case.357: ; preds = %match.arm.47 + %ua.raw254 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr255 = inttoptr i64 %ua.raw254 to ptr + %ua.load256 = load [16 x float], ptr %ua.ptr255, align 4 + %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load256) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.350 + +dispatch.case.358: ; preds = %match.arm.47 + %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr259 = inttoptr i64 %ua.raw258 to ptr + %ua.load260 = load [2 x { i64, i64 }], ptr %ua.ptr259, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load260) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.350 + +dispatch.case.359: ; preds = %match.arm.47 + %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr263 = inttoptr i64 %ua.raw262 to ptr + %ua.load264 = load [1 x { i64, i64 }], ptr %ua.ptr263, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load264) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.350 + +dispatch.merge.400: ; preds = %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.default.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.371: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.594, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.370 +dispatch.default.401: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.630, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.400 -dispatch.case.372: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 - -dispatch.case.373: ; preds = %match.arm.48 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 - -dispatch.case.374: ; preds = %match.arm.48 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr - %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 - -dispatch.case.375: ; preds = %match.arm.48 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr - %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load261) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 - -dispatch.case.376: ; preds = %match.arm.48 - %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr - %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 - -dispatch.case.377: ; preds = %match.arm.48 +dispatch.case.402: ; preds = %match.arm.48 %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load269) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load269) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.370 + br label %dispatch.merge.400 -dispatch.merge.408: ; preds = %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.default.409 +dispatch.case.403: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.400 + +dispatch.case.404: ; preds = %match.arm.48 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.400 + +dispatch.case.405: ; preds = %match.arm.48 + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr + %ua.load281 = load { ptr, i64 }, ptr %ua.ptr280, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load281) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.400 + +dispatch.case.406: ; preds = %match.arm.48 + %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr284 = inttoptr i64 %ua.raw283 to ptr + %ua.load285 = load { ptr, i64 }, ptr %ua.ptr284, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.400 + +dispatch.case.407: ; preds = %match.arm.48 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr288 = inttoptr i64 %ua.raw287 to ptr + %ua.load289 = load { ptr, i64 }, ptr %ua.ptr288, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.400 + +dispatch.merge.438: ; preds = %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.default.439 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.409: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.595, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw272 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.419: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.420: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.421: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.422: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.423: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.424: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.425: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.426: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.427: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.428: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.429: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.430: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.431: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.432: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp338) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.433: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp341) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.434: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp344) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.435: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp347) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.436: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp350) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.437: ; preds = %match.arm.49 - %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 - %iNp353 = inttoptr i64 %ua.raw352 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp353) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.438: ; preds = %match.arm.49 - %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %iNp356 = inttoptr i64 %ua.raw355 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp356) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 - -dispatch.case.439: ; preds = %match.arm.49 - %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 - %iNp359 = inttoptr i64 %ua.raw358 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp359) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 +dispatch.default.439: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.631, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.438 dispatch.case.440: ; preds = %match.arm.49 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp362) + %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw292 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.441: ; preds = %match.arm.49 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %iNp365 = inttoptr i64 %ua.raw364 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp365) + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.442: ; preds = %match.arm.49 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %iNp368 = inttoptr i64 %ua.raw367 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp368) + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.443: ; preds = %match.arm.49 - %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 - %iNp371 = inttoptr i64 %ua.raw370 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp371) + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.444: ; preds = %match.arm.49 - %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 - %iNp374 = inttoptr i64 %ua.raw373 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp374) + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.445: ; preds = %match.arm.49 - %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 - %iNp377 = inttoptr i64 %ua.raw376 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Shape(ptr %0, ptr %iNp377) + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 dispatch.case.446: ; preds = %match.arm.49 - %ua.raw379 = extractvalue { i64, i64 } %loadN, 1 - %iNp380 = inttoptr i64 %ua.raw379 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp380) + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp310) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.408 + br label %dispatch.merge.438 -dispatch.merge.571: ; preds = %dispatch.case.577, %dispatch.case.576, %dispatch.case.575, %dispatch.case.574, %dispatch.case.573, %dispatch.default.572 +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.448: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.460: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.461: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.462: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.463: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.464: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.465: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.466: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.467: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.468: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.469: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.470: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.471: ; preds = %match.arm.49 + %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp385) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.472: ; preds = %match.arm.49 + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %iNp388 = inttoptr i64 %ua.raw387 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp388) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.473: ; preds = %match.arm.49 + %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 + %iNp391 = inttoptr i64 %ua.raw390 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp391) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.474: ; preds = %match.arm.49 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp394) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.475: ; preds = %match.arm.49 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %iNp397 = inttoptr i64 %ua.raw396 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp397) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.476: ; preds = %match.arm.49 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %iNp400 = inttoptr i64 %ua.raw399 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp400) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.477: ; preds = %match.arm.49 + %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 + %iNp403 = inttoptr i64 %ua.raw402 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp403) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.478: ; preds = %match.arm.49 + %ua.raw405 = extractvalue { i64, i64 } %loadN, 1 + %iNp406 = inttoptr i64 %ua.raw405 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp406) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw408 = extractvalue { i64, i64 } %loadN, 1 + %iNp409 = inttoptr i64 %ua.raw408 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Shape(ptr %0, ptr %iNp409) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.case.480: ; preds = %match.arm.49 + %ua.raw411 = extractvalue { i64, i64 } %loadN, 1 + %iNp412 = inttoptr i64 %ua.raw411 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp412) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.438 + +dispatch.merge.617: ; preds = %dispatch.case.623, %dispatch.case.622, %dispatch.case.621, %dispatch.case.620, %dispatch.case.619, %dispatch.default.618 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.572: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.596, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.571 +dispatch.default.618: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.632, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.617 -dispatch.case.573: ; preds = %match.arm.50 - %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr384 = inttoptr i64 %ua.raw383 to ptr - %ua.load385 = load { { i32 }, i1 }, ptr %ua.ptr384, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load385) +dispatch.case.619: ; preds = %match.arm.50 + %ua.raw415 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr416 = inttoptr i64 %ua.raw415 to ptr + %ua.load417 = load { { i32 }, i1 }, ptr %ua.ptr416, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load417) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.571 + br label %dispatch.merge.617 -dispatch.case.574: ; preds = %match.arm.50 - %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr388 = inttoptr i64 %ua.raw387 to ptr - %ua.load389 = load { { ptr, i64 }, i1 }, ptr %ua.ptr388, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load389) +dispatch.case.620: ; preds = %match.arm.50 + %ua.raw419 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr420 = inttoptr i64 %ua.raw419 to ptr + %ua.load421 = load { { ptr, i64 }, i1 }, ptr %ua.ptr420, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load421) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.571 + br label %dispatch.merge.617 -dispatch.case.575: ; preds = %match.arm.50 - %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 - %iNp392 = inttoptr i64 %ua.raw391 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp392) +dispatch.case.621: ; preds = %match.arm.50 + %ua.raw423 = extractvalue { i64, i64 } %loadN, 1 + %iNp424 = inttoptr i64 %ua.raw423 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp424) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.571 + br label %dispatch.merge.617 -dispatch.case.576: ; preds = %match.arm.50 - %ua.raw394 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr395 = inttoptr i64 %ua.raw394 to ptr - %ua.load396 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr395, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load396) +dispatch.case.622: ; preds = %match.arm.50 + %ua.raw426 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr427 = inttoptr i64 %ua.raw426 to ptr + %ua.load428 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr427, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load428) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.571 + br label %dispatch.merge.617 -dispatch.case.577: ; preds = %match.arm.50 - %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr399 = inttoptr i64 %ua.raw398 to ptr - %ua.load400 = load { [64 x i8], i1 }, ptr %ua.ptr399, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load400) +dispatch.case.623: ; preds = %match.arm.50 + %ua.raw430 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr431 = inttoptr i64 %ua.raw430 to ptr + %ua.load432 = load { [64 x i8], i1 }, ptr %ua.ptr431, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load432) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.571 + br label %dispatch.merge.617 } ; Function Attrs: nounwind @@ -2675,7 +2858,7 @@ 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.597, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.633, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2771,7 +2954,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, 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 @@ -2779,7 +2962,7 @@ if.then.12: ; preds = %if.then.9 %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.599, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, 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 @@ -2789,13 +2972,13 @@ if.then.12: ; preds = %if.then.9 %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.600, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, 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 @@ -2803,7 +2986,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.602, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2817,7 +3000,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, 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 @@ -2825,7 +3008,7 @@ if.then.23: ; preds = %if.else.10 %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.604, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, 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 @@ -2836,7 +3019,7 @@ if.then.23: ; preds = %if.else.10 %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.605, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2893,7 +3076,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, 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 @@ -2901,7 +3084,7 @@ if.then.32: ; preds = %if.then.29 %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.607, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, 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 @@ -2912,7 +3095,7 @@ if.then.32: ; preds = %if.then.29 %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.608, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2932,7 +3115,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.609, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, 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 @@ -2940,7 +3123,7 @@ if.then.35: ; preds = %while.exit.2 %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.610, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, 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 @@ -2951,7 +3134,7 @@ if.then.35: ; preds = %while.exit.2 %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.611, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3784,6 +3967,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @Mat4.identity(ptr sret({ [16 x float] }), ptr) #0 @@ -4717,6 +4948,54 @@ declare i1 @expired.364(ptr, i64) #0 ; Function Attrs: nounwind declare i64 @remaining_ms.365(ptr, i64) #0 +; Function Attrs: nounwind +declare ptr @find_header.366(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare i1 @ascii_ieq.367(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @reason_for.368(ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.init.369(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.close.370(ptr, ptr) #0 + +; Function Attrs: nounwind +declare i64 @Server.free_slot.371(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.conn_close.372(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i32 @Server.tick.373(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.run.374(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.accept_ready.375(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.read_more.376(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serve_buffered.377(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i1 @Server.try_serve_one.378(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serialize_response.379(ptr, ptr, i64, ptr, i1) #0 + +; Function Attrs: nounwind +declare void @Server.write_more.380(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close.381(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4767,14 +5046,14 @@ entry: define internal void @print__ct_s4f0c3447f66dcf6d__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.612, i64 28 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.648, i64 28 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.613, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.649, i64 0 }, ptr %allocaN, align 8 %load = 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 28) @@ -4790,7 +5069,7 @@ entry: ; 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.614, i64 28 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.650, i64 28 }) ret { ptr, i64 } %call } @@ -4804,7 +5083,7 @@ entry: define internal void @print__ct_s546acbc299164a0e__pack_i32_i32(ptr %0, i32 %1, i32 %2) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.615, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.651, i64 20 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca i32, align 4 @@ -4827,7 +5106,7 @@ entry: %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 2, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.616, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.652, 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 14) @@ -4867,7 +5146,7 @@ entry: ; 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.617, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.653, i64 20 }) ret { ptr, i64 } %call } @@ -4887,7 +5166,7 @@ entry: define internal void @print__ct_scc8edc2d4140bd92__pack_Shape(ptr %0, { i64, [8 x i8] } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.618, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.654, i64 15 }, ptr %alloca, align 8 %allocaN = alloca { i64, [8 x i8] }, align 8 store { i64, [8 x i8] } %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4895,7 +5174,7 @@ entry: %ba.tmp = alloca { i64, [8 x i8] }, align 8 store { i64, [8 x i8] } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 115, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 127, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4905,7 +5184,7 @@ entry: %gepN = getelementptr inbounds { 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.619, i64 0 }, ptr %allocaN, 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 12) @@ -4916,7 +5195,7 @@ entry: %ba.tmp12 = alloca { i64, [8 x i8] }, align 8 store { i64, [8 x i8] } %loadN, ptr %ba.tmp12, align 8 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 115, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 127, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4935,7 +5214,7 @@ entry: ; 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.620, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.656, i64 15 }) ret { ptr, i64 } %call } @@ -4946,35 +5225,35 @@ entry: %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.621, i64 15 }, { ptr, i64 } { ptr @str.622, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 15 }, { ptr, i64 } { ptr @str.658, 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.130 + br label %while.hdr.135 -while.hdr.130: ; preds = %fv.merge, %entry +while.hdr.135: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.131, label %while.exit.132 + br i1 %icmp, label %while.body.136, label %while.exit.137 -while.body.131: ; preds = %while.hdr.130 +while.body.136: ; preds = %while.hdr.135 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.133, label %if.merge.134 + br i1 %icmpN, label %if.then.138, label %if.merge.139 -while.exit.132: ; preds = %while.hdr.130 +while.exit.137: ; preds = %while.hdr.135 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) ret { ptr, i64 } %callN -if.then.133: ; preds = %while.body.131 +if.then.138: ; preds = %while.body.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.134 + br label %if.merge.139 -if.merge.134: ; preds = %if.then.133, %while.body.131 +if.merge.139: ; preds = %if.then.138, %while.body.136 %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 @@ -4982,7 +5261,7 @@ if.merge.134: ; preds = %if.then.133, %while %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.628, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, 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 @@ -5002,31 +5281,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.130 + br label %while.hdr.135 -fv.default: ; preds = %if.merge.134 +fv.default: ; preds = %if.merge.139 br label %fv.merge -fv.case: ; preds = %if.merge.134 +fv.case: ; preds = %if.merge.139 %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.134 +fv.case17: ; preds = %if.merge.139 %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.134 +fv.case20: ; preds = %if.merge.139 %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.134 +fv.case24: ; preds = %if.merge.139 %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 @@ -5039,43 +5318,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.629, i64 9 }, { ptr, i64 } { ptr @str.630, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 9 }, { ptr, i64 } { ptr @str.666, 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.135 + br label %while.hdr.140 -while.hdr.135: ; preds = %fv.merge, %entry +while.hdr.140: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.136, label %while.exit.137 + br i1 %icmp, label %while.body.141, label %while.exit.142 -while.body.136: ; preds = %while.hdr.135 +while.body.141: ; preds = %while.hdr.140 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.138, label %if.merge.139 + br i1 %icmpN, label %if.then.143, label %if.merge.144 -while.exit.137: ; preds = %while.hdr.135 +while.exit.142: ; preds = %while.hdr.140 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 1 }) ret { ptr, i64 } %callN -if.then.138: ; preds = %while.body.136 +if.then.143: ; preds = %while.body.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.139 + br label %if.merge.144 -if.merge.139: ; preds = %if.then.138, %while.body.136 +if.merge.144: ; preds = %if.then.143, %while.body.141 %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.636, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.672, 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.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, 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 @@ -5094,24 +5373,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.135 + br label %while.hdr.140 -fv.default: ; preds = %if.merge.139 +fv.default: ; preds = %if.merge.144 br label %fv.merge -fv.case: ; preds = %if.merge.139 +fv.case: ; preds = %if.merge.144 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.139 +fv.case17: ; preds = %if.merge.144 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.139 +fv.case21: ; preds = %if.merge.144 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -5124,43 +5403,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 7 }, { ptr, i64 } { ptr @str.675, 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.140 + br label %while.hdr.145 -while.hdr.140: ; preds = %fv.merge, %entry +while.hdr.145: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.141, label %while.exit.142 + br i1 %icmp, label %while.body.146, label %while.exit.147 -while.body.141: ; preds = %while.hdr.140 +while.body.146: ; preds = %while.hdr.145 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.143, label %if.merge.144 + br i1 %icmpN, label %if.then.148, label %if.merge.149 -while.exit.142: ; preds = %while.hdr.140 +while.exit.147: ; preds = %while.hdr.145 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) ret { ptr, i64 } %callN -if.then.143: ; preds = %while.body.141 +if.then.148: ; preds = %while.body.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.144 + br label %if.merge.149 -if.merge.144: ; preds = %if.then.143, %while.body.141 +if.merge.149: ; preds = %if.then.148, %while.body.146 %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.644, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.680, 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.645, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.681, 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 %alloca, align 8 @@ -5178,19 +5457,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.140 + br label %while.hdr.145 -fv.default: ; preds = %if.merge.144 +fv.default: ; preds = %if.merge.149 br label %fv.merge -fv.case: ; preds = %if.merge.144 +fv.case: ; preds = %if.merge.149 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.144 +fv.case17: ; preds = %if.merge.149 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -5202,43 +5481,43 @@ 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.646, i64 10 }, { ptr, i64 } { ptr @str.647, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 10 }, { ptr, i64 } { ptr @str.683, 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.145 + br label %while.hdr.150 -while.hdr.145: ; preds = %if.merge.149, %entry +while.hdr.150: ; preds = %if.merge.154, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.146, label %while.exit.147 + br i1 %icmp, label %while.body.151, label %while.exit.152 -while.body.146: ; preds = %while.hdr.145 +while.body.151: ; preds = %while.hdr.150 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.148, label %if.merge.149 + br i1 %icmpN, label %if.then.153, label %if.merge.154 -while.exit.147: ; preds = %while.hdr.145 +while.exit.152: ; preds = %while.hdr.150 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.684, i64 1 }) ret { ptr, i64 } %callN -if.then.148: ; preds = %while.body.146 +if.then.153: ; preds = %while.body.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.149 + br label %if.merge.154 -if.merge.149: ; preds = %if.then.148, %while.body.146 +if.merge.154: ; preds = %if.then.153, %while.body.151 %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.650, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.686, 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.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5249,7 +5528,7 @@ if.merge.149: ; preds = %if.then.148, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.145 + br label %while.hdr.150 } ; Function Attrs: nounwind @@ -5257,43 +5536,43 @@ 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.652, i64 3 }, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 3 }, { ptr, i64 } { ptr @str.689, 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.150 + br label %while.hdr.155 -while.hdr.150: ; preds = %fv.merge, %entry +while.hdr.155: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.151, label %while.exit.152 + br i1 %icmp, label %while.body.156, label %while.exit.157 -while.body.151: ; preds = %while.hdr.150 +while.body.156: ; preds = %while.hdr.155 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.153, label %if.merge.154 + br i1 %icmpN, label %if.then.158, label %if.merge.159 -while.exit.152: ; preds = %while.hdr.150 +while.exit.157: ; preds = %while.hdr.155 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) ret { ptr, i64 } %callN -if.then.153: ; preds = %while.body.151 +if.then.158: ; preds = %while.body.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.154 + br label %if.merge.159 -if.merge.154: ; preds = %if.then.153, %while.body.151 +if.merge.159: ; preds = %if.then.158, %while.body.156 %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.657, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.693, 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.658, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, 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 @@ -5310,12 +5589,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.150 + br label %while.hdr.155 -fv.default: ; preds = %if.merge.154 +fv.default: ; preds = %if.merge.159 br label %fv.merge -fv.case: ; preds = %if.merge.154 +fv.case: ; preds = %if.merge.159 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -5326,43 +5605,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.659, i64 10 }, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 10 }, { ptr, i64 } { ptr @str.696, 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.155 + br label %while.hdr.160 -while.hdr.155: ; preds = %fv.merge, %entry +while.hdr.160: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.156, label %while.exit.157 + br i1 %icmp, label %while.body.161, label %while.exit.162 -while.body.156: ; preds = %while.hdr.155 +while.body.161: ; preds = %while.hdr.160 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.158, label %if.merge.159 + br i1 %icmpN, label %if.then.163, label %if.merge.164 -while.exit.157: ; preds = %while.hdr.155 +while.exit.162: ; preds = %while.hdr.160 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) ret { ptr, i64 } %callN -if.then.158: ; preds = %while.body.156 +if.then.163: ; preds = %while.body.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.159 + br label %if.merge.164 -if.merge.159: ; preds = %if.then.158, %while.body.156 +if.merge.164: ; preds = %if.then.163, %while.body.161 %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.665, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.666, i64 2 }) + %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, i64 }, ptr %alloca, align 8 @@ -5380,18 +5659,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.155 + br label %while.hdr.160 -fv.default: ; preds = %if.merge.159 +fv.default: ; preds = %if.merge.164 br label %fv.merge -fv.case: ; preds = %if.merge.159 +fv.case: ; preds = %if.merge.164 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.159 +fv.case17: ; preds = %if.merge.164 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -5403,91 +5682,7 @@ 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.667, i64 5 }, { ptr, i64 } { ptr @str.668, 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.160 - -while.hdr.160: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.161, label %while.exit.162 - -while.body.161: ; preds = %while.hdr.160 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.163, label %if.merge.164 - -while.exit.162: ; preds = %while.hdr.160 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 1 }) - ret { ptr, i64 } %callN - -if.then.163: ; preds = %while.body.161 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.164 - -if.merge.164: ; preds = %if.then.163, %while.body.161 - %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.674, 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.675, 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.160 - -fv.default: ; preds = %if.merge.164 - br label %fv.merge - -fv.case: ; preds = %if.merge.164 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.164 - %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.164 - %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 21, 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.676, i64 8 }, { ptr, i64 } { ptr @str.677, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 5 }, { 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 @@ -5506,27 +5701,27 @@ while.body.166: ; preds = %while.hdr.165 while.exit.167: ; preds = %while.hdr.165 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.678, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 1 }) ret { ptr, i64 } %callN if.then.168: ; preds = %while.body.166 %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 }) + %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.169 if.merge.169: ; preds = %if.then.168, %while.body.166 %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.683, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.710, 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.684, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, 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 { 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 @@ -5548,17 +5743,101 @@ fv.default: ; preds = %if.merge.169 br label %fv.merge fv.case: ; preds = %if.merge.169 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.169 + %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.169 + %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 21, 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.712, i64 8 }, { ptr, i64 } { ptr @str.713, 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.170 + +while.hdr.170: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.171, label %while.exit.172 + +while.body.171: ; preds = %while.hdr.170 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.173, label %if.merge.174 + +while.exit.172: ; preds = %while.hdr.170 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) + ret { ptr, i64 } %callN + +if.then.173: ; preds = %while.body.171 + %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 + br label %if.merge.174 + +if.merge.174: ; preds = %if.then.173, %while.body.171 + %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.719, 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.720, 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.170 + +fv.default: ; preds = %if.merge.174 + br label %fv.merge + +fv.case: ; preds = %if.merge.174 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.169 +fv.case17: ; preds = %if.merge.174 %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.169 +fv.case20: ; preds = %if.merge.174 %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 @@ -5570,43 +5849,43 @@ 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.685, i64 17 }, { ptr, i64 } { ptr @str.686, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 17 }, { ptr, i64 } { ptr @str.722, 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.170 + br label %while.hdr.175 -while.hdr.170: ; preds = %fv.merge, %entry +while.hdr.175: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.171, label %while.exit.172 + br i1 %icmp, label %while.body.176, label %while.exit.177 -while.body.171: ; preds = %while.hdr.170 +while.body.176: ; preds = %while.hdr.175 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.173, label %if.merge.174 + br i1 %icmpN, label %if.then.178, label %if.merge.179 -while.exit.172: ; preds = %while.hdr.170 +while.exit.177: ; preds = %while.hdr.175 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %callN -if.then.173: ; preds = %while.body.171 +if.then.178: ; preds = %while.body.176 %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 }) + %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 - br label %if.merge.174 + br label %if.merge.179 -if.merge.174: ; preds = %if.then.173, %while.body.171 +if.merge.179: ; preds = %if.then.178, %while.body.176 %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.693, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.729, 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.694, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, 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 @@ -5626,29 +5905,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.170 + br label %while.hdr.175 -fv.default: ; preds = %if.merge.174 +fv.default: ; preds = %if.merge.179 br label %fv.merge -fv.case: ; preds = %if.merge.174 +fv.case: ; preds = %if.merge.179 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.174 +fv.case17: ; preds = %if.merge.179 %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.174 +fv.case20: ; preds = %if.merge.179 %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.174 +fv.case23: ; preds = %if.merge.179 %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 @@ -5659,43 +5938,43 @@ 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.695, i64 4 }, { ptr, i64 } { ptr @str.696, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 4 }, { ptr, i64 } { ptr @str.732, 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.175 + br label %while.hdr.180 -while.hdr.175: ; preds = %fv.merge, %entry +while.hdr.180: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.176, label %while.exit.177 + br i1 %icmp, label %while.body.181, label %while.exit.182 -while.body.176: ; preds = %while.hdr.175 +while.body.181: ; preds = %while.hdr.180 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.178, label %if.merge.179 + br i1 %icmpN, label %if.then.183, label %if.merge.184 -while.exit.177: ; preds = %while.hdr.175 +while.exit.182: ; preds = %while.hdr.180 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 1 }) ret { ptr, i64 } %callN -if.then.178: ; preds = %while.body.176 +if.then.183: ; preds = %while.body.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.179 + br label %if.merge.184 -if.merge.179: ; preds = %if.then.178, %while.body.176 +if.merge.184: ; preds = %if.then.183, %while.body.181 %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.700, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.736, 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.701, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, 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 @@ -5712,12 +5991,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.175 + br label %while.hdr.180 -fv.default: ; preds = %if.merge.179 +fv.default: ; preds = %if.merge.184 br label %fv.merge -fv.case: ; preds = %if.merge.179 +fv.case: ; preds = %if.merge.184 %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 @@ -5732,43 +6011,43 @@ entry: %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.702, i64 10 }, { ptr, i64 } { ptr @str.703, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 10 }, { ptr, i64 } { ptr @str.739, 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.180 + br label %while.hdr.185 -while.hdr.180: ; preds = %fv.merge, %entry +while.hdr.185: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.181, label %while.exit.182 + br i1 %icmp, label %while.body.186, label %while.exit.187 -while.body.181: ; preds = %while.hdr.180 +while.body.186: ; preds = %while.hdr.185 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.183, label %if.merge.184 + br i1 %icmpN, label %if.then.188, label %if.merge.189 -while.exit.182: ; preds = %while.hdr.180 +while.exit.187: ; preds = %while.hdr.185 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) ret { ptr, i64 } %callN -if.then.183: ; preds = %while.body.181 +if.then.188: ; preds = %while.body.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.184 + br label %if.merge.189 -if.merge.184: ; preds = %if.then.183, %while.body.181 +if.merge.189: ; preds = %if.then.188, %while.body.186 %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.711, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.747, 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.712, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5789,38 +6068,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.180 + br label %while.hdr.185 -fv.default: ; preds = %if.merge.184 +fv.default: ; preds = %if.merge.189 br label %fv.merge -fv.case: ; preds = %if.merge.184 +fv.case: ; preds = %if.merge.189 %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.184 +fv.case17: ; preds = %if.merge.189 %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.184 +fv.case20: ; preds = %if.merge.189 %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.184 +fv.case24: ; preds = %if.merge.189 %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.184 +fv.case29: ; preds = %if.merge.189 %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 @@ -5834,43 +6113,43 @@ 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.713, i64 13 }, { ptr, i64 } { ptr @str.714, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 13 }, { ptr, i64 } { ptr @str.750, 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.185 + br label %while.hdr.190 -while.hdr.185: ; preds = %fv.merge, %entry +while.hdr.190: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.186, label %while.exit.187 + br i1 %icmp, label %while.body.191, label %while.exit.192 -while.body.186: ; preds = %while.hdr.185 +while.body.191: ; preds = %while.hdr.190 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.188, label %if.merge.189 + br i1 %icmpN, label %if.then.193, label %if.merge.194 -while.exit.187: ; preds = %while.hdr.185 +while.exit.192: ; preds = %while.hdr.190 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.751, i64 1 }) ret { ptr, i64 } %callN -if.then.188: ; preds = %while.body.186 +if.then.193: ; preds = %while.body.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.189 + br label %if.merge.194 -if.merge.189: ; preds = %if.then.188, %while.body.186 +if.merge.194: ; preds = %if.then.193, %while.body.191 %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.719, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.755, 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.720, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, 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 @@ -5888,18 +6167,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.185 + br label %while.hdr.190 -fv.default: ; preds = %if.merge.189 +fv.default: ; preds = %if.merge.194 br label %fv.merge -fv.case: ; preds = %if.merge.189 +fv.case: ; preds = %if.merge.194 %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.189 +fv.case17: ; preds = %if.merge.194 %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 @@ -5912,43 +6191,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.721, i64 8 }, { ptr, i64 } { ptr @str.722, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 8 }, { ptr, i64 } { ptr @str.758, 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.190 + br label %while.hdr.195 -while.hdr.190: ; preds = %fv.merge, %entry +while.hdr.195: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.191, label %while.exit.192 + br i1 %icmp, label %while.body.196, label %while.exit.197 -while.body.191: ; preds = %while.hdr.190 +while.body.196: ; preds = %while.hdr.195 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.193, label %if.merge.194 + br i1 %icmpN, label %if.then.198, label %if.merge.199 -while.exit.192: ; preds = %while.hdr.190 +while.exit.197: ; preds = %while.hdr.195 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.759, i64 1 }) ret { ptr, i64 } %callN -if.then.193: ; preds = %while.body.191 +if.then.198: ; preds = %while.body.196 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.760, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.194 + br label %if.merge.199 -if.merge.194: ; preds = %if.then.193, %while.body.191 +if.merge.199: ; preds = %if.then.198, %while.body.196 %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.730, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.766, 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.731, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.767, 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 @@ -5969,36 +6248,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.190 + br label %while.hdr.195 -fv.default: ; preds = %if.merge.194 +fv.default: ; preds = %if.merge.199 br label %fv.merge -fv.case: ; preds = %if.merge.194 +fv.case: ; preds = %if.merge.199 %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.194 +fv.case17: ; preds = %if.merge.199 %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.194 +fv.case21: ; preds = %if.merge.199 %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.194 +fv.case25: ; preds = %if.merge.199 %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.194 +fv.case29: ; preds = %if.merge.199 %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 @@ -6009,89 +6288,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.732, i64 5 }, { ptr, i64 } { ptr @str.733, 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.195 - -while.hdr.195: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.196, label %while.exit.197 - -while.body.196: ; preds = %while.hdr.195 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.198, label %if.merge.199 - -while.exit.197: ; preds = %while.hdr.195 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) - ret { ptr, i64 } %callN - -if.then.198: ; preds = %while.body.196 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.199 - -if.merge.199: ; preds = %if.then.198, %while.body.196 - %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.739, 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.740, 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.195 - -fv.default: ; preds = %if.merge.199 - br label %fv.merge - -fv.case: ; preds = %if.merge.199 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.199 - %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.199 - %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.741, i64 6 }, { ptr, i64 } { ptr @str.742, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 5 }, { ptr, i64 } { ptr @str.769, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6110,24 +6307,24 @@ while.body.201: ; preds = %while.hdr.200 while.exit.202: ; preds = %while.hdr.200 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.770, i64 1 }) ret { ptr, i64 } %callN if.then.203: ; preds = %while.body.201 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.204 if.merge.204: ; preds = %if.then.203, %while.body.201 %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.748, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.775, 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.749, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, 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 @@ -6154,7 +6351,7 @@ fv.default: ; preds = %if.merge.204 fv.case: ; preds = %if.merge.204 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.204 @@ -6169,13 +6366,11 @@ fv.case20: ; preds = %if.merge.204 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.750, i64 6 }, { ptr, i64 } { ptr @str.751, i64 1 }) + %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.777, i64 6 }, { ptr, i64 } { ptr @str.778, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6184,7 +6379,7 @@ entry: while.hdr.205: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.206, label %while.exit.207 while.body.206: ; preds = %while.hdr.205 @@ -6194,24 +6389,108 @@ while.body.206: ; preds = %while.hdr.205 while.exit.207: ; preds = %while.hdr.205 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 1 }) ret { ptr, i64 } %callN if.then.208: ; preds = %while.body.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.209 if.merge.209: ; preds = %if.then.208, %while.body.206 %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.756, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.784, 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.757, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, 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.205 + +fv.default: ; preds = %if.merge.209 + br label %fv.merge + +fv.case: ; preds = %if.merge.209 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.209 + %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.209 + %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.786, i64 6 }, { ptr, i64 } { ptr @str.787, 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.210 + +while.hdr.210: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.211, label %while.exit.212 + +while.body.211: ; preds = %while.hdr.210 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.213, label %if.merge.214 + +while.exit.212: ; preds = %while.hdr.210 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 1 }) + ret { ptr, i64 } %callN + +if.then.213: ; preds = %while.body.211 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.214 + +if.merge.214: ; preds = %if.then.213, %while.body.211 + %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.792, 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.793, 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 @@ -6229,19 +6508,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.205 + br label %while.hdr.210 -fv.default: ; preds = %if.merge.209 +fv.default: ; preds = %if.merge.214 br label %fv.merge -fv.case: ; preds = %if.merge.209 +fv.case: ; preds = %if.merge.214 %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.209 +fv.case17: ; preds = %if.merge.214 %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 @@ -6255,93 +6534,7 @@ 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.758, i64 4 }, { ptr, i64 } { ptr @str.759, 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.210 - -while.hdr.210: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.211, label %while.exit.212 - -while.body.211: ; preds = %while.hdr.210 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.213, label %if.merge.214 - -while.exit.212: ; preds = %while.hdr.210 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.760, i64 1 }) - ret { ptr, i64 } %callN - -if.then.213: ; preds = %while.body.211 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.761, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.214 - -if.merge.214: ; preds = %if.then.213, %while.body.211 - %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.765, 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.766, 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.210 - -fv.default: ; preds = %if.merge.214 - br label %fv.merge - -fv.case: ; preds = %if.merge.214 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.214 - %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.214 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.767, i64 6 }, { ptr, i64 } { ptr @str.768, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 4 }, { ptr, i64 } { ptr @str.795, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6360,24 +6553,110 @@ while.body.216: ; preds = %while.hdr.215 while.exit.217: ; preds = %while.hdr.215 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.769, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.796, i64 1 }) ret { ptr, i64 } %callN if.then.218: ; preds = %while.body.216 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.770, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.219 if.merge.219: ; preds = %if.then.218, %while.body.216 %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.774, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.801, 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.775, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, 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.215 + +fv.default: ; preds = %if.merge.219 + br label %fv.merge + +fv.case: ; preds = %if.merge.219 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.219 + %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.219 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.803, i64 6 }, { ptr, i64 } { ptr @str.804, 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.220 + +while.hdr.220: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.221, label %while.exit.222 + +while.body.221: ; preds = %while.hdr.220 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.223, label %if.merge.224 + +while.exit.222: ; preds = %while.hdr.220 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.805, i64 1 }) + ret { ptr, i64 } %callN + +if.then.223: ; preds = %while.body.221 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.224 + +if.merge.224: ; preds = %if.then.223, %while.body.221 + %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.810, 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.811, 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 @@ -6396,24 +6675,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.215 + br label %while.hdr.220 -fv.default: ; preds = %if.merge.219 +fv.default: ; preds = %if.merge.224 br label %fv.merge -fv.case: ; preds = %if.merge.219 +fv.case: ; preds = %if.merge.224 %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.219 +fv.case17: ; preds = %if.merge.224 %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.219 +fv.case20: ; preds = %if.merge.224 %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 @@ -6426,43 +6705,43 @@ 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.776, i64 12 }, { ptr, i64 } { ptr @str.777, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 12 }, { ptr, i64 } { ptr @str.813, 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.220 + br label %while.hdr.225 -while.hdr.220: ; preds = %if.merge.224, %entry +while.hdr.225: ; preds = %if.merge.229, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.221, label %while.exit.222 + br i1 %icmp, label %while.body.226, label %while.exit.227 -while.body.221: ; preds = %while.hdr.220 +while.body.226: ; preds = %while.hdr.225 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.223, label %if.merge.224 + br i1 %icmpN, label %if.then.228, label %if.merge.229 -while.exit.222: ; preds = %while.hdr.220 +while.exit.227: ; preds = %while.hdr.225 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.814, i64 1 }) ret { ptr, i64 } %callN -if.then.223: ; preds = %while.body.221 +if.then.228: ; preds = %while.body.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.815, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.224 + br label %if.merge.229 -if.merge.224: ; preds = %if.then.223, %while.body.221 +if.merge.229: ; preds = %if.then.228, %while.body.226 %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.780, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.816, 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.781, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6473,7 +6752,7 @@ if.merge.224: ; preds = %if.then.223, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.220 + br label %while.hdr.225 } ; Function Attrs: nounwind @@ -6482,95 +6761,7 @@ 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.782, i64 8 }, { ptr, i64 } { ptr @str.783, 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.225 - -while.hdr.225: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.226, label %while.exit.227 - -while.body.226: ; preds = %while.hdr.225 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.228, label %if.merge.229 - -while.exit.227: ; preds = %while.hdr.225 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.784, i64 1 }) - ret { ptr, i64 } %callN - -if.then.228: ; preds = %while.body.226 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.229 - -if.merge.229: ; preds = %if.then.228, %while.body.226 - %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.789, 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.790, 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.225 - -fv.default: ; preds = %if.merge.229 - br label %fv.merge - -fv.case: ; preds = %if.merge.229 - %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.229 - %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.229 - %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.791, i64 7 }, { ptr, i64 } { ptr @str.792, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 8 }, { ptr, i64 } { ptr @str.819, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6589,24 +6780,112 @@ while.body.231: ; preds = %while.hdr.230 while.exit.232: ; preds = %while.hdr.230 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.820, i64 1 }) ret { ptr, i64 } %callN if.then.233: ; preds = %while.body.231 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.821, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.234 if.merge.234: ; preds = %if.then.233, %while.body.231 %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.798, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.825, 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.799, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.826, 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.230 + +fv.default: ; preds = %if.merge.234 + br label %fv.merge + +fv.case: ; preds = %if.merge.234 + %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.234 + %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.234 + %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.827, i64 7 }, { ptr, i64 } { ptr @str.828, 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.235 + +while.hdr.235: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.236, label %while.exit.237 + +while.body.236: ; preds = %while.hdr.235 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.238, label %if.merge.239 + +while.exit.237: ; preds = %while.hdr.235 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.829, i64 1 }) + ret { ptr, i64 } %callN + +if.then.238: ; preds = %while.body.236 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.830, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.239 + +if.merge.239: ; preds = %if.then.238, %while.body.236 + %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.834, 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.835, 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 @@ -6625,26 +6904,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.230 + br label %while.hdr.235 -fv.default: ; preds = %if.merge.234 +fv.default: ; preds = %if.merge.239 br label %fv.merge -fv.case: ; preds = %if.merge.234 +fv.case: ; preds = %if.merge.239 %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.234 +fv.case17: ; preds = %if.merge.239 %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.234 +fv.case22: ; preds = %if.merge.239 %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 @@ -6658,86 +6937,7 @@ 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.800, i64 9 }, { ptr, i64 } { ptr @str.801, 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.235 - -while.hdr.235: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.236, label %while.exit.237 - -while.body.236: ; preds = %while.hdr.235 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.238, label %if.merge.239 - -while.exit.237: ; preds = %while.hdr.235 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 1 }) - ret { ptr, i64 } %callN - -if.then.238: ; preds = %while.body.236 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.239 - -if.merge.239: ; preds = %if.then.238, %while.body.236 - %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.806, 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.807, 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.235 - -fv.default: ; preds = %if.merge.239 - br label %fv.merge - -fv.case: ; preds = %if.merge.239 - %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.239 - %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.808, i64 4 }, { ptr, i64 } { ptr @str.809, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 9 }, { ptr, i64 } { ptr @str.837, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6756,27 +6956,27 @@ while.body.241: ; preds = %while.hdr.240 while.exit.242: ; preds = %while.hdr.240 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.838, i64 1 }) ret { ptr, i64 } %callN if.then.243: ; preds = %while.body.241 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.839, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.244 if.merge.244: ; preds = %if.then.243, %while.body.241 %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.814, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.842, 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.815, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.843, 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 { 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 @@ -6797,11 +6997,90 @@ fv.default: ; preds = %if.merge.244 br label %fv.merge fv.case: ; preds = %if.merge.244 + %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.244 + %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.844, i64 4 }, { ptr, i64 } { ptr @str.845, 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.245 + +while.hdr.245: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.246, label %while.exit.247 + +while.body.246: ; preds = %while.hdr.245 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.248, label %if.merge.249 + +while.exit.247: ; preds = %while.hdr.245 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.846, i64 1 }) + ret { ptr, i64 } %callN + +if.then.248: ; preds = %while.body.246 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.847, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.249 + +if.merge.249: ; preds = %if.then.248, %while.body.246 + %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.850, 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.851, 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.245 + +fv.default: ; preds = %if.merge.249 + br label %fv.merge + +fv.case: ; preds = %if.merge.249 %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.244 +fv.case17: ; preds = %if.merge.249 %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 @@ -6819,43 +7098,43 @@ entry: %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.816, i64 6 }, { ptr, i64 } { ptr @str.817, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 6 }, { ptr, i64 } { ptr @str.853, 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.245 + br label %while.hdr.250 -while.hdr.245: ; preds = %fv.merge, %entry +while.hdr.250: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.246, label %while.exit.247 + br i1 %icmp, label %while.body.251, label %while.exit.252 -while.body.246: ; preds = %while.hdr.245 +while.body.251: ; preds = %while.hdr.250 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.248, label %if.merge.249 + br i1 %icmpN, label %if.then.253, label %if.merge.254 -while.exit.247: ; preds = %while.hdr.245 +while.exit.252: ; preds = %while.hdr.250 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.818, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.854, i64 1 }) ret { ptr, i64 } %callN -if.then.248: ; preds = %while.body.246 +if.then.253: ; preds = %while.body.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.819, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.855, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.249 + br label %if.merge.254 -if.merge.249: ; preds = %if.then.248, %while.body.246 +if.merge.254: ; preds = %if.then.253, %while.body.251 %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.827, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.863, 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.828, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.864, 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 @@ -6878,51 +7157,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.245 + br label %while.hdr.250 -fv.default: ; preds = %if.merge.249 +fv.default: ; preds = %if.merge.254 br label %fv.merge -fv.case: ; preds = %if.merge.249 +fv.case: ; preds = %if.merge.254 %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.249 +fv.case17: ; preds = %if.merge.254 %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.249 +fv.case22: ; preds = %if.merge.254 %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.249 +fv.case25: ; preds = %if.merge.254 %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.249 +fv.case28: ; preds = %if.merge.254 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.249 +fv.case33: ; preds = %if.merge.254 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.249 +fv.case38: ; preds = %if.merge.254 %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 @@ -6937,43 +7216,43 @@ entry: %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.829, i64 6 }, { ptr, i64 } { ptr @str.830, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 6 }, { ptr, i64 } { ptr @str.866, 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.250 + br label %while.hdr.255 -while.hdr.250: ; preds = %fv.merge, %entry +while.hdr.255: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.251, label %while.exit.252 + br i1 %icmp, label %while.body.256, label %while.exit.257 -while.body.251: ; preds = %while.hdr.250 +while.body.256: ; preds = %while.hdr.255 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.253, label %if.merge.254 + br i1 %icmpN, label %if.then.258, label %if.merge.259 -while.exit.252: ; preds = %while.hdr.250 +while.exit.257: ; preds = %while.hdr.255 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.831, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.867, i64 1 }) ret { ptr, i64 } %callN -if.then.253: ; preds = %while.body.251 +if.then.258: ; preds = %while.body.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.832, i64 2 }) + %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 - br label %if.merge.254 + br label %if.merge.259 -if.merge.254: ; preds = %if.then.253, %while.body.251 +if.merge.259: ; preds = %if.then.258, %while.body.256 %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.837, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.873, 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.838, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.874, 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 @@ -6993,31 +7272,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.250 + br label %while.hdr.255 -fv.default: ; preds = %if.merge.254 +fv.default: ; preds = %if.merge.259 br label %fv.merge -fv.case: ; preds = %if.merge.254 +fv.case: ; preds = %if.merge.259 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.254 +fv.case17: ; preds = %if.merge.259 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.254 +fv.case22: ; preds = %if.merge.259 %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.254 +fv.case25: ; preds = %if.merge.259 %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 @@ -7028,43 +7307,43 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.839, i64 8 }, { ptr, i64 } { ptr @str.840, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 8 }, { ptr, i64 } { ptr @str.876, 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.255 + br label %while.hdr.260 -while.hdr.255: ; preds = %fv.merge, %entry +while.hdr.260: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.256, label %while.exit.257 + br i1 %icmp, label %while.body.261, label %while.exit.262 -while.body.256: ; preds = %while.hdr.255 +while.body.261: ; preds = %while.hdr.260 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.258, label %if.merge.259 + br i1 %icmpN, label %if.then.263, label %if.merge.264 -while.exit.257: ; preds = %while.hdr.255 +while.exit.262: ; preds = %while.hdr.260 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.841, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 1 }) ret { ptr, i64 } %callN -if.then.258: ; preds = %while.body.256 +if.then.263: ; preds = %while.body.261 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.878, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.259 + br label %if.merge.264 -if.merge.259: ; preds = %if.then.258, %while.body.256 +if.merge.264: ; preds = %if.then.263, %while.body.261 %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.845, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.881, 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.846, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.882, 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 @@ -7082,17 +7361,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.255 + br label %while.hdr.260 -fv.default: ; preds = %if.merge.259 +fv.default: ; preds = %if.merge.264 br label %fv.merge -fv.case: ; preds = %if.merge.259 +fv.case: ; preds = %if.merge.264 %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.259 +fv.case17: ; preds = %if.merge.264 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7103,43 +7382,43 @@ define internal { ptr, i64 } @struct_to_string__Kevent(ptr %0, { i64, i16, i16, 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.847, i64 6 }, { ptr, i64 } { ptr @str.848, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.883, i64 6 }, { ptr, i64 } { ptr @str.884, 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.260 + br label %while.hdr.265 -while.hdr.260: ; preds = %fv.merge, %entry +while.hdr.265: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 6 - br i1 %icmp, label %while.body.261, label %while.exit.262 + br i1 %icmp, label %while.body.266, label %while.exit.267 -while.body.261: ; preds = %while.hdr.260 +while.body.266: ; preds = %while.hdr.265 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.263, label %if.merge.264 + br i1 %icmpN, label %if.then.268, label %if.merge.269 -while.exit.262: ; preds = %while.hdr.260 +while.exit.267: ; preds = %while.hdr.265 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.849, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.885, i64 1 }) ret { ptr, i64 } %callN -if.then.263: ; preds = %while.body.261 +if.then.268: ; preds = %while.body.266 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.886, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.264 + br label %if.merge.269 -if.merge.264: ; preds = %if.then.263, %while.body.261 +if.merge.269: ; preds = %if.then.268, %while.body.266 %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.857, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.893, 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.858, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.894, 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 @@ -7161,40 +7440,40 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.260 + br label %while.hdr.265 -fv.default: ; preds = %if.merge.264 +fv.default: ; preds = %if.merge.269 br label %fv.merge -fv.case: ; preds = %if.merge.264 +fv.case: ; preds = %if.merge.269 %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.264 +fv.case17: ; preds = %if.merge.269 %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.264 +fv.case20: ; preds = %if.merge.269 %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.264 +fv.case23: ; preds = %if.merge.269 %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.264 +fv.case27: ; preds = %if.merge.269 %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.264 +fv.case30: ; preds = %if.merge.269 %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 @@ -7205,43 +7484,43 @@ define internal { ptr, i64 } @struct_to_string__KqTimespec(ptr %0, { i64, i64 } 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.859, i64 10 }, { ptr, i64 } { ptr @str.860, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.895, i64 10 }, { ptr, i64 } { ptr @str.896, 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.265 + br label %while.hdr.270 -while.hdr.265: ; preds = %fv.merge, %entry +while.hdr.270: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.266, label %while.exit.267 + br i1 %icmp, label %while.body.271, label %while.exit.272 -while.body.266: ; preds = %while.hdr.265 +while.body.271: ; preds = %while.hdr.270 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.268, label %if.merge.269 + br i1 %icmpN, label %if.then.273, label %if.merge.274 -while.exit.267: ; preds = %while.hdr.265 +while.exit.272: ; preds = %while.hdr.270 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.861, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, i64 1 }) ret { ptr, i64 } %callN -if.then.268: ; preds = %while.body.266 +if.then.273: ; preds = %while.body.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.862, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.898, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.269 + br label %if.merge.274 -if.merge.269: ; preds = %if.then.268, %while.body.266 +if.merge.274: ; preds = %if.then.273, %while.body.271 %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.865, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.901, 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.866, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.902, 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 @@ -7259,17 +7538,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.265 + br label %while.hdr.270 -fv.default: ; preds = %if.merge.269 +fv.default: ; preds = %if.merge.274 br label %fv.merge -fv.case: ; preds = %if.merge.269 +fv.case: ; preds = %if.merge.274 %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.269 +fv.case17: ; preds = %if.merge.274 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7280,43 +7559,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 5 }, { ptr, i64 } { ptr @str.868, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 5 }, { ptr, i64 } { ptr @str.904, 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.270 + br label %while.hdr.275 -while.hdr.270: ; preds = %fv.merge, %entry +while.hdr.275: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.271, label %while.exit.272 + br i1 %icmp, label %while.body.276, label %while.exit.277 -while.body.271: ; preds = %while.hdr.270 +while.body.276: ; preds = %while.hdr.275 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.273, label %if.merge.274 + br i1 %icmpN, label %if.then.278, label %if.merge.279 -while.exit.272: ; preds = %while.hdr.270 +while.exit.277: ; preds = %while.hdr.275 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.869, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.905, i64 1 }) ret { ptr, i64 } %callN -if.then.273: ; preds = %while.body.271 +if.then.278: ; preds = %while.body.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.870, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.906, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.274 + br label %if.merge.279 -if.merge.274: ; preds = %if.then.273, %while.body.271 +if.merge.279: ; preds = %if.then.278, %while.body.276 %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.878, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.914, 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.879, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.915, 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, i64 }, ptr %alloca, align 8 @@ -7339,47 +7618,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.270 + br label %while.hdr.275 -fv.default: ; preds = %if.merge.274 +fv.default: ; preds = %if.merge.279 br label %fv.merge -fv.case: ; preds = %if.merge.274 +fv.case: ; preds = %if.merge.279 %fv.field = extractvalue { i32, i64, 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.274 +fv.case17: ; preds = %if.merge.279 %fv.field18 = extractvalue { i32, i64, 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.274 +fv.case20: ; preds = %if.merge.279 %fv.field21 = extractvalue { i32, i64, 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.274 +fv.case23: ; preds = %if.merge.279 %fv.field24 = extractvalue { i32, i64, 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.274 +fv.case27: ; preds = %if.merge.279 %fv.field28 = extractvalue { i32, i64, 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.274 +fv.case31: ; preds = %if.merge.279 %fv.field32 = extractvalue { i32, i64, 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.274 +fv.case35: ; preds = %if.merge.279 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -7390,78 +7669,7 @@ 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.880, i64 4 }, { ptr, i64 } { ptr @str.881, 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.275 - -while.hdr.275: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.276, label %while.exit.277 - -while.body.276: ; preds = %while.hdr.275 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.278, label %if.merge.279 - -while.exit.277: ; preds = %while.hdr.275 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.882, i64 1 }) - ret { ptr, i64 } %callN - -if.then.278: ; preds = %while.body.276 - %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 - br label %if.merge.279 - -if.merge.279: ; preds = %if.then.278, %while.body.276 - %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.885, 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.886, 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.275 - -fv.default: ; preds = %if.merge.279 - br label %fv.merge - -fv.case: ; preds = %if.merge.279 - %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__Mat4(ptr %0, { [16 x float] } %1) #0 { -entry: - %alloca = alloca { [16 x float] }, align 8 - %ba.tmp = alloca [16 x float], align 4 - store { [16 x float] } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 4 }, { ptr, i64 } { ptr @str.888, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.916, i64 4 }, { ptr, i64 } { ptr @str.917, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7480,27 +7688,27 @@ while.body.281: ; preds = %while.hdr.280 while.exit.282: ; preds = %while.hdr.280 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.889, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.918, i64 1 }) ret { ptr, i64 } %callN if.then.283: ; preds = %while.body.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.890, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.919, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.284 if.merge.284: ; preds = %if.then.283, %while.body.281 %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.892, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.921, 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.893, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.922, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { [16 x float] }, ptr %alloca, align 4 + %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 @@ -7520,19 +7728,18 @@ fv.default: ; preds = %if.merge.284 br label %fv.merge fv.case: ; preds = %if.merge.284 - %fv.field = extractvalue { [16 x float] } %loadN, 0 - store [16 x float] %fv.field, ptr %ba.tmp, align 4 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %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__Vec2(ptr %0, { float, float } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %1) #0 { entry: - %alloca = alloca { float, float }, align 8 - store { float, float } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, i64 4 }, { ptr, i64 } { ptr @str.895, i64 1 }) + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 6 }, { ptr, i64 } { ptr @str.924, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7541,7 +7748,7 @@ entry: while.hdr.285: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 7 br i1 %icmp, label %while.body.286, label %while.exit.287 while.body.286: ; preds = %while.hdr.285 @@ -7551,24 +7758,659 @@ while.body.286: ; preds = %while.hdr.285 while.exit.287: ; preds = %while.hdr.285 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.896, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.925, i64 1 }) ret { ptr, i64 } %callN if.then.288: ; preds = %while.body.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.926, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.289 if.merge.289: ; preds = %if.then.288, %while.body.286 %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.900, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.934, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.935, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.285 + +fv.default: ; preds = %if.merge.289 + br label %fv.merge + +fv.case: ; preds = %if.merge.289 + %fv.field = extractvalue { i64, i32, 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.289 + %fv.field18 = extractvalue { i64, i32, 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.289 + %fv.field21 = extractvalue { i64, i32, 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.289 + %fv.field24 = extractvalue { i64, i32, 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.289 + %fv.field27 = extractvalue { i64, i32, 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.289 + %fv.field30 = extractvalue { i64, i32, 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.289 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.936, i64 7 }, { ptr, i64 } { ptr @str.937, 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.290 + +while.hdr.290: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.291, label %while.exit.292 + +while.body.291: ; preds = %while.hdr.290 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.293, label %if.merge.294 + +while.exit.292: ; preds = %while.hdr.290 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.938, i64 1 }) + ret { ptr, i64 } %callN + +if.then.293: ; preds = %while.body.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.939, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.294 + +if.merge.294: ; preds = %if.then.293, %while.body.291 + %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.946, 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.947, 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.290 + +fv.default: ; preds = %if.merge.294 + br label %fv.merge + +fv.case: ; preds = %if.merge.294 + %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.294 + %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.294 + %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.294 + %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.294 + %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.294 + %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.948, i64 8 }, { ptr, i64 } { ptr @str.949, 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.295 + +while.hdr.295: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.296, label %while.exit.297 + +while.body.296: ; preds = %while.hdr.295 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.298, label %if.merge.299 + +while.exit.297: ; preds = %while.hdr.295 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.950, i64 1 }) + ret { ptr, i64 } %callN + +if.then.298: ; preds = %while.body.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.951, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.299 + +if.merge.299: ; preds = %if.then.298, %while.body.296 + %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.956, 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.957, 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.295 + +fv.default: ; preds = %if.merge.299 + br label %fv.merge + +fv.case: ; preds = %if.merge.299 + %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.299 + %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.299 + %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.299 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.958, i64 4 }, { ptr, i64 } { ptr @str.959, 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.300 + +while.hdr.300: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.301, label %while.exit.302 + +while.body.301: ; preds = %while.hdr.300 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.303, label %if.merge.304 + +while.exit.302: ; preds = %while.hdr.300 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.960, i64 1 }) + ret { ptr, i64 } %callN + +if.then.303: ; preds = %while.body.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.961, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.304 + +if.merge.304: ; preds = %if.then.303, %while.body.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 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, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.300 + +fv.default: ; preds = %if.merge.304 + br label %fv.merge + +fv.case: ; preds = %if.merge.304 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.304 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.304 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.304 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.304 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.304 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.304 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.304 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.304 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.304 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.304 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.975, i64 6 }, { 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.305 + +while.hdr.305: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.306, label %while.exit.307 + +while.body.306: ; preds = %while.hdr.305 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.308, label %if.merge.309 + +while.exit.307: ; preds = %while.hdr.305 + %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.308: ; preds = %while.body.306 + %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.309 + +if.merge.309: ; preds = %if.then.308, %while.body.306 + %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.985, 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.986, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.305 + +fv.default: ; preds = %if.merge.309 + br label %fv.merge + +fv.case: ; preds = %if.merge.309 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.309 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.309 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.309 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.309 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.309 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %1) #0 { +entry: + %alloca = alloca { [16 x float] }, align 8 + %ba.tmp = alloca [16 x float], align 4 + store { [16 x float] } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.987, i64 4 }, { ptr, i64 } { ptr @str.988, 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.310 + +while.hdr.310: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.311, label %while.exit.312 + +while.body.311: ; preds = %while.hdr.310 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.313, label %if.merge.314 + +while.exit.312: ; preds = %while.hdr.310 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.989, i64 1 }) + ret { ptr, i64 } %callN + +if.then.313: ; preds = %while.body.311 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.990, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.314 + +if.merge.314: ; preds = %if.then.313, %while.body.311 + %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.992, 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.993, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { [16 x float] }, 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.310 + +fv.default: ; preds = %if.merge.314 + br label %fv.merge + +fv.case: ; preds = %if.merge.314 + %fv.field = extractvalue { [16 x float] } %loadN, 0 + store [16 x float] %fv.field, ptr %ba.tmp, align 4 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1) #0 { +entry: + %alloca = alloca { float, float }, align 8 + store { float, float } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.994, i64 4 }, { ptr, i64 } { ptr @str.995, 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.315 + +while.hdr.315: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.316, label %while.exit.317 + +while.body.316: ; preds = %while.hdr.315 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.318, label %if.merge.319 + +while.exit.317: ; preds = %while.hdr.315 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.996, i64 1 }) + ret { ptr, i64 } %callN + +if.then.318: ; preds = %while.body.316 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.997, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.319 + +if.merge.319: ; preds = %if.then.318, %while.body.316 + %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.1000, 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.1001, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -7586,19 +8428,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.285 + br label %while.hdr.315 -fv.default: ; preds = %if.merge.289 +fv.default: ; preds = %if.merge.319 br label %fv.merge -fv.case: ; preds = %if.merge.289 +fv.case: ; preds = %if.merge.319 %fv.field = extractvalue { float, float } %loadN, 0 %fNi32 = bitcast float %fv.field to i32 %zN = zext i32 %fNi32 to i64 %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.289 +fv.case17: ; preds = %if.merge.319 %fv.field18 = extractvalue { float, float } %loadN, 1 %fNi3219 = bitcast float %fv.field18 to i32 %zN = zext i32 %fNi3219 to i64 @@ -7611,43 +8453,43 @@ define internal { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %1) # entry: %alloca = alloca { i32, i32 }, align 8 store { i32, i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 5 }, { ptr, i64 } { ptr @str.903, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1002, i64 5 }, { ptr, i64 } { ptr @str.1003, 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.290 + br label %while.hdr.320 -while.hdr.290: ; preds = %fv.merge, %entry +while.hdr.320: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.291, label %while.exit.292 + br i1 %icmp, label %while.body.321, label %while.exit.322 -while.body.291: ; preds = %while.hdr.290 +while.body.321: ; preds = %while.hdr.320 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.293, label %if.merge.294 + br i1 %icmpN, label %if.then.323, label %if.merge.324 -while.exit.292: ; preds = %while.hdr.290 +while.exit.322: ; preds = %while.hdr.320 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1004, i64 1 }) ret { ptr, i64 } %callN -if.then.293: ; preds = %while.body.291 +if.then.323: ; preds = %while.body.321 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1005, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.294 + br label %if.merge.324 -if.merge.294: ; preds = %if.then.293, %while.body.291 +if.merge.324: ; preds = %if.then.323, %while.body.321 %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.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.1008, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1009, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -7665,18 +8507,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.290 + br label %while.hdr.320 -fv.default: ; preds = %if.merge.294 +fv.default: ; preds = %if.merge.324 br label %fv.merge -fv.case: ; preds = %if.merge.294 +fv.case: ; preds = %if.merge.324 %fv.field = extractvalue { i32, 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 -fv.case17: ; preds = %if.merge.294 +fv.case17: ; preds = %if.merge.324 %fv.field18 = extractvalue { i32, i32 } %loadN, 1 %iN = sext i32 %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 @@ -7688,43 +8530,43 @@ define internal { ptr, i64 } @struct_to_string__Shape.rect(ptr %0, { float, floa entry: %alloca = alloca { float, float }, align 8 store { float, float } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 10 }, { ptr, i64 } { ptr @str.911, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, i64 10 }, { ptr, i64 } { ptr @str.1011, 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.295 + br label %while.hdr.325 -while.hdr.295: ; preds = %fv.merge, %entry +while.hdr.325: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.296, label %while.exit.297 + br i1 %icmp, label %while.body.326, label %while.exit.327 -while.body.296: ; preds = %while.hdr.295 +while.body.326: ; preds = %while.hdr.325 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.298, label %if.merge.299 + br i1 %icmpN, label %if.then.328, label %if.merge.329 -while.exit.297: ; preds = %while.hdr.295 +while.exit.327: ; preds = %while.hdr.325 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1012, i64 1 }) ret { ptr, i64 } %callN -if.then.298: ; preds = %while.body.296 +if.then.328: ; preds = %while.body.326 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1013, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.299 + br label %if.merge.329 -if.merge.299: ; preds = %if.then.298, %while.body.296 +if.merge.329: ; preds = %if.then.328, %while.body.326 %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.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.1016, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1017, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -7742,19 +8584,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.295 + br label %while.hdr.325 -fv.default: ; preds = %if.merge.299 +fv.default: ; preds = %if.merge.329 br label %fv.merge -fv.case: ; preds = %if.merge.299 +fv.case: ; preds = %if.merge.329 %fv.field = extractvalue { float, float } %loadN, 0 %fNi32 = bitcast float %fv.field to i32 %zN = zext i32 %fNi32 to i64 %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.299 +fv.case17: ; preds = %if.merge.329 %fv.field18 = extractvalue { float, float } %loadN, 1 %fNi3219 = bitcast float %fv.field18 to i32 %zN = zext i32 %fNi3219 to i64 @@ -7771,9 +8613,9 @@ entry: %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.923, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1023, 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.918, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1018, 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 @@ -7787,18 +8629,18 @@ entry: %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.308, label %if.merge.309 + br i1 %icmp, label %if.then.338, label %if.merge.339 -if.then.308: ; preds = %entry +if.then.338: ; 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.925, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1025, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1024, 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.309 + br label %if.merge.339 -if.merge.309: ; preds = %if.then.308, %entry +if.merge.339: ; preds = %if.then.338, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7812,9 +8654,9 @@ entry: %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.930, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1030, 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.926, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1026, 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 @@ -7828,18 +8670,18 @@ entry: %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.310, label %if.merge.311 + br i1 %icmp, label %if.then.340, label %if.merge.341 -if.then.310: ; preds = %entry +if.then.340: ; 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.932, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.931, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1032, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1031, 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.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %entry +if.merge.341: ; preds = %if.then.340, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7864,9 +8706,9 @@ entry: %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.940, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1040, 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.933, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1033, 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 @@ -7880,16 +8722,16 @@ entry: i64 5, label %fv.case24 ] -if.then.312: ; preds = %fv.merge +if.then.342: ; 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.942, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1042, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1041, 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.313 + br label %if.merge.343 -if.merge.313: ; preds = %if.then.312, %fv.merge +if.merge.343: ; preds = %if.then.342, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7902,7 +8744,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.312, label %if.merge.313 + br i1 %icmp, label %if.then.342, label %if.merge.343 fv.default: ; preds = %entry br label %fv.merge @@ -7962,9 +8804,9 @@ entry: %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.951, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.1051, 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.943, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1043, 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 @@ -7978,18 +8820,18 @@ entry: %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.314, label %if.merge.315 + br i1 %icmp, label %if.then.344, label %if.merge.345 -if.then.314: ; preds = %entry +if.then.344: ; 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.953, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.952, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1053, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1052, 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.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %entry +if.merge.345: ; preds = %if.then.344, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8003,9 +8845,9 @@ entry: %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.960, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1060, 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.954, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1054, 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 @@ -8019,18 +8861,18 @@ entry: %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.316, label %if.merge.317 + br i1 %icmp, label %if.then.346, label %if.merge.347 -if.then.316: ; preds = %entry +if.then.346: ; 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.962, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.961, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1062, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1061, 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.317 + br label %if.merge.347 -if.merge.317: ; preds = %if.then.316, %entry +if.merge.347: ; preds = %if.then.346, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8050,9 +8892,9 @@ entry: %allocaN = alloca i64, align 8 store i64 %etag, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.967, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1067, 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.963, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1063, i64 1 }, { ptr, i64 } %fn.load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { i64, [8 x i8] }, ptr %alloca, align 8 @@ -8063,16 +8905,16 @@ entry: i64 2, label %fv.case11 ] -if.then.318: ; preds = %fv.merge +if.then.348: ; 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.969, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.968, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1069, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1068, 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.319 + br label %if.merge.349 -if.merge.319: ; preds = %if.then.318, %fv.merge +if.merge.349: ; preds = %if.then.348, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -8085,7 +8927,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.318, label %if.merge.319 + br i1 %icmp, label %if.then.348, label %if.merge.349 fv.default: ; preds = %entry br label %fv.merge @@ -8105,7 +8947,7 @@ fv.case6: ; preds = %entry %fv.field9 = load { float, float }, ptr %fv.pp8, align 4 store { float, float } %fv.field9, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val10 = insertvalue { i64, i64 } { i64 114, i64 undef }, i64 %ba.p2i, 1 + %fv.val10 = insertvalue { i64, i64 } { i64 126, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case11: ; preds = %entry @@ -8119,33 +8961,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.970, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1070, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.330 + br label %while.hdr.360 -while.hdr.330: ; preds = %if.merge.334, %entry +while.hdr.360: ; preds = %if.merge.364, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.331, label %while.exit.332 + br i1 %icmp, label %while.body.361, label %while.exit.362 -while.body.331: ; preds = %while.hdr.330 +while.body.361: ; preds = %while.hdr.360 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.333, label %if.merge.334 + br i1 %icmpN, label %if.then.363, label %if.merge.364 -while.exit.332: ; preds = %while.hdr.330 +while.exit.362: ; preds = %while.hdr.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.971, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1071, i64 1 }) ret { ptr, i64 } %call -if.then.333: ; preds = %while.body.331 +if.then.363: ; preds = %while.body.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.972, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1072, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.334 + br label %if.merge.364 -if.merge.334: ; preds = %if.then.333, %while.body.331 +if.merge.364: ; preds = %if.then.363, %while.body.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8159,7 +9001,7 @@ if.merge.334: ; preds = %if.then.333, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.330 + br label %while.hdr.360 } ; Function Attrs: nounwind @@ -8170,33 +9012,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.973, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1073, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 -while.hdr.335: ; preds = %if.merge.339, %entry +while.hdr.365: ; preds = %if.merge.369, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.336, label %while.exit.337 + br i1 %icmp, label %while.body.366, label %while.exit.367 -while.body.336: ; preds = %while.hdr.335 +while.body.366: ; preds = %while.hdr.365 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.338, label %if.merge.339 + br i1 %icmpN, label %if.then.368, label %if.merge.369 -while.exit.337: ; preds = %while.hdr.335 +while.exit.367: ; preds = %while.hdr.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.974, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1074, i64 1 }) ret { ptr, i64 } %call -if.then.338: ; preds = %while.body.336 +if.then.368: ; preds = %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.975, i64 2 }) + %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.339 + br label %if.merge.369 -if.merge.339: ; preds = %if.then.338, %while.body.336 +if.merge.369: ; preds = %if.then.368, %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8212,7 +9054,7 @@ if.merge.339: ; preds = %if.then.338, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 } ; Function Attrs: nounwind @@ -8222,33 +9064,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.976, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1076, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.340 + br label %while.hdr.370 -while.hdr.340: ; preds = %if.merge.344, %entry +while.hdr.370: ; preds = %if.merge.374, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.341, label %while.exit.342 + br i1 %icmp, label %while.body.371, label %while.exit.372 -while.body.341: ; preds = %while.hdr.340 +while.body.371: ; preds = %while.hdr.370 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.343, label %if.merge.344 + br i1 %icmpN, label %if.then.373, label %if.merge.374 -while.exit.342: ; preds = %while.hdr.340 +while.exit.372: ; preds = %while.hdr.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.977, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1077, i64 1 }) ret { ptr, i64 } %call -if.then.343: ; preds = %while.body.341 +if.then.373: ; preds = %while.body.371 %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 }) + %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 - br label %if.merge.344 + br label %if.merge.374 -if.merge.344: ; preds = %if.then.343, %while.body.341 +if.merge.374: ; preds = %if.then.373, %while.body.371 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8262,7 +9104,7 @@ if.merge.344: ; preds = %if.then.343, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.340 + br label %while.hdr.370 } ; Function Attrs: nounwind @@ -8272,33 +9114,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.979, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1079, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.980, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1080, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1081, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -8313,7 +9155,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -8323,33 +9165,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.982, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1082, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.983, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1083, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.984, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1084, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8363,7 +9205,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -8373,33 +9215,33 @@ entry: %ig.tmp = alloca [16 x float], align 4 store [16 x float] %1, ptr %alloca, align 4 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.985, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1085, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.986, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1086, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.987, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1087, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x float], ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 @@ -8415,7 +9257,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -8426,33 +9268,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [2 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.988, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1088, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.989, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1089, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.990, i64 2 }) + %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 - br label %if.merge.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [2 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8468,7 +9310,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -8479,33 +9321,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.991, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1091, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.992, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1092, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.993, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1093, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8521,7 +9363,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -8531,35 +9373,35 @@ entry: %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.994, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1094, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.378 + br label %while.hdr.408 -while.hdr.378: ; preds = %if.merge.382, %entry +while.hdr.408: ; preds = %if.merge.412, %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.379, label %while.exit.380 + br i1 %icmp, label %while.body.409, label %while.exit.410 -while.body.379: ; preds = %while.hdr.378 +while.body.409: ; preds = %while.hdr.408 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.381, label %if.merge.382 + br i1 %icmpN, label %if.then.411, label %if.merge.412 -while.exit.380: ; preds = %while.hdr.378 +while.exit.410: ; preds = %while.hdr.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.995, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1095, i64 1 }) ret { ptr, i64 } %call -if.then.381: ; preds = %while.body.379 +if.then.411: ; preds = %while.body.409 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1096, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.382 + br label %if.merge.412 -if.merge.382: ; preds = %if.then.381, %while.body.379 +if.merge.412: ; preds = %if.then.411, %while.body.409 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8575,7 +9417,7 @@ if.merge.382: ; preds = %if.then.381, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.378 + br label %while.hdr.408 } ; Function Attrs: nounwind @@ -8584,35 +9426,35 @@ 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.997, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1097, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.383 + br label %while.hdr.413 -while.hdr.383: ; preds = %if.merge.387, %entry +while.hdr.413: ; preds = %if.merge.417, %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.384, label %while.exit.385 + br i1 %icmp, label %while.body.414, label %while.exit.415 -while.body.384: ; preds = %while.hdr.383 +while.body.414: ; preds = %while.hdr.413 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.386, label %if.merge.387 + br i1 %icmpN, label %if.then.416, label %if.merge.417 -while.exit.385: ; preds = %while.hdr.383 +while.exit.415: ; preds = %while.hdr.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.998, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1098, i64 1 }) ret { ptr, i64 } %call -if.then.386: ; preds = %while.body.384 +if.then.416: ; preds = %while.body.414 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.999, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1099, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.387 + br label %if.merge.417 -if.merge.387: ; preds = %if.then.386, %while.body.384 +if.merge.417: ; preds = %if.then.416, %while.body.414 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8627,7 +9469,7 @@ if.merge.387: ; preds = %if.then.386, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.383 + br label %while.hdr.413 } ; Function Attrs: nounwind @@ -8637,35 +9479,35 @@ entry: %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.1000, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1100, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.388 + br label %while.hdr.418 -while.hdr.388: ; preds = %if.merge.392, %entry +while.hdr.418: ; preds = %if.merge.422, %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.389, label %while.exit.390 + br i1 %icmp, label %while.body.419, label %while.exit.420 -while.body.389: ; preds = %while.hdr.388 +while.body.419: ; preds = %while.hdr.418 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.391, label %if.merge.392 + br i1 %icmpN, label %if.then.421, label %if.merge.422 -while.exit.390: ; preds = %while.hdr.388 +while.exit.420: ; preds = %while.hdr.418 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1001, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1101, i64 1 }) ret { ptr, i64 } %call -if.then.391: ; preds = %while.body.389 +if.then.421: ; preds = %while.body.419 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1002, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1102, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.392 + br label %if.merge.422 -if.merge.392: ; preds = %if.then.391, %while.body.389 +if.merge.422: ; preds = %if.then.421, %while.body.419 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8681,7 +9523,7 @@ if.merge.392: ; preds = %if.then.391, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.388 + br label %while.hdr.418 } ; Function Attrs: nounwind @@ -8691,35 +9533,35 @@ entry: %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.1003, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1103, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.393 + br label %while.hdr.423 -while.hdr.393: ; preds = %if.merge.397, %entry +while.hdr.423: ; preds = %if.merge.427, %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.394, label %while.exit.395 + br i1 %icmp, label %while.body.424, label %while.exit.425 -while.body.394: ; preds = %while.hdr.393 +while.body.424: ; preds = %while.hdr.423 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.396, label %if.merge.397 + br i1 %icmpN, label %if.then.426, label %if.merge.427 -while.exit.395: ; preds = %while.hdr.393 +while.exit.425: ; preds = %while.hdr.423 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1004, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1104, i64 1 }) ret { ptr, i64 } %call -if.then.396: ; preds = %while.body.394 +if.then.426: ; preds = %while.body.424 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1005, i64 2 }) + %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 - br label %if.merge.397 + br label %if.merge.427 -if.merge.397: ; preds = %if.then.396, %while.body.394 +if.merge.427: ; preds = %if.then.426, %while.body.424 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8735,7 +9577,7 @@ if.merge.397: ; preds = %if.then.396, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.393 + br label %while.hdr.423 } ; Function Attrs: nounwind @@ -8745,35 +9587,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.1006, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1106, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.398 + br label %while.hdr.428 -while.hdr.398: ; preds = %if.merge.402, %entry +while.hdr.428: ; preds = %if.merge.432, %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.399, label %while.exit.400 + br i1 %icmp, label %while.body.429, label %while.exit.430 -while.body.399: ; preds = %while.hdr.398 +while.body.429: ; preds = %while.hdr.428 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.401, label %if.merge.402 + br i1 %icmpN, label %if.then.431, label %if.merge.432 -while.exit.400: ; preds = %while.hdr.398 +while.exit.430: ; preds = %while.hdr.428 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1007, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1107, i64 1 }) ret { ptr, i64 } %call -if.then.401: ; preds = %while.body.399 +if.then.431: ; preds = %while.body.429 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1108, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.402 + br label %if.merge.432 -if.merge.402: ; preds = %if.then.401, %while.body.399 +if.merge.432: ; preds = %if.then.431, %while.body.429 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8789,7 +9631,7 @@ if.merge.402: ; preds = %if.then.401, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.398 + br label %while.hdr.428 } ; Function Attrs: nounwind @@ -8799,35 +9641,35 @@ entry: %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.1009, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1109, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.403 + br label %while.hdr.433 -while.hdr.403: ; preds = %if.merge.407, %entry +while.hdr.433: ; preds = %if.merge.437, %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.404, label %while.exit.405 + br i1 %icmp, label %while.body.434, label %while.exit.435 -while.body.404: ; preds = %while.hdr.403 +while.body.434: ; preds = %while.hdr.433 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.406, label %if.merge.407 + br i1 %icmpN, label %if.then.436, label %if.merge.437 -while.exit.405: ; preds = %while.hdr.403 +while.exit.435: ; preds = %while.hdr.433 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1010, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1110, i64 1 }) ret { ptr, i64 } %call -if.then.406: ; preds = %while.body.404 +if.then.436: ; preds = %while.body.434 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1011, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1111, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.407 + br label %if.merge.437 -if.merge.407: ; preds = %if.then.406, %while.body.404 +if.merge.437: ; preds = %if.then.436, %while.body.434 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8843,206 +9685,11 @@ if.merge.407: ; preds = %if.then.406, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.403 + br label %while.hdr.433 } ; 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.447, label %if.else.448 - -if.then.447: ; preds = %entry - br label %if.merge.449 - -if.else.448: ; 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.1014, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1013, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.449 - -if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.1012, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] - 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.463, label %if.else.464 - -if.then.463: ; preds = %entry - br label %if.merge.465 - -if.else.464: ; 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.1017, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1016, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.465 - -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.1015, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] - 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.466, label %if.else.467 - -if.then.466: ; preds = %entry - br label %if.merge.468 - -if.else.467: ; 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.1020, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1019, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.468 - -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.1018, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] - 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.469, label %if.else.470 - -if.then.469: ; preds = %entry - br label %if.merge.471 - -if.else.470: ; 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.1023, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1022, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.471 - -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.1021, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] - 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.472, label %if.else.473 - -if.then.472: ; preds = %entry - br label %if.merge.474 - -if.else.473: ; 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.1026, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1025, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.474 - -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.1024, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] - ret { ptr, i64 } %bp -} - -; 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.475, label %if.else.476 - -if.then.475: ; preds = %entry - br label %if.merge.477 - -if.else.476: ; 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.1029, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1028, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.477 - -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.1027, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] - 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.478, label %if.else.479 - -if.then.478: ; preds = %entry - br label %if.merge.480 - -if.else.479: ; 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.1032, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1031, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.480 - -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.1030, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] - 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 @@ -9060,12 +9707,207 @@ if.then.481: ; preds = %entry if.else.482: ; 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.1035, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1034, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1114, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1113, i64 5 }, { ptr, i64 } %callN) br label %if.merge.483 if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.1033, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.1112, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + 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.497, label %if.else.498 + +if.then.497: ; preds = %entry + br label %if.merge.499 + +if.else.498: ; 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.1117, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1116, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.499 + +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.1115, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] + 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.500, label %if.else.501 + +if.then.500: ; preds = %entry + br label %if.merge.502 + +if.else.501: ; 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.1120, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1119, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.502 + +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.1118, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] + 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.503, label %if.else.504 + +if.then.503: ; preds = %entry + br label %if.merge.505 + +if.else.504: ; 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.1123, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1122, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.505 + +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.1121, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] + 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.506, label %if.else.507 + +if.then.506: ; preds = %entry + br label %if.merge.508 + +if.else.507: ; 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.1126, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1125, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.508 + +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.1124, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] + ret { ptr, i64 } %bp +} + +; 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.509, label %if.else.510 + +if.then.509: ; preds = %entry + br label %if.merge.511 + +if.else.510: ; 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.1129, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1128, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.511 + +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.1127, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] + 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.512, label %if.else.513 + +if.then.512: ; preds = %entry + br label %if.merge.514 + +if.else.513: ; 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.1132, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1131, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.514 + +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.1130, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] + 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.515, label %if.else.516 + +if.then.515: ; preds = %entry + br label %if.merge.517 + +if.else.516: ; 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.1135, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1134, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.517 + +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.1133, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -9080,20 +9922,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.1038, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1037, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1138, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1137, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.1036, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.1136, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -9108,20 +9950,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.1041, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1040, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1141, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1140, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.1039, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.1139, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -9136,20 +9978,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.1044, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1043, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1144, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1143, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.1042, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.1142, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -9164,20 +10006,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.1047, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1046, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1147, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1146, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.1045, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.1145, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -9191,20 +10033,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.1050, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1049, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1150, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1149, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.1048, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.1148, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -9219,20 +10061,20 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.1053, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1052, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1153, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1152, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.1051, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.1151, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -9246,20 +10088,20 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.536, label %if.else.537 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.536: ; preds = %entry + br label %if.merge.538 -if.else.503: ; preds = %entry +if.else.537: ; 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.1056, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1055, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1156, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1155, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.538 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.1054, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.1154, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] ret { ptr, i64 } %bp } @@ -9274,20 +10116,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.539, label %if.else.540 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.539: ; preds = %entry + br label %if.merge.541 -if.else.506: ; preds = %entry +if.else.540: ; 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.1059, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1058, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1159, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1158, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.541 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.1057, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.1157, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } @@ -9302,20 +10144,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.542, label %if.else.543 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.542: ; preds = %entry + br label %if.merge.544 -if.else.509: ; preds = %entry +if.else.543: ; 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.1062, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1061, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1162, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1161, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.544 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.1060, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.1160, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -9330,20 +10172,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.545, label %if.else.546 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.545: ; preds = %entry + br label %if.merge.547 -if.else.512: ; preds = %entry +if.else.546: ; 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.1065, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1064, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1165, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1164, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.547 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.1063, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.1163, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -9358,20 +10200,20 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.515: ; preds = %entry +if.else.549: ; 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.1068, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1067, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1168, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1167, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.1066, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.1166, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -9386,20 +10228,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.551, label %if.else.552 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.551: ; preds = %entry + br label %if.merge.553 -if.else.518: ; preds = %entry +if.else.552: ; 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.1071, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1070, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1171, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1170, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.553 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.1069, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.1169, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -9414,20 +10256,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.554, label %if.else.555 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.554: ; preds = %entry + br label %if.merge.556 -if.else.521: ; preds = %entry +if.else.555: ; 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.1074, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1073, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1174, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1173, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.556 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.1072, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.1172, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -9442,20 +10284,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.557, label %if.else.558 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.557: ; preds = %entry + br label %if.merge.559 -if.else.524: ; preds = %entry +if.else.558: ; 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.1077, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1076, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1177, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1176, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.559 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.1075, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.1175, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -9470,20 +10312,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.560, label %if.else.561 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.560: ; preds = %entry + br label %if.merge.562 -if.else.527: ; preds = %entry +if.else.561: ; 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.1080, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1079, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1180, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1179, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.562 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.1078, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.1178, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -9498,20 +10340,20 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.530: ; preds = %entry +if.else.564: ; 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.1083, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1082, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1183, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1182, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.1081, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.1181, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -9526,20 +10368,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.533: ; preds = %entry +if.else.567: ; 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.1086, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1085, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1186, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1185, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.1084, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.1184, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -9554,20 +10396,131 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.536: ; preds = %entry +if.else.570: ; 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.1089, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1088, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1189, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1188, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.1087, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.1187, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] + 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.572, label %if.else.573 + +if.then.572: ; preds = %entry + br label %if.merge.574 + +if.else.573: ; 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.1192, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1191, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.574 + +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.1190, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] + 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.575, label %if.else.576 + +if.then.575: ; preds = %entry + br label %if.merge.577 + +if.else.576: ; 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.1195, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1194, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.577 + +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.1193, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] + 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.578, label %if.else.579 + +if.then.578: ; preds = %entry + br label %if.merge.580 + +if.else.579: ; 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.1198, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1197, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.580 + +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.1196, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] + 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.581, label %if.else.582 + +if.then.581: ; preds = %entry + br label %if.merge.583 + +if.else.582: ; 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.1201, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1200, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.583 + +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.1199, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -9582,20 +10535,20 @@ entry: 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.538, label %if.else.539 + br i1 %icmp, label %if.then.584, label %if.else.585 -if.then.538: ; preds = %entry - br label %if.merge.540 +if.then.584: ; preds = %entry + br label %if.merge.586 -if.else.539: ; preds = %entry +if.else.585: ; 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.1092, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1091, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.540 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1204, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1203, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.586 -if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.1090, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] +if.merge.586: ; preds = %if.else.585, %if.then.584 + %bp = phi { ptr, i64 } [ { ptr @str.1202, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] ret { ptr, i64 } %bp } @@ -9610,20 +10563,20 @@ entry: 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.541, label %if.else.542 + br i1 %icmp, label %if.then.587, label %if.else.588 -if.then.541: ; preds = %entry - br label %if.merge.543 +if.then.587: ; preds = %entry + br label %if.merge.589 -if.else.542: ; preds = %entry +if.else.588: ; 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.1095, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1094, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.543 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1207, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1206, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.589 -if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.1093, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] +if.merge.589: ; preds = %if.else.588, %if.then.587 + %bp = phi { ptr, i64 } [ { ptr @str.1205, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] ret { ptr, i64 } %bp } @@ -9638,20 +10591,20 @@ entry: 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.544, label %if.else.545 + br i1 %icmp, label %if.then.590, label %if.else.591 -if.then.544: ; preds = %entry - br label %if.merge.546 +if.then.590: ; preds = %entry + br label %if.merge.592 -if.else.545: ; preds = %entry +if.else.591: ; 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.1098, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1097, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.546 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1210, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1209, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.592 -if.merge.546: ; preds = %if.else.545, %if.then.544 - %bp = phi { ptr, i64 } [ { ptr @str.1096, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] +if.merge.592: ; preds = %if.else.591, %if.then.590 + %bp = phi { ptr, i64 } [ { ptr @str.1208, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] ret { ptr, i64 } %bp } @@ -9666,20 +10619,20 @@ entry: 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.547, label %if.else.548 + br i1 %icmp, label %if.then.593, label %if.else.594 -if.then.547: ; preds = %entry - br label %if.merge.549 +if.then.593: ; preds = %entry + br label %if.merge.595 -if.else.548: ; preds = %entry +if.else.594: ; 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.1101, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1100, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.549 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1213, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1212, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.595 -if.merge.549: ; preds = %if.else.548, %if.then.547 - %bp = phi { ptr, i64 } [ { ptr @str.1099, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] +if.merge.595: ; preds = %if.else.594, %if.then.593 + %bp = phi { ptr, i64 } [ { ptr @str.1211, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] ret { ptr, i64 } %bp } @@ -9694,20 +10647,20 @@ entry: 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.550, label %if.else.551 + br i1 %icmp, label %if.then.596, label %if.else.597 -if.then.550: ; preds = %entry - br label %if.merge.552 +if.then.596: ; preds = %entry + br label %if.merge.598 -if.else.551: ; preds = %entry +if.else.597: ; 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.1104, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1103, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.552 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1216, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1215, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.598 -if.merge.552: ; preds = %if.else.551, %if.then.550 - %bp = phi { ptr, i64 } [ { ptr @str.1102, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] +if.merge.598: ; preds = %if.else.597, %if.then.596 + %bp = phi { ptr, i64 } [ { ptr @str.1214, i64 4 }, %if.then.596 ], [ %callN, %if.else.597 ] ret { ptr, i64 } %bp } @@ -9722,20 +10675,20 @@ entry: 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.553, label %if.else.554 + br i1 %icmp, label %if.then.599, label %if.else.600 -if.then.553: ; preds = %entry - br label %if.merge.555 +if.then.599: ; preds = %entry + br label %if.merge.601 -if.else.554: ; preds = %entry +if.else.600: ; 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.1107, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1106, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.555 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1219, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1218, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.601 -if.merge.555: ; preds = %if.else.554, %if.then.553 - %bp = phi { ptr, i64 } [ { ptr @str.1105, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] +if.merge.601: ; preds = %if.else.600, %if.then.599 + %bp = phi { ptr, i64 } [ { ptr @str.1217, i64 4 }, %if.then.599 ], [ %callN, %if.else.600 ] ret { ptr, i64 } %bp } @@ -9750,20 +10703,20 @@ entry: 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.556, label %if.else.557 + br i1 %icmp, label %if.then.602, label %if.else.603 -if.then.556: ; preds = %entry - br label %if.merge.558 +if.then.602: ; preds = %entry + br label %if.merge.604 -if.else.557: ; preds = %entry +if.else.603: ; 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.1110, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1109, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.558 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1222, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1221, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.604 -if.merge.558: ; preds = %if.else.557, %if.then.556 - %bp = phi { ptr, i64 } [ { ptr @str.1108, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] +if.merge.604: ; preds = %if.else.603, %if.then.602 + %bp = phi { ptr, i64 } [ { ptr @str.1220, i64 4 }, %if.then.602 ], [ %callN, %if.else.603 ] ret { ptr, i64 } %bp } @@ -9778,20 +10731,20 @@ entry: 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.559, label %if.else.560 + br i1 %icmp, label %if.then.605, label %if.else.606 -if.then.559: ; preds = %entry - br label %if.merge.561 +if.then.605: ; preds = %entry + br label %if.merge.607 -if.else.560: ; preds = %entry +if.else.606: ; 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.1113, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1112, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.561 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1225, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1224, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.607 -if.merge.561: ; preds = %if.else.560, %if.then.559 - %bp = phi { ptr, i64 } [ { ptr @str.1111, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] +if.merge.607: ; preds = %if.else.606, %if.then.605 + %bp = phi { ptr, i64 } [ { ptr @str.1223, i64 4 }, %if.then.605 ], [ %callN, %if.else.606 ] ret { ptr, i64 } %bp } @@ -9806,20 +10759,20 @@ entry: 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.562, label %if.else.563 + br i1 %icmp, label %if.then.608, label %if.else.609 -if.then.562: ; preds = %entry - br label %if.merge.564 +if.then.608: ; preds = %entry + br label %if.merge.610 -if.else.563: ; preds = %entry +if.else.609: ; 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.1116, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1115, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.564 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1228, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1227, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.610 -if.merge.564: ; preds = %if.else.563, %if.then.562 - %bp = phi { ptr, i64 } [ { ptr @str.1114, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] +if.merge.610: ; preds = %if.else.609, %if.then.608 + %bp = phi { ptr, i64 } [ { ptr @str.1226, i64 4 }, %if.then.608 ], [ %callN, %if.else.609 ] ret { ptr, i64 } %bp } @@ -9834,20 +10787,20 @@ entry: 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.565, label %if.else.566 + br i1 %icmp, label %if.then.611, label %if.else.612 -if.then.565: ; preds = %entry - br label %if.merge.567 +if.then.611: ; preds = %entry + br label %if.merge.613 -if.else.566: ; preds = %entry +if.else.612: ; 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.1119, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1118, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.567 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1231, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1230, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.613 -if.merge.567: ; preds = %if.else.566, %if.then.565 - %bp = phi { ptr, i64 } [ { ptr @str.1117, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] +if.merge.613: ; preds = %if.else.612, %if.then.611 + %bp = phi { ptr, i64 } [ { ptr @str.1229, i64 4 }, %if.then.611 ], [ %callN, %if.else.612 ] ret { ptr, i64 } %bp } @@ -9862,20 +10815,20 @@ entry: 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.568, label %if.else.569 + br i1 %icmp, label %if.then.614, label %if.else.615 -if.then.568: ; preds = %entry - br label %if.merge.570 +if.then.614: ; preds = %entry + br label %if.merge.616 -if.else.569: ; preds = %entry +if.else.615: ; 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.1122, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1121, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.570 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1234, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1233, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.616 -if.merge.570: ; preds = %if.else.569, %if.then.568 - %bp = phi { ptr, i64 } [ { ptr @str.1120, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] +if.merge.616: ; preds = %if.else.615, %if.then.614 + %bp = phi { ptr, i64 } [ { ptr @str.1232, i64 4 }, %if.then.614 ], [ %callN, %if.else.615 ] ret { ptr, i64 } %bp } @@ -9888,12 +10841,12 @@ entry: %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.578, label %if.merge.579 + br i1 %lnot, label %if.then.624, label %if.merge.625 -if.then.578: ; preds = %entry - ret { ptr, i64 } { ptr @str.1123, i64 4 } +if.then.624: ; preds = %entry + ret { ptr, i64 } { ptr @str.1235, i64 4 } -if.merge.579: ; preds = %entry +if.merge.625: ; 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 @@ -9912,12 +10865,12 @@ entry: %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.580, label %if.merge.581 + br i1 %lnot, label %if.then.626, label %if.merge.627 -if.then.580: ; preds = %entry - ret { ptr, i64 } { ptr @str.1124, i64 4 } +if.then.626: ; preds = %entry + ret { ptr, i64 } { ptr @str.1236, i64 4 } -if.merge.581: ; preds = %entry +if.merge.627: ; 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 @@ -9935,12 +10888,12 @@ entry: %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.582, label %if.merge.583 + br i1 %lnot, label %if.then.628, label %if.merge.629 -if.then.582: ; preds = %entry - ret { ptr, i64 } { ptr @str.1125, i64 4 } +if.then.628: ; preds = %entry + ret { ptr, i64 } { ptr @str.1237, i64 4 } -if.merge.583: ; preds = %entry +if.merge.629: ; 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 @@ -9957,12 +10910,12 @@ entry: %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.584, label %if.merge.585 + br i1 %lnot, label %if.then.630, label %if.merge.631 -if.then.584: ; preds = %entry - ret { ptr, i64 } { ptr @str.1126, i64 4 } +if.then.630: ; preds = %entry + ret { ptr, i64 } { ptr @str.1238, i64 4 } -if.merge.585: ; preds = %entry +if.merge.631: ; 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 @@ -9981,12 +10934,12 @@ entry: %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.586, label %if.merge.587 + br i1 %lnot, label %if.then.632, label %if.merge.633 -if.then.586: ; preds = %entry - ret { ptr, i64 } { ptr @str.1127, i64 4 } +if.then.632: ; preds = %entry + ret { ptr, i64 } { ptr @str.1239, i64 4 } -if.merge.587: ; preds = %entry +if.merge.633: ; 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 diff --git a/examples/expected/0032-basic-ufcs-return-type.ir b/examples/expected/0032-basic-ufcs-return-type.ir index 9a3ef7f..8c75d42 100644 --- a/examples/expected/0032-basic-ufcs-return-type.ir +++ b/examples/expected/0032-basic-ufcs-return-type.ir @@ -1,743 +1,839 @@ @__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null } @str = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.367 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.368 = private unnamed_addr constant [6 x i8] c"false\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.370 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.371 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [193 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] +@str.382 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.383 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.384 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.386 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.387 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [211 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.372 = private constant [11 x i8] c"WouldBlock\00" -@tag.str.373 = private constant [7 x i8] c"Closed\00" -@tag.str.374 = private constant [6 x i8] c"Fault\00" -@tag.str.375 = private constant [9 x i8] c"Overflow\00" -@tag.str.376 = private constant [3 x i8] c"Io\00" -@tag.str.377 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.378 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.379 = private constant [10 x i8] c"BadEscape\00" -@tag.str.380 = private constant [10 x i8] c"BadNumber\00" -@tag.str.381 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.382 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.383 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.384 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.385 = private constant [13 x i8] c"MissingValue\00" -@tag.str.386 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.387 = private constant [13 x i8] c"TooManyFlags\00" -@tag.str.388 = private constant [5 x i8] c"Init\00" -@tag.str.389 = private constant [9 x i8] c"Register\00" -@tag.str.390 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.372, i64 10 }, { ptr, i64 } { ptr @tag.str.373, i64 6 }, { ptr, i64 } { ptr @tag.str.374, i64 5 }, { ptr, i64 } { ptr @tag.str.375, i64 8 }, { ptr, i64 } { ptr @tag.str.376, i64 2 }, { ptr, i64 } { ptr @tag.str.377, i64 15 }, { ptr, i64 } { ptr @tag.str.378, i64 13 }, { ptr, i64 } { ptr @tag.str.379, i64 9 }, { ptr, i64 } { ptr @tag.str.380, i64 9 }, { ptr, i64 } { ptr @tag.str.381, i64 15 }, { ptr, i64 } { ptr @tag.str.382, i64 14 }, { ptr, i64 } { ptr @tag.str.383, i64 14 }, { ptr, i64 } { ptr @tag.str.384, i64 11 }, { ptr, i64 } { ptr @tag.str.385, i64 12 }, { ptr, i64 } { ptr @tag.str.386, i64 15 }, { ptr, i64 } { ptr @tag.str.387, i64 12 }, { ptr, i64 } { ptr @tag.str.388, i64 4 }, { ptr, i64 } { ptr @tag.str.389, i64 8 }, { ptr, i64 } { ptr @tag.str.390, i64 4 }] +@tag.str.388 = private constant [11 x i8] c"WouldBlock\00" +@tag.str.389 = private constant [7 x i8] c"Closed\00" +@tag.str.390 = private constant [6 x i8] c"Fault\00" +@tag.str.391 = private constant [9 x i8] c"Overflow\00" +@tag.str.392 = private constant [3 x i8] c"Io\00" +@tag.str.393 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.394 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.395 = private constant [10 x i8] c"BadEscape\00" +@tag.str.396 = private constant [10 x i8] c"BadNumber\00" +@tag.str.397 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.398 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.399 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.400 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.401 = private constant [13 x i8] c"MissingValue\00" +@tag.str.402 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.403 = private constant [13 x i8] c"TooManyFlags\00" +@tag.str.404 = private constant [5 x i8] c"Init\00" +@tag.str.405 = private constant [9 x i8] c"Register\00" +@tag.str.406 = private constant [5 x i8] c"Wait\00" +@tag.str.407 = private constant [5 x i8] c"Bind\00" +@tag.str.408 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.388, i64 10 }, { ptr, i64 } { ptr @tag.str.389, i64 6 }, { ptr, i64 } { ptr @tag.str.390, i64 5 }, { ptr, i64 } { ptr @tag.str.391, i64 8 }, { ptr, i64 } { ptr @tag.str.392, i64 2 }, { ptr, i64 } { ptr @tag.str.393, i64 15 }, { ptr, i64 } { ptr @tag.str.394, i64 13 }, { ptr, i64 } { ptr @tag.str.395, i64 9 }, { ptr, i64 } { ptr @tag.str.396, i64 9 }, { ptr, i64 } { ptr @tag.str.397, i64 15 }, { ptr, i64 } { ptr @tag.str.398, i64 14 }, { ptr, i64 } { ptr @tag.str.399, i64 14 }, { ptr, i64 } { ptr @tag.str.400, i64 11 }, { ptr, i64 } { ptr @tag.str.401, i64 12 }, { ptr, i64 } { ptr @tag.str.402, i64 15 }, { ptr, i64 } { ptr @tag.str.403, i64 12 }, { ptr, i64 } { ptr @tag.str.404, i64 4 }, { ptr, i64 } { ptr @tag.str.405, i64 8 }, { ptr, i64 } { ptr @tag.str.406, i64 4 }, { ptr, i64 } { ptr @tag.str.407, i64 4 }, { ptr, i64 } { ptr @tag.str.408, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.391 = private constant [5 x i8] c"bool\00" -@tn.str.392 = private constant [3 x i8] c"i8\00" -@tn.str.393 = private constant [4 x i8] c"i16\00" -@tn.str.394 = private constant [4 x i8] c"i32\00" -@tn.str.395 = private constant [4 x i8] c"i64\00" -@tn.str.396 = private constant [3 x i8] c"u8\00" -@tn.str.397 = private constant [4 x i8] c"u16\00" -@tn.str.398 = private constant [4 x i8] c"u32\00" -@tn.str.399 = private constant [4 x i8] c"u64\00" -@tn.str.400 = private constant [4 x i8] c"f32\00" -@tn.str.401 = private constant [4 x i8] c"f64\00" -@tn.str.402 = private constant [7 x i8] c"string\00" -@tn.str.403 = private constant [4 x i8] c"Any\00" -@tn.str.404 = private constant [9 x i8] c"noreturn\00" -@tn.str.405 = private constant [6 x i8] c"isize\00" -@tn.str.406 = private constant [6 x i8] c"usize\00" -@tn.str.407 = private constant [5 x i8] c"void\00" -@tn.str.408 = private constant [8 x i8] c"cstring\00" -@tn.str.409 = private constant [6 x i8] c"*void\00" -@tn.str.410 = private constant [16 x i8] c"Source_Location\00" -@tn.str.411 = private constant [10 x i8] c"Allocator\00" -@tn.str.412 = private constant [8 x i8] c"Context\00" -@tn.str.413 = private constant [7 x i8] c"[4]i64\00" -@tn.str.414 = private constant [9 x i8] c"[]string\00" -@tn.str.415 = private constant [11 x i8] c"CAllocator\00" -@tn.str.416 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.417 = private constant [4 x i8] c"GPA\00" -@tn.str.418 = private constant [5 x i8] c"*GPA\00" -@tn.str.419 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.420 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.421 = private constant [6 x i8] c"Arena\00" -@tn.str.422 = private constant [7 x i8] c"*Arena\00" -@tn.str.423 = private constant [6 x i8] c"[*]u8\00" -@tn.str.424 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.425 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.426 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.427 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.428 = private constant [9 x i8] c"OpenMode\00" -@tn.str.429 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.430 = private constant [5 x i8] c"File\00" -@tn.str.431 = private constant [6 x i8] c"*File\00" -@tn.str.432 = private constant [6 x i8] c"?File\00" -@tn.str.433 = private constant [8 x i8] c"?string\00" -@tn.str.434 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.435 = private constant [9 x i8] c"?cstring\00" -@tn.str.436 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.437 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.438 = private constant [5 x i8] c"*i32\00" -@tn.str.439 = private constant [9 x i8] c"SockAddr\00" -@tn.str.440 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.441 = private constant [5 x i8] c"*u32\00" -@tn.str.442 = private constant [8 x i8] c"SockErr\00" -@tn.str.443 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.444 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.445 = private constant [10 x i8] c"JsonError\00" -@tn.str.446 = private constant [6 x i8] c"Array\00" -@tn.str.447 = private constant [7 x i8] c"Object\00" -@tn.str.448 = private constant [6 x i8] c"Value\00" -@tn.str.449 = private constant [7 x i8] c"Member\00" -@tn.str.450 = private constant [9 x i8] c"[*]Value\00" -@tn.str.451 = private constant [7 x i8] c"*Array\00" -@tn.str.452 = private constant [10 x i8] c"[*]Member\00" -@tn.str.453 = private constant [8 x i8] c"*Object\00" -@tn.str.454 = private constant [5 x i8] c"[]u8\00" -@tn.str.455 = private constant [5 x i8] c"Sink\00" -@tn.str.456 = private constant [6 x i8] c"*Sink\00" -@tn.str.457 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.458 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.459 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.460 = private constant [7 x i8] c"Parser\00" -@tn.str.461 = private constant [8 x i8] c"*Parser\00" -@tn.str.462 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.463 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.464 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.465 = private constant [13 x i8] c"Architecture\00" -@tn.str.466 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.467 = private constant [11 x i8] c"() -> bool\00" -@tn.str.468 = private constant [5 x i8] c"*i64\00" -@tn.str.469 = private constant [9 x i8] c"CliError\00" -@tn.str.470 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.471 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.472 = private constant [8 x i8] c"Command\00" -@tn.str.473 = private constant [10 x i8] c"FlagValue\00" -@tn.str.474 = private constant [5 x i8] c"Diag\00" -@tn.str.475 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.476 = private constant [7 x i8] c"Parsed\00" -@tn.str.477 = private constant [8 x i8] c"*Parsed\00" -@tn.str.478 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.479 = private constant [10 x i8] c"[]Command\00" -@tn.str.480 = private constant [6 x i8] c"*Diag\00" -@tn.str.481 = private constant [7 x i8] c"[8]i64\00" -@tn.str.482 = private constant [7 x i8] c"[64]u8\00" -@tn.str.483 = private constant [7 x i8] c"Sha256\00" -@tn.str.484 = private constant [8 x i8] c"*Sha256\00" -@tn.str.485 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.486 = private constant [8 x i8] c"[64]i64\00" -@tn.str.487 = private constant [9 x i8] c"Timespec\00" -@tn.str.488 = private constant [10 x i8] c"*Timespec\00" -@tn.str.489 = private constant [7 x i8] c"Kevent\00" -@tn.str.490 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.491 = private constant [8 x i8] c"*Kevent\00" -@tn.str.492 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.493 = private constant [9 x i8] c"EventErr\00" -@tn.str.494 = private constant [6 x i8] c"Event\00" -@tn.str.495 = private constant [5 x i8] c"Loop\00" -@tn.str.496 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.497 = private constant [6 x i8] c"*Loop\00" -@tn.str.498 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.499 = private constant [8 x i8] c"[]Event\00" -@tn.str.500 = private constant [8 x i8] c"[16]f32\00" -@tn.str.501 = private constant [5 x i8] c"Mat4\00" -@tn.str.502 = private constant [5 x i8] c"Vec2\00" -@tn.str.503 = private constant [6 x i8] c"Point\00" -@tn.str.504 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.505 = private constant [7 x i8] c"**void\00" -@tn.str.506 = private constant [8 x i8] c"*string\00" -@tn.str.507 = private constant [6 x i8] c"[]Any\00" -@tn.str.508 = private constant [5 x i8] c"*Any\00" -@tn.str.509 = private constant [7 x i8] c"*[]Any\00" -@tn.str.510 = private constant [4 x i8] c"*u8\00" -@tn.str.511 = private constant [6 x i8] c"*bool\00" -@tn.str.512 = private constant [7 x i8] c"*Point\00" -@tn.str.513 = private constant [7 x i8] c"[1]Any\00" -@tn.str.514 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.515 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.516 = private constant [5 x i8] c"*f64\00" -@tn.str.517 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.518 = private constant [11 x i8] c"*Allocator\00" -@tn.str.519 = private constant [9 x i8] c"*Context\00" -@tn.str.520 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.521 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.522 = private constant [8 x i8] c"*Member\00" -@tn.str.523 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.524 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.525 = private constant [9 x i8] c"*Command\00" -@tn.str.526 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.527 = private constant [7 x i8] c"*Event\00" -@tn.str.528 = private constant [6 x i8] c"*Mat4\00" -@tn.str.529 = private constant [6 x i8] c"*Vec2\00" -@tn.str.530 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.531 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.532 = private constant [7 x i8] c"*Value\00" -@tn.str.533 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.534 = private constant [14 x i8] c"*Architecture\00" -@tn.str.535 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.536 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.537 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.538 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.539 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.540 = private constant [10 x i8] c"*[]string\00" -@tn.str.541 = private constant [6 x i8] c"*[]u8\00" -@tn.str.542 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.543 = private constant [11 x i8] c"*[]Command\00" -@tn.str.544 = private constant [9 x i8] c"*[]Event\00" -@tn.str.545 = private constant [6 x i8] c"**GPA\00" -@tn.str.546 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.547 = private constant [8 x i8] c"**Arena\00" -@tn.str.548 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.549 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.550 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.551 = private constant [7 x i8] c"**File\00" -@tn.str.552 = private constant [6 x i8] c"**i32\00" -@tn.str.553 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.554 = private constant [6 x i8] c"**u32\00" -@tn.str.555 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.556 = private constant [8 x i8] c"**Array\00" -@tn.str.557 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.558 = private constant [9 x i8] c"**Object\00" -@tn.str.559 = private constant [7 x i8] c"**Sink\00" -@tn.str.560 = private constant [9 x i8] c"**Parser\00" -@tn.str.561 = private constant [6 x i8] c"**i64\00" -@tn.str.562 = private constant [9 x i8] c"**Parsed\00" -@tn.str.563 = private constant [7 x i8] c"**Diag\00" -@tn.str.564 = private constant [9 x i8] c"**Sha256\00" -@tn.str.565 = private constant [11 x i8] c"**Timespec\00" -@tn.str.566 = private constant [9 x i8] c"**Kevent\00" -@tn.str.567 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.568 = private constant [7 x i8] c"**Loop\00" -@tn.str.569 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.570 = private constant [8 x i8] c"***void\00" -@tn.str.571 = private constant [9 x i8] c"**string\00" -@tn.str.572 = private constant [6 x i8] c"**Any\00" -@tn.str.573 = private constant [8 x i8] c"**[]Any\00" -@tn.str.574 = private constant [5 x i8] c"**u8\00" -@tn.str.575 = private constant [7 x i8] c"**bool\00" -@tn.str.576 = private constant [8 x i8] c"**Point\00" -@tn.str.577 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.578 = private constant [7 x i8] c"*?File\00" -@tn.str.579 = private constant [9 x i8] c"*?string\00" -@tn.str.580 = private constant [10 x i8] c"*?cstring\00" -@tn.str.581 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.582 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [193 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.391, i64 4 }, { ptr, i64 } { ptr @tn.str.392, i64 2 }, { ptr, i64 } { ptr @tn.str.393, i64 3 }, { ptr, i64 } { ptr @tn.str.394, i64 3 }, { ptr, i64 } { ptr @tn.str.395, i64 3 }, { ptr, i64 } { ptr @tn.str.396, i64 2 }, { ptr, i64 } { ptr @tn.str.397, i64 3 }, { ptr, i64 } { ptr @tn.str.398, i64 3 }, { ptr, i64 } { ptr @tn.str.399, i64 3 }, { ptr, i64 } { ptr @tn.str.400, i64 3 }, { ptr, i64 } { ptr @tn.str.401, i64 3 }, { ptr, i64 } { ptr @tn.str.402, i64 6 }, { ptr, i64 } { ptr @tn.str.403, i64 3 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 5 }, { ptr, i64 } { ptr @tn.str.406, i64 5 }, { ptr, i64 } { ptr @tn.str.407, i64 4 }, { ptr, i64 } { ptr @tn.str.408, i64 7 }, { ptr, i64 } { ptr @tn.str.409, i64 5 }, { ptr, i64 } { ptr @tn.str.410, i64 15 }, { ptr, i64 } { ptr @tn.str.411, i64 9 }, { ptr, i64 } { ptr @tn.str.412, i64 7 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 8 }, { ptr, i64 } { ptr @tn.str.415, i64 10 }, { ptr, i64 } { ptr @tn.str.416, i64 11 }, { ptr, i64 } { ptr @tn.str.417, i64 3 }, { ptr, i64 } { ptr @tn.str.418, i64 4 }, { ptr, i64 } { ptr @tn.str.419, i64 10 }, { ptr, i64 } { ptr @tn.str.420, i64 11 }, { ptr, i64 } { ptr @tn.str.421, i64 5 }, { ptr, i64 } { ptr @tn.str.422, i64 6 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 8 }, { ptr, i64 } { ptr @tn.str.425, i64 9 }, { ptr, i64 } { ptr @tn.str.426, i64 17 }, { ptr, i64 } { ptr @tn.str.427, i64 18 }, { ptr, i64 } { ptr @tn.str.428, i64 8 }, { ptr, i64 } { ptr @tn.str.429, i64 8 }, { ptr, i64 } { ptr @tn.str.430, i64 4 }, { ptr, i64 } { ptr @tn.str.431, i64 5 }, { ptr, i64 } { ptr @tn.str.432, i64 5 }, { ptr, i64 } { ptr @tn.str.433, i64 7 }, { ptr, i64 } { ptr @tn.str.434, i64 10 }, { ptr, i64 } { ptr @tn.str.435, i64 8 }, { ptr, i64 } { ptr @tn.str.436, i64 13 }, { ptr, i64 } { ptr @tn.str.437, i64 14 }, { ptr, i64 } { ptr @tn.str.438, i64 4 }, { ptr, i64 } { ptr @tn.str.439, i64 8 }, { ptr, i64 } { ptr @tn.str.440, i64 9 }, { ptr, i64 } { ptr @tn.str.441, i64 4 }, { ptr, i64 } { ptr @tn.str.442, i64 7 }, { ptr, i64 } { ptr @tn.str.443, i64 14 }, { ptr, i64 } { ptr @tn.str.444, i64 14 }, { ptr, i64 } { ptr @tn.str.445, i64 9 }, { ptr, i64 } { ptr @tn.str.446, i64 5 }, { ptr, i64 } { ptr @tn.str.447, i64 6 }, { ptr, i64 } { ptr @tn.str.448, i64 5 }, { ptr, i64 } { ptr @tn.str.449, i64 6 }, { ptr, i64 } { ptr @tn.str.450, i64 8 }, { ptr, i64 } { ptr @tn.str.451, i64 6 }, { ptr, i64 } { ptr @tn.str.452, i64 9 }, { ptr, i64 } { ptr @tn.str.453, i64 7 }, { ptr, i64 } { ptr @tn.str.454, i64 4 }, { ptr, i64 } { ptr @tn.str.455, i64 4 }, { ptr, i64 } { ptr @tn.str.456, i64 5 }, { ptr, i64 } { ptr @tn.str.457, i64 16 }, { ptr, i64 } { ptr @tn.str.458, i64 14 }, { ptr, i64 } { ptr @tn.str.459, i64 21 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 7 }, { ptr, i64 } { ptr @tn.str.462, i64 24 }, { ptr, i64 } { ptr @tn.str.463, i64 23 }, { ptr, i64 } { ptr @tn.str.464, i64 15 }, { ptr, i64 } { ptr @tn.str.465, i64 12 }, { ptr, i64 } { ptr @tn.str.466, i64 12 }, { ptr, i64 } { ptr @tn.str.467, i64 10 }, { ptr, i64 } { ptr @tn.str.468, i64 4 }, { ptr, i64 } { ptr @tn.str.469, i64 8 }, { ptr, i64 } { ptr @tn.str.470, i64 8 }, { ptr, i64 } { ptr @tn.str.471, i64 10 }, { ptr, i64 } { ptr @tn.str.472, i64 7 }, { ptr, i64 } { ptr @tn.str.473, i64 9 }, { ptr, i64 } { ptr @tn.str.474, i64 4 }, { ptr, i64 } { ptr @tn.str.475, i64 13 }, { ptr, i64 } { ptr @tn.str.476, i64 6 }, { ptr, i64 } { ptr @tn.str.477, i64 7 }, { ptr, i64 } { ptr @tn.str.478, i64 18 }, { ptr, i64 } { ptr @tn.str.479, i64 9 }, { ptr, i64 } { ptr @tn.str.480, i64 5 }, { ptr, i64 } { ptr @tn.str.481, i64 6 }, { ptr, i64 } { ptr @tn.str.482, i64 6 }, { ptr, i64 } { ptr @tn.str.483, i64 6 }, { ptr, i64 } { ptr @tn.str.484, i64 7 }, { ptr, i64 } { ptr @tn.str.485, i64 7 }, { ptr, i64 } { ptr @tn.str.486, i64 7 }, { ptr, i64 } { ptr @tn.str.487, i64 8 }, { ptr, i64 } { ptr @tn.str.488, i64 9 }, { ptr, i64 } { ptr @tn.str.489, i64 6 }, { ptr, i64 } { ptr @tn.str.490, i64 10 }, { ptr, i64 } { ptr @tn.str.491, i64 7 }, { ptr, i64 } { ptr @tn.str.492, i64 11 }, { ptr, i64 } { ptr @tn.str.493, i64 8 }, { ptr, i64 } { ptr @tn.str.494, i64 5 }, { ptr, i64 } { ptr @tn.str.495, i64 4 }, { ptr, i64 } { ptr @tn.str.496, i64 16 }, { ptr, i64 } { ptr @tn.str.497, i64 5 }, { ptr, i64 } { ptr @tn.str.498, i64 15 }, { ptr, i64 } { ptr @tn.str.499, i64 7 }, { ptr, i64 } { ptr @tn.str.500, i64 7 }, { ptr, i64 } { ptr @tn.str.501, i64 4 }, { ptr, i64 } { ptr @tn.str.502, i64 4 }, { ptr, i64 } { ptr @tn.str.503, i64 5 }, { ptr, i64 } { ptr @tn.str.504, i64 12 }, { ptr, i64 } { ptr @tn.str.505, i64 6 }, { ptr, i64 } { ptr @tn.str.506, i64 7 }, { ptr, i64 } { ptr @tn.str.507, i64 5 }, { ptr, i64 } { ptr @tn.str.508, i64 4 }, { ptr, i64 } { ptr @tn.str.509, i64 6 }, { ptr, i64 } { ptr @tn.str.510, i64 3 }, { ptr, i64 } { ptr @tn.str.511, i64 5 }, { ptr, i64 } { ptr @tn.str.512, i64 6 }, { ptr, i64 } { ptr @tn.str.513, i64 6 }, { ptr, i64 } { ptr @tn.str.514, i64 7 }, { ptr, i64 } { ptr @tn.str.515, i64 7 }, { ptr, i64 } { ptr @tn.str.516, i64 4 }, { ptr, i64 } { ptr @tn.str.517, i64 16 }, { ptr, i64 } { ptr @tn.str.518, i64 10 }, { ptr, i64 } { ptr @tn.str.519, i64 8 }, { ptr, i64 } { ptr @tn.str.520, i64 11 }, { ptr, i64 } { ptr @tn.str.521, i64 14 }, { ptr, i64 } { ptr @tn.str.522, i64 7 }, { ptr, i64 } { ptr @tn.str.523, i64 13 }, { ptr, i64 } { ptr @tn.str.524, i64 9 }, { ptr, i64 } { ptr @tn.str.525, i64 8 }, { ptr, i64 } { ptr @tn.str.526, i64 10 }, { ptr, i64 } { ptr @tn.str.527, i64 6 }, { ptr, i64 } { ptr @tn.str.528, i64 5 }, { ptr, i64 } { ptr @tn.str.529, i64 5 }, { ptr, i64 } { ptr @tn.str.530, i64 9 }, { ptr, i64 } { ptr @tn.str.531, i64 9 }, { ptr, i64 } { ptr @tn.str.532, i64 6 }, { ptr, i64 } { ptr @tn.str.533, i64 16 }, { ptr, i64 } { ptr @tn.str.534, i64 13 }, { ptr, i64 } { ptr @tn.str.535, i64 14 }, { ptr, i64 } { ptr @tn.str.536, i64 7 }, { ptr, i64 } { ptr @tn.str.537, i64 7 }, { ptr, i64 } { ptr @tn.str.538, i64 8 }, { ptr, i64 } { ptr @tn.str.539, i64 8 }, { ptr, i64 } { ptr @tn.str.540, i64 9 }, { ptr, i64 } { ptr @tn.str.541, i64 5 }, { ptr, i64 } { ptr @tn.str.542, i64 11 }, { ptr, i64 } { ptr @tn.str.543, i64 10 }, { ptr, i64 } { ptr @tn.str.544, i64 8 }, { ptr, i64 } { ptr @tn.str.545, i64 5 }, { ptr, i64 } { ptr @tn.str.546, i64 12 }, { ptr, i64 } { ptr @tn.str.547, i64 7 }, { ptr, i64 } { ptr @tn.str.548, i64 6 }, { ptr, i64 } { ptr @tn.str.549, i64 10 }, { ptr, i64 } { ptr @tn.str.550, i64 19 }, { ptr, i64 } { ptr @tn.str.551, i64 6 }, { ptr, i64 } { ptr @tn.str.552, i64 5 }, { ptr, i64 } { ptr @tn.str.553, i64 10 }, { ptr, i64 } { ptr @tn.str.554, i64 5 }, { ptr, i64 } { ptr @tn.str.555, i64 9 }, { ptr, i64 } { ptr @tn.str.556, i64 7 }, { ptr, i64 } { ptr @tn.str.557, i64 10 }, { ptr, i64 } { ptr @tn.str.558, i64 8 }, { ptr, i64 } { ptr @tn.str.559, i64 6 }, { ptr, i64 } { ptr @tn.str.560, i64 8 }, { ptr, i64 } { ptr @tn.str.561, i64 5 }, { ptr, i64 } { ptr @tn.str.562, i64 8 }, { ptr, i64 } { ptr @tn.str.563, i64 6 }, { ptr, i64 } { ptr @tn.str.564, i64 8 }, { ptr, i64 } { ptr @tn.str.565, i64 10 }, { ptr, i64 } { ptr @tn.str.566, i64 8 }, { ptr, i64 } { ptr @tn.str.567, i64 12 }, { ptr, i64 } { ptr @tn.str.568, i64 6 }, { ptr, i64 } { ptr @tn.str.569, i64 13 }, { ptr, i64 } { ptr @tn.str.570, i64 7 }, { ptr, i64 } { ptr @tn.str.571, i64 8 }, { ptr, i64 } { ptr @tn.str.572, i64 5 }, { ptr, i64 } { ptr @tn.str.573, i64 7 }, { ptr, i64 } { ptr @tn.str.574, i64 4 }, { ptr, i64 } { ptr @tn.str.575, i64 6 }, { ptr, i64 } { ptr @tn.str.576, i64 7 }, { ptr, i64 } { ptr @tn.str.577, i64 8 }, { ptr, i64 } { ptr @tn.str.578, i64 6 }, { ptr, i64 } { ptr @tn.str.579, i64 8 }, { ptr, i64 } { ptr @tn.str.580, i64 9 }, { ptr, i64 } { ptr @tn.str.581, i64 15 }, { ptr, i64 } { ptr @tn.str.582, i64 8 }] -@str.583 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.584 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.585 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.586 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.587 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.588 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.589 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.590 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.591 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.592 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.593 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.594 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.595 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.596 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.597 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.598 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.599 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.600 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.601 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.602 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.603 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.604 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 -@str.605 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.606 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 -@str.607 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 -@str.608 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.609 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 -@str.610 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 -@str.611 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.612 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 -@str.613 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.616 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@tn.str.409 = private constant [5 x i8] c"bool\00" +@tn.str.410 = private constant [3 x i8] c"i8\00" +@tn.str.411 = private constant [4 x i8] c"i16\00" +@tn.str.412 = private constant [4 x i8] c"i32\00" +@tn.str.413 = private constant [4 x i8] c"i64\00" +@tn.str.414 = private constant [3 x i8] c"u8\00" +@tn.str.415 = private constant [4 x i8] c"u16\00" +@tn.str.416 = private constant [4 x i8] c"u32\00" +@tn.str.417 = private constant [4 x i8] c"u64\00" +@tn.str.418 = private constant [4 x i8] c"f32\00" +@tn.str.419 = private constant [4 x i8] c"f64\00" +@tn.str.420 = private constant [7 x i8] c"string\00" +@tn.str.421 = private constant [4 x i8] c"Any\00" +@tn.str.422 = private constant [9 x i8] c"noreturn\00" +@tn.str.423 = private constant [6 x i8] c"isize\00" +@tn.str.424 = private constant [6 x i8] c"usize\00" +@tn.str.425 = private constant [5 x i8] c"void\00" +@tn.str.426 = private constant [8 x i8] c"cstring\00" +@tn.str.427 = private constant [6 x i8] c"*void\00" +@tn.str.428 = private constant [16 x i8] c"Source_Location\00" +@tn.str.429 = private constant [10 x i8] c"Allocator\00" +@tn.str.430 = private constant [8 x i8] c"Context\00" +@tn.str.431 = private constant [7 x i8] c"[4]i64\00" +@tn.str.432 = private constant [9 x i8] c"[]string\00" +@tn.str.433 = private constant [11 x i8] c"CAllocator\00" +@tn.str.434 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.435 = private constant [4 x i8] c"GPA\00" +@tn.str.436 = private constant [5 x i8] c"*GPA\00" +@tn.str.437 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.438 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.439 = private constant [6 x i8] c"Arena\00" +@tn.str.440 = private constant [7 x i8] c"*Arena\00" +@tn.str.441 = private constant [6 x i8] c"[*]u8\00" +@tn.str.442 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.443 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.444 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.445 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.446 = private constant [9 x i8] c"OpenMode\00" +@tn.str.447 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.448 = private constant [5 x i8] c"File\00" +@tn.str.449 = private constant [6 x i8] c"*File\00" +@tn.str.450 = private constant [6 x i8] c"?File\00" +@tn.str.451 = private constant [8 x i8] c"?string\00" +@tn.str.452 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.453 = private constant [9 x i8] c"?cstring\00" +@tn.str.454 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.455 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.456 = private constant [5 x i8] c"*i32\00" +@tn.str.457 = private constant [9 x i8] c"SockAddr\00" +@tn.str.458 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.459 = private constant [5 x i8] c"*u32\00" +@tn.str.460 = private constant [8 x i8] c"SockErr\00" +@tn.str.461 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.462 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.463 = private constant [10 x i8] c"JsonError\00" +@tn.str.464 = private constant [6 x i8] c"Array\00" +@tn.str.465 = private constant [7 x i8] c"Object\00" +@tn.str.466 = private constant [6 x i8] c"Value\00" +@tn.str.467 = private constant [7 x i8] c"Member\00" +@tn.str.468 = private constant [9 x i8] c"[*]Value\00" +@tn.str.469 = private constant [7 x i8] c"*Array\00" +@tn.str.470 = private constant [10 x i8] c"[*]Member\00" +@tn.str.471 = private constant [8 x i8] c"*Object\00" +@tn.str.472 = private constant [5 x i8] c"[]u8\00" +@tn.str.473 = private constant [5 x i8] c"Sink\00" +@tn.str.474 = private constant [6 x i8] c"*Sink\00" +@tn.str.475 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.476 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.477 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.478 = private constant [7 x i8] c"Parser\00" +@tn.str.479 = private constant [8 x i8] c"*Parser\00" +@tn.str.480 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.481 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.482 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.483 = private constant [13 x i8] c"Architecture\00" +@tn.str.484 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.485 = private constant [11 x i8] c"() -> bool\00" +@tn.str.486 = private constant [5 x i8] c"*i64\00" +@tn.str.487 = private constant [9 x i8] c"CliError\00" +@tn.str.488 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.489 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.490 = private constant [8 x i8] c"Command\00" +@tn.str.491 = private constant [10 x i8] c"FlagValue\00" +@tn.str.492 = private constant [5 x i8] c"Diag\00" +@tn.str.493 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.494 = private constant [7 x i8] c"Parsed\00" +@tn.str.495 = private constant [8 x i8] c"*Parsed\00" +@tn.str.496 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.497 = private constant [10 x i8] c"[]Command\00" +@tn.str.498 = private constant [6 x i8] c"*Diag\00" +@tn.str.499 = private constant [7 x i8] c"[8]i64\00" +@tn.str.500 = private constant [7 x i8] c"[64]u8\00" +@tn.str.501 = private constant [7 x i8] c"Sha256\00" +@tn.str.502 = private constant [8 x i8] c"*Sha256\00" +@tn.str.503 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.504 = private constant [8 x i8] c"[64]i64\00" +@tn.str.505 = private constant [9 x i8] c"Timespec\00" +@tn.str.506 = private constant [10 x i8] c"*Timespec\00" +@tn.str.507 = private constant [7 x i8] c"Kevent\00" +@tn.str.508 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.509 = private constant [8 x i8] c"*Kevent\00" +@tn.str.510 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.511 = private constant [9 x i8] c"EventErr\00" +@tn.str.512 = private constant [6 x i8] c"Event\00" +@tn.str.513 = private constant [5 x i8] c"Loop\00" +@tn.str.514 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.515 = private constant [6 x i8] c"*Loop\00" +@tn.str.516 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.517 = private constant [8 x i8] c"[]Event\00" +@tn.str.518 = private constant [8 x i8] c"HttpErr\00" +@tn.str.519 = private constant [7 x i8] c"Config\00" +@tn.str.520 = private constant [8 x i8] c"Request\00" +@tn.str.521 = private constant [9 x i8] c"Response\00" +@tn.str.522 = private constant [9 x i8] c"*Request\00" +@tn.str.523 = private constant [5 x i8] c"Conn\00" +@tn.str.524 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.525 = private constant [10 x i8] c"*Response\00" +@tn.str.526 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.527 = private constant [7 x i8] c"Server\00" +@tn.str.528 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.529 = private constant [8 x i8] c"*Server\00" +@tn.str.530 = private constant [8 x i8] c"[16]f32\00" +@tn.str.531 = private constant [5 x i8] c"Mat4\00" +@tn.str.532 = private constant [5 x i8] c"Vec2\00" +@tn.str.533 = private constant [6 x i8] c"Point\00" +@tn.str.534 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.535 = private constant [7 x i8] c"**void\00" +@tn.str.536 = private constant [8 x i8] c"*string\00" +@tn.str.537 = private constant [6 x i8] c"[]Any\00" +@tn.str.538 = private constant [5 x i8] c"*Any\00" +@tn.str.539 = private constant [7 x i8] c"*[]Any\00" +@tn.str.540 = private constant [4 x i8] c"*u8\00" +@tn.str.541 = private constant [6 x i8] c"*bool\00" +@tn.str.542 = private constant [7 x i8] c"*Point\00" +@tn.str.543 = private constant [7 x i8] c"[1]Any\00" +@tn.str.544 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.545 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.546 = private constant [5 x i8] c"*f64\00" +@tn.str.547 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.548 = private constant [11 x i8] c"*Allocator\00" +@tn.str.549 = private constant [9 x i8] c"*Context\00" +@tn.str.550 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.551 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.552 = private constant [8 x i8] c"*Member\00" +@tn.str.553 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.554 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.555 = private constant [9 x i8] c"*Command\00" +@tn.str.556 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.557 = private constant [7 x i8] c"*Event\00" +@tn.str.558 = private constant [8 x i8] c"*Config\00" +@tn.str.559 = private constant [6 x i8] c"*Conn\00" +@tn.str.560 = private constant [6 x i8] c"*Mat4\00" +@tn.str.561 = private constant [6 x i8] c"*Vec2\00" +@tn.str.562 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.563 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.564 = private constant [7 x i8] c"*Value\00" +@tn.str.565 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.566 = private constant [14 x i8] c"*Architecture\00" +@tn.str.567 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.568 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.569 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.570 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.571 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.572 = private constant [10 x i8] c"*[]string\00" +@tn.str.573 = private constant [6 x i8] c"*[]u8\00" +@tn.str.574 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.575 = private constant [11 x i8] c"*[]Command\00" +@tn.str.576 = private constant [9 x i8] c"*[]Event\00" +@tn.str.577 = private constant [6 x i8] c"**GPA\00" +@tn.str.578 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.579 = private constant [8 x i8] c"**Arena\00" +@tn.str.580 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.581 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.582 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.583 = private constant [7 x i8] c"**File\00" +@tn.str.584 = private constant [6 x i8] c"**i32\00" +@tn.str.585 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.586 = private constant [6 x i8] c"**u32\00" +@tn.str.587 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.588 = private constant [8 x i8] c"**Array\00" +@tn.str.589 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.590 = private constant [9 x i8] c"**Object\00" +@tn.str.591 = private constant [7 x i8] c"**Sink\00" +@tn.str.592 = private constant [9 x i8] c"**Parser\00" +@tn.str.593 = private constant [6 x i8] c"**i64\00" +@tn.str.594 = private constant [9 x i8] c"**Parsed\00" +@tn.str.595 = private constant [7 x i8] c"**Diag\00" +@tn.str.596 = private constant [9 x i8] c"**Sha256\00" +@tn.str.597 = private constant [11 x i8] c"**Timespec\00" +@tn.str.598 = private constant [9 x i8] c"**Kevent\00" +@tn.str.599 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.600 = private constant [7 x i8] c"**Loop\00" +@tn.str.601 = private constant [10 x i8] c"**Request\00" +@tn.str.602 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.603 = private constant [11 x i8] c"**Response\00" +@tn.str.604 = private constant [9 x i8] c"**Server\00" +@tn.str.605 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.606 = private constant [8 x i8] c"***void\00" +@tn.str.607 = private constant [9 x i8] c"**string\00" +@tn.str.608 = private constant [6 x i8] c"**Any\00" +@tn.str.609 = private constant [8 x i8] c"**[]Any\00" +@tn.str.610 = private constant [5 x i8] c"**u8\00" +@tn.str.611 = private constant [7 x i8] c"**bool\00" +@tn.str.612 = private constant [8 x i8] c"**Point\00" +@tn.str.613 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.614 = private constant [7 x i8] c"*?File\00" +@tn.str.615 = private constant [9 x i8] c"*?string\00" +@tn.str.616 = private constant [10 x i8] c"*?cstring\00" +@tn.str.617 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.618 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [211 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.409, i64 4 }, { ptr, i64 } { ptr @tn.str.410, i64 2 }, { ptr, i64 } { ptr @tn.str.411, i64 3 }, { ptr, i64 } { ptr @tn.str.412, i64 3 }, { ptr, i64 } { ptr @tn.str.413, i64 3 }, { ptr, i64 } { ptr @tn.str.414, i64 2 }, { ptr, i64 } { ptr @tn.str.415, i64 3 }, { ptr, i64 } { ptr @tn.str.416, i64 3 }, { ptr, i64 } { ptr @tn.str.417, i64 3 }, { ptr, i64 } { ptr @tn.str.418, i64 3 }, { ptr, i64 } { ptr @tn.str.419, i64 3 }, { ptr, i64 } { ptr @tn.str.420, i64 6 }, { ptr, i64 } { ptr @tn.str.421, i64 3 }, { ptr, i64 } { ptr @tn.str.422, i64 8 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 5 }, { ptr, i64 } { ptr @tn.str.425, i64 4 }, { ptr, i64 } { ptr @tn.str.426, i64 7 }, { ptr, i64 } { ptr @tn.str.427, i64 5 }, { ptr, i64 } { ptr @tn.str.428, i64 15 }, { ptr, i64 } { ptr @tn.str.429, i64 9 }, { ptr, i64 } { ptr @tn.str.430, i64 7 }, { ptr, i64 } { ptr @tn.str.431, i64 6 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 11 }, { ptr, i64 } { ptr @tn.str.435, i64 3 }, { ptr, i64 } { ptr @tn.str.436, i64 4 }, { ptr, i64 } { ptr @tn.str.437, i64 10 }, { ptr, i64 } { ptr @tn.str.438, i64 11 }, { ptr, i64 } { ptr @tn.str.439, i64 5 }, { ptr, i64 } { ptr @tn.str.440, i64 6 }, { ptr, i64 } { ptr @tn.str.441, i64 5 }, { ptr, i64 } { ptr @tn.str.442, i64 8 }, { ptr, i64 } { ptr @tn.str.443, i64 9 }, { ptr, i64 } { ptr @tn.str.444, i64 17 }, { ptr, i64 } { ptr @tn.str.445, i64 18 }, { ptr, i64 } { ptr @tn.str.446, i64 8 }, { ptr, i64 } { ptr @tn.str.447, i64 8 }, { ptr, i64 } { ptr @tn.str.448, i64 4 }, { ptr, i64 } { ptr @tn.str.449, i64 5 }, { ptr, i64 } { ptr @tn.str.450, i64 5 }, { ptr, i64 } { ptr @tn.str.451, i64 7 }, { ptr, i64 } { ptr @tn.str.452, i64 10 }, { ptr, i64 } { ptr @tn.str.453, i64 8 }, { ptr, i64 } { ptr @tn.str.454, i64 13 }, { ptr, i64 } { ptr @tn.str.455, i64 14 }, { ptr, i64 } { ptr @tn.str.456, i64 4 }, { ptr, i64 } { ptr @tn.str.457, i64 8 }, { ptr, i64 } { ptr @tn.str.458, i64 9 }, { ptr, i64 } { ptr @tn.str.459, i64 4 }, { ptr, i64 } { ptr @tn.str.460, i64 7 }, { ptr, i64 } { ptr @tn.str.461, i64 14 }, { ptr, i64 } { ptr @tn.str.462, i64 14 }, { ptr, i64 } { ptr @tn.str.463, i64 9 }, { ptr, i64 } { ptr @tn.str.464, i64 5 }, { ptr, i64 } { ptr @tn.str.465, i64 6 }, { ptr, i64 } { ptr @tn.str.466, i64 5 }, { ptr, i64 } { ptr @tn.str.467, i64 6 }, { ptr, i64 } { ptr @tn.str.468, i64 8 }, { ptr, i64 } { ptr @tn.str.469, i64 6 }, { ptr, i64 } { ptr @tn.str.470, i64 9 }, { ptr, i64 } { ptr @tn.str.471, i64 7 }, { ptr, i64 } { ptr @tn.str.472, i64 4 }, { ptr, i64 } { ptr @tn.str.473, i64 4 }, { ptr, i64 } { ptr @tn.str.474, i64 5 }, { ptr, i64 } { ptr @tn.str.475, i64 16 }, { ptr, i64 } { ptr @tn.str.476, i64 14 }, { ptr, i64 } { ptr @tn.str.477, i64 21 }, { ptr, i64 } { ptr @tn.str.478, i64 6 }, { ptr, i64 } { ptr @tn.str.479, i64 7 }, { ptr, i64 } { ptr @tn.str.480, i64 24 }, { ptr, i64 } { ptr @tn.str.481, i64 23 }, { ptr, i64 } { ptr @tn.str.482, i64 15 }, { ptr, i64 } { ptr @tn.str.483, i64 12 }, { ptr, i64 } { ptr @tn.str.484, i64 12 }, { ptr, i64 } { ptr @tn.str.485, i64 10 }, { ptr, i64 } { ptr @tn.str.486, i64 4 }, { ptr, i64 } { ptr @tn.str.487, i64 8 }, { ptr, i64 } { ptr @tn.str.488, i64 8 }, { ptr, i64 } { ptr @tn.str.489, i64 10 }, { ptr, i64 } { ptr @tn.str.490, i64 7 }, { ptr, i64 } { ptr @tn.str.491, i64 9 }, { ptr, i64 } { ptr @tn.str.492, i64 4 }, { ptr, i64 } { ptr @tn.str.493, i64 13 }, { ptr, i64 } { ptr @tn.str.494, i64 6 }, { ptr, i64 } { ptr @tn.str.495, i64 7 }, { ptr, i64 } { ptr @tn.str.496, i64 18 }, { ptr, i64 } { ptr @tn.str.497, i64 9 }, { ptr, i64 } { ptr @tn.str.498, i64 5 }, { ptr, i64 } { ptr @tn.str.499, i64 6 }, { ptr, i64 } { ptr @tn.str.500, i64 6 }, { ptr, i64 } { ptr @tn.str.501, i64 6 }, { ptr, i64 } { ptr @tn.str.502, i64 7 }, { ptr, i64 } { ptr @tn.str.503, i64 7 }, { ptr, i64 } { ptr @tn.str.504, i64 7 }, { ptr, i64 } { ptr @tn.str.505, i64 8 }, { ptr, i64 } { ptr @tn.str.506, i64 9 }, { ptr, i64 } { ptr @tn.str.507, i64 6 }, { ptr, i64 } { ptr @tn.str.508, i64 10 }, { ptr, i64 } { ptr @tn.str.509, i64 7 }, { ptr, i64 } { ptr @tn.str.510, i64 11 }, { ptr, i64 } { ptr @tn.str.511, i64 8 }, { ptr, i64 } { ptr @tn.str.512, i64 5 }, { ptr, i64 } { ptr @tn.str.513, i64 4 }, { ptr, i64 } { ptr @tn.str.514, i64 16 }, { ptr, i64 } { ptr @tn.str.515, i64 5 }, { ptr, i64 } { ptr @tn.str.516, i64 15 }, { ptr, i64 } { ptr @tn.str.517, i64 7 }, { ptr, i64 } { ptr @tn.str.518, i64 7 }, { ptr, i64 } { ptr @tn.str.519, i64 6 }, { ptr, i64 } { ptr @tn.str.520, i64 7 }, { ptr, i64 } { ptr @tn.str.521, i64 8 }, { ptr, i64 } { ptr @tn.str.522, i64 8 }, { ptr, i64 } { ptr @tn.str.523, i64 4 }, { ptr, i64 } { ptr @tn.str.524, i64 7 }, { ptr, i64 } { ptr @tn.str.525, i64 9 }, { ptr, i64 } { ptr @tn.str.526, i64 21 }, { ptr, i64 } { ptr @tn.str.527, i64 6 }, { ptr, i64 } { ptr @tn.str.528, i64 17 }, { ptr, i64 } { ptr @tn.str.529, i64 7 }, { ptr, i64 } { ptr @tn.str.530, i64 7 }, { ptr, i64 } { ptr @tn.str.531, i64 4 }, { ptr, i64 } { ptr @tn.str.532, i64 4 }, { ptr, i64 } { ptr @tn.str.533, i64 5 }, { ptr, i64 } { ptr @tn.str.534, i64 12 }, { ptr, i64 } { ptr @tn.str.535, i64 6 }, { ptr, i64 } { ptr @tn.str.536, i64 7 }, { ptr, i64 } { ptr @tn.str.537, i64 5 }, { ptr, i64 } { ptr @tn.str.538, i64 4 }, { ptr, i64 } { ptr @tn.str.539, i64 6 }, { ptr, i64 } { ptr @tn.str.540, i64 3 }, { ptr, i64 } { ptr @tn.str.541, i64 5 }, { ptr, i64 } { ptr @tn.str.542, i64 6 }, { ptr, i64 } { ptr @tn.str.543, i64 6 }, { ptr, i64 } { ptr @tn.str.544, i64 7 }, { ptr, i64 } { ptr @tn.str.545, i64 7 }, { ptr, i64 } { ptr @tn.str.546, i64 4 }, { ptr, i64 } { ptr @tn.str.547, i64 16 }, { ptr, i64 } { ptr @tn.str.548, i64 10 }, { ptr, i64 } { ptr @tn.str.549, i64 8 }, { ptr, i64 } { ptr @tn.str.550, i64 11 }, { ptr, i64 } { ptr @tn.str.551, i64 14 }, { ptr, i64 } { ptr @tn.str.552, i64 7 }, { ptr, i64 } { ptr @tn.str.553, i64 13 }, { ptr, i64 } { ptr @tn.str.554, i64 9 }, { ptr, i64 } { ptr @tn.str.555, i64 8 }, { ptr, i64 } { ptr @tn.str.556, i64 10 }, { ptr, i64 } { ptr @tn.str.557, i64 6 }, { ptr, i64 } { ptr @tn.str.558, i64 7 }, { ptr, i64 } { ptr @tn.str.559, i64 5 }, { ptr, i64 } { ptr @tn.str.560, i64 5 }, { ptr, i64 } { ptr @tn.str.561, i64 5 }, { ptr, i64 } { ptr @tn.str.562, i64 9 }, { ptr, i64 } { ptr @tn.str.563, i64 9 }, { ptr, i64 } { ptr @tn.str.564, i64 6 }, { ptr, i64 } { ptr @tn.str.565, i64 16 }, { ptr, i64 } { ptr @tn.str.566, i64 13 }, { ptr, i64 } { ptr @tn.str.567, i64 14 }, { ptr, i64 } { ptr @tn.str.568, i64 7 }, { ptr, i64 } { ptr @tn.str.569, i64 7 }, { ptr, i64 } { ptr @tn.str.570, i64 8 }, { ptr, i64 } { ptr @tn.str.571, i64 8 }, { ptr, i64 } { ptr @tn.str.572, i64 9 }, { ptr, i64 } { ptr @tn.str.573, i64 5 }, { ptr, i64 } { ptr @tn.str.574, i64 11 }, { ptr, i64 } { ptr @tn.str.575, i64 10 }, { ptr, i64 } { ptr @tn.str.576, i64 8 }, { ptr, i64 } { ptr @tn.str.577, i64 5 }, { ptr, i64 } { ptr @tn.str.578, i64 12 }, { ptr, i64 } { ptr @tn.str.579, i64 7 }, { ptr, i64 } { ptr @tn.str.580, i64 6 }, { ptr, i64 } { ptr @tn.str.581, i64 10 }, { ptr, i64 } { ptr @tn.str.582, i64 19 }, { ptr, i64 } { ptr @tn.str.583, i64 6 }, { ptr, i64 } { ptr @tn.str.584, i64 5 }, { ptr, i64 } { ptr @tn.str.585, i64 10 }, { ptr, i64 } { ptr @tn.str.586, i64 5 }, { ptr, i64 } { ptr @tn.str.587, i64 9 }, { ptr, i64 } { ptr @tn.str.588, i64 7 }, { ptr, i64 } { ptr @tn.str.589, i64 10 }, { ptr, i64 } { ptr @tn.str.590, i64 8 }, { ptr, i64 } { ptr @tn.str.591, i64 6 }, { ptr, i64 } { ptr @tn.str.592, i64 8 }, { ptr, i64 } { ptr @tn.str.593, i64 5 }, { ptr, i64 } { ptr @tn.str.594, i64 8 }, { ptr, i64 } { ptr @tn.str.595, i64 6 }, { ptr, i64 } { ptr @tn.str.596, i64 8 }, { ptr, i64 } { ptr @tn.str.597, i64 10 }, { ptr, i64 } { ptr @tn.str.598, i64 8 }, { ptr, i64 } { ptr @tn.str.599, i64 12 }, { ptr, i64 } { ptr @tn.str.600, i64 6 }, { ptr, i64 } { ptr @tn.str.601, i64 9 }, { ptr, i64 } { ptr @tn.str.602, i64 8 }, { ptr, i64 } { ptr @tn.str.603, i64 10 }, { ptr, i64 } { ptr @tn.str.604, i64 8 }, { ptr, i64 } { ptr @tn.str.605, i64 13 }, { ptr, i64 } { ptr @tn.str.606, i64 7 }, { ptr, i64 } { ptr @tn.str.607, i64 8 }, { ptr, i64 } { ptr @tn.str.608, i64 5 }, { ptr, i64 } { ptr @tn.str.609, i64 7 }, { ptr, i64 } { ptr @tn.str.610, i64 4 }, { ptr, i64 } { ptr @tn.str.611, i64 6 }, { ptr, i64 } { ptr @tn.str.612, i64 7 }, { ptr, i64 } { ptr @tn.str.613, i64 8 }, { ptr, i64 } { ptr @tn.str.614, i64 6 }, { ptr, i64 } { ptr @tn.str.615, i64 8 }, { ptr, i64 } { ptr @tn.str.616, i64 9 }, { ptr, i64 } { ptr @tn.str.617, i64 15 }, { ptr, i64 } { ptr @tn.str.618, i64 8 }] +@str.619 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.620 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.621 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.622 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.623 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.624 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.625 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.626 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.627 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.628 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.629 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.630 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.631 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.633 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.634 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.636 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.637 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.639 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.640 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 +@str.641 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.642 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 +@str.643 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 +@str.644 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.645 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 +@str.646 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 +@str.647 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.648 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 +@str.649 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.650 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.651 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.617 = private constant [5 x i8] c"line\00" -@fld.str.618 = private constant [4 x i8] c"col\00" -@fld.str.619 = 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.617, i64 4 }, { ptr, i64 } { ptr @fld.str.618, i64 3 }, { ptr, i64 } { ptr @fld.str.619, i64 4 }] -@str.620 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.621 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.624 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.625 = private constant [4 x i8] c"ctx\00" -@fld.str.626 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.627 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.628 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.625, i64 3 }, { ptr, i64 } { ptr @fld.str.626, i64 11 }, { ptr, i64 } { ptr @fld.str.627, i64 13 }] -@str.629 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.630 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.633 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.634 = private constant [10 x i8] c"allocator\00" -@fld.str.635 = private constant [5 x i8] c"data\00" -@field_names.636 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.634, i64 9 }, { ptr, i64 } { ptr @fld.str.635, i64 4 }] -@str.637 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.638 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.642 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.643 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.644 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.648 = private constant [12 x i8] c"alloc_count\00" -@field_names.649 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.648, i64 11 }] -@str.650 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.651 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.655 = private constant [5 x i8] c"next\00" -@fld.str.656 = private constant [4 x i8] c"cap\00" -@field_names.657 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.655, i64 4 }, { ptr, i64 } { ptr @fld.str.656, i64 3 }] -@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.659 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.663 = private constant [6 x i8] c"first\00" -@fld.str.664 = private constant [10 x i8] c"end_index\00" -@fld.str.665 = private constant [7 x i8] c"parent\00" -@field_names.666 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 5 }, { ptr, i64 } { ptr @fld.str.664, i64 9 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }] -@str.667 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.668 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.671 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.672 = private constant [4 x i8] c"buf\00" -@fld.str.673 = private constant [4 x i8] c"len\00" -@fld.str.674 = private constant [4 x i8] c"pos\00" -@field_names.675 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.672, i64 3 }, { ptr, i64 } { ptr @fld.str.673, i64 3 }, { ptr, i64 } { ptr @fld.str.674, i64 3 }] -@str.676 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.677 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.678 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.679 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.680 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.681 = private constant [7 x i8] c"parent\00" -@fld.str.682 = private constant [12 x i8] c"alloc_count\00" -@fld.str.683 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.684 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.685 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.681, i64 6 }, { ptr, i64 } { ptr @fld.str.682, i64 11 }, { ptr, i64 } { ptr @fld.str.683, i64 13 }, { ptr, i64 } { ptr @fld.str.684, i64 17 }] +@fld.str.653 = private constant [5 x i8] c"line\00" +@fld.str.654 = private constant [4 x i8] c"col\00" +@fld.str.655 = 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.653, i64 4 }, { ptr, i64 } { ptr @fld.str.654, i64 3 }, { ptr, i64 } { ptr @fld.str.655, i64 4 }] +@str.656 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.657 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.661 = private constant [4 x i8] c"ctx\00" +@fld.str.662 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.663 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.664 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.661, i64 3 }, { ptr, i64 } { ptr @fld.str.662, i64 11 }, { ptr, i64 } { ptr @fld.str.663, i64 13 }] +@str.665 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.666 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.667 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.668 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.669 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.670 = private constant [10 x i8] c"allocator\00" +@fld.str.671 = private constant [5 x i8] c"data\00" +@field_names.672 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 9 }, { ptr, i64 } { ptr @fld.str.671, i64 4 }] +@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.674 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.675 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.677 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.678 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.679 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.680 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.685 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.684, i64 11 }] @str.686 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.687 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 @str.688 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.689 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.690 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.691 = private constant [3 x i8] c"fd\00" -@field_names.692 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.691, i64 2 }] -@str.693 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.694 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.695 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.697 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.698 = private constant [5 x i8] c"file\00" -@fld.str.699 = private constant [5 x i8] c"line\00" -@fld.str.700 = private constant [4 x i8] c"col\00" -@fld.str.701 = private constant [5 x i8] c"func\00" -@fld.str.702 = private constant [10 x i8] c"line_text\00" -@field_names.703 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.698, i64 4 }, { ptr, i64 } { ptr @fld.str.699, i64 4 }, { ptr, i64 } { ptr @fld.str.700, i64 3 }, { ptr, i64 } { ptr @fld.str.701, i64 4 }, { ptr, i64 } { ptr @fld.str.702, i64 9 }] -@str.704 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.705 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.706 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.707 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.708 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.709 = private constant [10 x i8] c"exit_code\00" -@fld.str.710 = private constant [7 x i8] c"stdout\00" -@field_names.711 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.709, i64 9 }, { ptr, i64 } { ptr @fld.str.710, i64 6 }] +@fld.str.691 = private constant [5 x i8] c"next\00" +@fld.str.692 = private constant [4 x i8] c"cap\00" +@field_names.693 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.691, i64 4 }, { ptr, i64 } { ptr @fld.str.692, i64 3 }] +@str.694 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.695 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.696 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.697 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.698 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.699 = private constant [6 x i8] c"first\00" +@fld.str.700 = private constant [10 x i8] c"end_index\00" +@fld.str.701 = private constant [7 x i8] c"parent\00" +@field_names.702 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.699, i64 5 }, { ptr, i64 } { ptr @fld.str.700, i64 9 }, { ptr, i64 } { ptr @fld.str.701, i64 6 }] +@str.703 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.704 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.705 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.707 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.708 = private constant [4 x i8] c"buf\00" +@fld.str.709 = private constant [4 x i8] c"len\00" +@fld.str.710 = private constant [4 x i8] c"pos\00" +@field_names.711 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.708, i64 3 }, { ptr, i64 } { ptr @fld.str.709, i64 3 }, { ptr, i64 } { ptr @fld.str.710, i64 3 }] @str.712 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.713 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.713 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 @str.714 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.715 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.716 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.717 = private constant [8 x i8] c"sin_len\00" -@fld.str.718 = private constant [11 x i8] c"sin_family\00" -@fld.str.719 = private constant [9 x i8] c"sin_port\00" -@fld.str.720 = private constant [9 x i8] c"sin_addr\00" -@fld.str.721 = private constant [9 x i8] c"sin_zero\00" -@field_names.722 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.717, i64 7 }, { ptr, i64 } { ptr @fld.str.718, i64 10 }, { ptr, i64 } { ptr @fld.str.719, i64 8 }, { ptr, i64 } { ptr @fld.str.720, i64 8 }, { ptr, i64 } { ptr @fld.str.721, i64 8 }] -@str.723 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.724 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.725 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.726 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.728 = private constant [6 x i8] c"items\00" -@fld.str.729 = private constant [4 x i8] c"len\00" -@fld.str.730 = private constant [4 x i8] c"cap\00" -@field_names.731 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.728, i64 5 }, { ptr, i64 } { ptr @fld.str.729, i64 3 }, { ptr, i64 } { ptr @fld.str.730, i64 3 }] -@str.732 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.733 = private unnamed_addr constant [7 x i8] c"Object\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 -@fld.str.737 = private constant [6 x i8] c"items\00" -@fld.str.738 = private constant [4 x i8] c"len\00" -@fld.str.739 = private constant [4 x i8] c"cap\00" -@field_names.740 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.737, i64 5 }, { ptr, i64 } { ptr @fld.str.738, i64 3 }, { ptr, i64 } { ptr @fld.str.739, i64 3 }] -@str.741 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.742 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.743 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.744 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.745 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.746 = private constant [4 x i8] c"key\00" -@fld.str.747 = private constant [4 x i8] c"val\00" -@field_names.748 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.746, i64 3 }, { ptr, i64 } { ptr @fld.str.747, i64 3 }] -@str.749 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.750 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.751 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.752 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.753 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.754 = private constant [4 x i8] c"dst\00" -@fld.str.755 = private constant [4 x i8] c"pos\00" -@fld.str.756 = private constant [5 x i8] c"file\00" -@field_names.757 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.754, i64 3 }, { ptr, i64 } { ptr @fld.str.755, i64 3 }, { ptr, i64 } { ptr @fld.str.756, i64 4 }] -@str.758 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.759 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.760 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.761 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.762 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.763 = private constant [4 x i8] c"src\00" -@fld.str.764 = private constant [4 x i8] c"pos\00" -@fld.str.765 = private constant [6 x i8] c"alloc\00" -@field_names.766 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.763, i64 3 }, { ptr, i64 } { ptr @fld.str.764, i64 3 }, { ptr, i64 } { ptr @fld.str.765, i64 5 }] -@str.767 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.768 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.769 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.770 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.771 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.772 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.773 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.774 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.775 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.776 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.777 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.778 = private constant [5 x i8] c"name\00" -@fld.str.779 = private constant [12 x i8] c"takes_value\00" -@fld.str.780 = private constant [9 x i8] c"required\00" -@field_names.781 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.778, i64 4 }, { ptr, i64 } { ptr @fld.str.779, i64 11 }, { ptr, i64 } { ptr @fld.str.780, i64 8 }] -@str.782 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.783 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.784 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.785 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.786 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.787 = private constant [6 x i8] c"group\00" -@fld.str.788 = private constant [8 x i8] c"command\00" -@fld.str.789 = private constant [6 x i8] c"flags\00" -@field_names.790 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.787, i64 5 }, { ptr, i64 } { ptr @fld.str.788, i64 7 }, { ptr, i64 } { ptr @fld.str.789, i64 5 }] -@str.791 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.792 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.793 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.794 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.795 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.796 = private constant [4 x i8] c"set\00" -@fld.str.797 = private constant [6 x i8] c"value\00" -@field_names.798 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.796, i64 3 }, { ptr, i64 } { ptr @fld.str.797, i64 5 }] -@str.799 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.800 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.801 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.802 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.803 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.804 = private constant [6 x i8] c"index\00" -@fld.str.805 = private constant [6 x i8] c"token\00" -@field_names.806 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.804, i64 5 }, { ptr, i64 } { ptr @fld.str.805, i64 5 }] -@str.807 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.808 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.809 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.810 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.811 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.812 = private constant [6 x i8] c"group\00" -@fld.str.813 = private constant [8 x i8] c"command\00" -@fld.str.814 = private constant [10 x i8] c"cmd_index\00" -@fld.str.815 = private constant [5 x i8] c"json\00" -@fld.str.816 = private constant [5 x i8] c"rest\00" -@fld.str.817 = private constant [5 x i8] c"spec\00" -@fld.str.818 = private constant [7 x i8] c"values\00" -@field_names.819 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.812, i64 5 }, { ptr, i64 } { ptr @fld.str.813, i64 7 }, { ptr, i64 } { ptr @fld.str.814, i64 9 }, { ptr, i64 } { ptr @fld.str.815, i64 4 }, { ptr, i64 } { ptr @fld.str.816, i64 4 }, { ptr, i64 } { ptr @fld.str.817, i64 4 }, { ptr, i64 } { ptr @fld.str.818, i64 6 }] -@str.820 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.821 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.822 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.823 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.824 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.825 = private constant [2 x i8] c"h\00" -@fld.str.826 = private constant [4 x i8] c"buf\00" -@fld.str.827 = private constant [8 x i8] c"buf_len\00" -@fld.str.828 = private constant [10 x i8] c"total_len\00" -@field_names.829 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.825, i64 1 }, { ptr, i64 } { ptr @fld.str.826, i64 3 }, { ptr, i64 } { ptr @fld.str.827, i64 7 }, { ptr, i64 } { ptr @fld.str.828, i64 9 }] -@str.830 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.831 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.832 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.833 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.834 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.835 = private constant [4 x i8] c"sec\00" -@fld.str.836 = private constant [5 x i8] c"nsec\00" -@field_names.837 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.835, i64 3 }, { ptr, i64 } { ptr @fld.str.836, i64 4 }] -@str.838 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.839 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.840 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.841 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.842 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.843 = private constant [6 x i8] c"ident\00" -@fld.str.844 = private constant [7 x i8] c"filter\00" -@fld.str.845 = private constant [6 x i8] c"flags\00" -@fld.str.846 = private constant [7 x i8] c"fflags\00" -@fld.str.847 = private constant [5 x i8] c"data\00" -@fld.str.848 = private constant [6 x i8] c"udata\00" -@field_names.849 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.843, i64 5 }, { ptr, i64 } { ptr @fld.str.844, i64 6 }, { ptr, i64 } { ptr @fld.str.845, i64 5 }, { ptr, i64 } { ptr @fld.str.846, i64 6 }, { ptr, i64 } { ptr @fld.str.847, i64 4 }, { ptr, i64 } { ptr @fld.str.848, i64 5 }] -@str.850 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.851 = private unnamed_addr constant [11 x i8] c"KqTimespec\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"sec\00" -@fld.str.856 = private constant [5 x i8] c"nsec\00" -@field_names.857 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.855, i64 3 }, { ptr, i64 } { ptr @fld.str.856, i64 4 }] -@str.858 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.859 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 -@str.860 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.861 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.862 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.863 = private constant [3 x i8] c"fd\00" -@fld.str.864 = private constant [6 x i8] c"udata\00" -@fld.str.865 = private constant [9 x i8] c"readable\00" -@fld.str.866 = private constant [9 x i8] c"writable\00" -@fld.str.867 = private constant [4 x i8] c"eof\00" -@fld.str.868 = private constant [4 x i8] c"err\00" -@fld.str.869 = private constant [7 x i8] c"nbytes\00" -@field_names.870 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.863, i64 2 }, { ptr, i64 } { ptr @fld.str.864, i64 5 }, { ptr, i64 } { ptr @fld.str.865, i64 8 }, { ptr, i64 } { ptr @fld.str.866, i64 8 }, { ptr, i64 } { ptr @fld.str.867, i64 3 }, { ptr, i64 } { ptr @fld.str.868, i64 3 }, { ptr, i64 } { ptr @fld.str.869, i64 6 }] -@str.871 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.872 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.873 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.874 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.875 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.876 = private constant [3 x i8] c"kq\00" -@field_names.877 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.876, i64 2 }] -@str.878 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.879 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 -@str.880 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.881 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.882 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.717 = private constant [7 x i8] c"parent\00" +@fld.str.718 = private constant [12 x i8] c"alloc_count\00" +@fld.str.719 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.720 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.721 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.717, i64 6 }, { ptr, i64 } { ptr @fld.str.718, i64 11 }, { ptr, i64 } { ptr @fld.str.719, i64 13 }, { ptr, i64 } { ptr @fld.str.720, i64 17 }] +@str.722 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.723 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.726 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.727 = private constant [3 x i8] c"fd\00" +@field_names.728 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.727, i64 2 }] +@str.729 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.730 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.734 = private constant [5 x i8] c"file\00" +@fld.str.735 = private constant [5 x i8] c"line\00" +@fld.str.736 = private constant [4 x i8] c"col\00" +@fld.str.737 = private constant [5 x i8] c"func\00" +@fld.str.738 = private constant [10 x i8] c"line_text\00" +@field_names.739 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.734, i64 4 }, { ptr, i64 } { ptr @fld.str.735, i64 4 }, { ptr, i64 } { ptr @fld.str.736, i64 3 }, { ptr, i64 } { ptr @fld.str.737, i64 4 }, { ptr, i64 } { ptr @fld.str.738, i64 9 }] +@str.740 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.741 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.742 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.743 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.745 = private constant [10 x i8] c"exit_code\00" +@fld.str.746 = private constant [7 x i8] c"stdout\00" +@field_names.747 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.745, i64 9 }, { ptr, i64 } { ptr @fld.str.746, i64 6 }] +@str.748 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.749 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.750 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.752 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.753 = private constant [8 x i8] c"sin_len\00" +@fld.str.754 = private constant [11 x i8] c"sin_family\00" +@fld.str.755 = private constant [9 x i8] c"sin_port\00" +@fld.str.756 = private constant [9 x i8] c"sin_addr\00" +@fld.str.757 = private constant [9 x i8] c"sin_zero\00" +@field_names.758 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.753, i64 7 }, { ptr, i64 } { ptr @fld.str.754, i64 10 }, { ptr, i64 } { ptr @fld.str.755, i64 8 }, { ptr, i64 } { ptr @fld.str.756, i64 8 }, { ptr, i64 } { ptr @fld.str.757, i64 8 }] +@str.759 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.760 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.765 = private constant [4 x i8] c"len\00" +@fld.str.766 = private constant [4 x i8] c"cap\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 3 }, { ptr, i64 } { ptr @fld.str.766, i64 3 }] +@str.768 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.769 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.774 = private constant [4 x i8] c"len\00" +@fld.str.775 = private constant [4 x i8] c"cap\00" +@field_names.776 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.773, i64 5 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.783 = private constant [4 x i8] c"val\00" +@field_names.784 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 3 }, { ptr, i64 } { ptr @fld.str.783, i64 3 }] +@str.785 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.788 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.789 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.790 = private constant [4 x i8] c"dst\00" +@fld.str.791 = private constant [4 x i8] c"pos\00" +@fld.str.792 = private constant [5 x i8] c"file\00" +@field_names.793 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.790, i64 3 }, { ptr, i64 } { ptr @fld.str.791, i64 3 }, { ptr, i64 } { ptr @fld.str.792, i64 4 }] +@str.794 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.795 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.800 = private constant [4 x i8] c"pos\00" +@fld.str.801 = private constant [6 x i8] c"alloc\00" +@field_names.802 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.799, i64 3 }, { ptr, i64 } { ptr @fld.str.800, i64 3 }, { ptr, i64 } { ptr @fld.str.801, i64 5 }] +@str.803 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.804 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.806 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.807 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.808 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.809 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.810 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.812 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.813 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.814 = private constant [5 x i8] c"name\00" +@fld.str.815 = private constant [12 x i8] c"takes_value\00" +@fld.str.816 = private constant [9 x i8] c"required\00" +@field_names.817 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.814, i64 4 }, { ptr, i64 } { ptr @fld.str.815, i64 11 }, { ptr, i64 } { ptr @fld.str.816, i64 8 }] +@str.818 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.819 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.820 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.821 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.822 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.823 = private constant [6 x i8] c"group\00" +@fld.str.824 = private constant [8 x i8] c"command\00" +@fld.str.825 = private constant [6 x i8] c"flags\00" +@field_names.826 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.823, i64 5 }, { ptr, i64 } { ptr @fld.str.824, i64 7 }, { ptr, i64 } { ptr @fld.str.825, i64 5 }] +@str.827 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.828 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.829 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.830 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.831 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.832 = private constant [4 x i8] c"set\00" +@fld.str.833 = private constant [6 x i8] c"value\00" +@field_names.834 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.832, i64 3 }, { ptr, i64 } { ptr @fld.str.833, i64 5 }] +@str.835 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.837 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.838 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.839 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.840 = private constant [6 x i8] c"index\00" +@fld.str.841 = private constant [6 x i8] c"token\00" +@field_names.842 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.840, i64 5 }, { ptr, i64 } { ptr @fld.str.841, i64 5 }] +@str.843 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.844 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.845 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.846 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.847 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.848 = private constant [6 x i8] c"group\00" +@fld.str.849 = private constant [8 x i8] c"command\00" +@fld.str.850 = private constant [10 x i8] c"cmd_index\00" +@fld.str.851 = private constant [5 x i8] c"json\00" +@fld.str.852 = private constant [5 x i8] c"rest\00" +@fld.str.853 = private constant [5 x i8] c"spec\00" +@fld.str.854 = private constant [7 x i8] c"values\00" +@field_names.855 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.848, i64 5 }, { ptr, i64 } { ptr @fld.str.849, i64 7 }, { ptr, i64 } { ptr @fld.str.850, i64 9 }, { ptr, i64 } { ptr @fld.str.851, i64 4 }, { ptr, i64 } { ptr @fld.str.852, i64 4 }, { ptr, i64 } { ptr @fld.str.853, i64 4 }, { ptr, i64 } { ptr @fld.str.854, i64 6 }] +@str.856 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.857 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.858 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.859 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.860 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.861 = private constant [2 x i8] c"h\00" +@fld.str.862 = private constant [4 x i8] c"buf\00" +@fld.str.863 = private constant [8 x i8] c"buf_len\00" +@fld.str.864 = private constant [10 x i8] c"total_len\00" +@field_names.865 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.861, i64 1 }, { ptr, i64 } { ptr @fld.str.862, i64 3 }, { ptr, i64 } { ptr @fld.str.863, i64 7 }, { ptr, i64 } { ptr @fld.str.864, i64 9 }] +@str.866 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.867 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 +@str.868 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.869 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.870 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.871 = private constant [4 x i8] c"sec\00" +@fld.str.872 = private constant [5 x i8] c"nsec\00" +@field_names.873 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.871, i64 3 }, { ptr, i64 } { ptr @fld.str.872, i64 4 }] +@str.874 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.875 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 +@str.876 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.877 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.878 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.879 = private constant [6 x i8] c"ident\00" +@fld.str.880 = private constant [7 x i8] c"filter\00" +@fld.str.881 = private constant [6 x i8] c"flags\00" +@fld.str.882 = private constant [7 x i8] c"fflags\00" @fld.str.883 = private constant [5 x i8] c"data\00" -@field_names.884 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.883, i64 4 }] -@str.885 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.886 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 -@str.887 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.888 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.889 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.890 = private constant [2 x i8] c"x\00" -@fld.str.891 = private constant [2 x i8] c"y\00" -@field_names.892 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.890, i64 1 }, { ptr, i64 } { ptr @fld.str.891, i64 1 }] -@str.893 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.894 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 -@str.895 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.896 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.897 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.898 = private constant [2 x i8] c"x\00" -@fld.str.899 = private constant [2 x i8] c"y\00" -@field_names.900 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.898, i64 1 }, { ptr, i64 } { ptr @fld.str.899, i64 1 }] -@str.901 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.902 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.903 = private constant [5 x i8] c"read\00" -@fld.str.904 = private constant [6 x i8] c"write\00" -@fld.str.905 = private constant [7 x i8] c"append\00" -@fld.str.906 = private constant [11 x i8] c"read_write\00" -@field_names.907 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.903, i64 4 }, { ptr, i64 } { ptr @fld.str.904, i64 5 }, { ptr, i64 } { ptr @fld.str.905, i64 6 }, { ptr, i64 } { ptr @fld.str.906, i64 10 }] -@str.908 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.909 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.910 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.911 = private constant [4 x i8] c"set\00" -@fld.str.912 = private constant [8 x i8] c"current\00" -@fld.str.913 = private constant [4 x i8] c"end\00" -@field_names.914 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.911, i64 3 }, { ptr, i64 } { ptr @fld.str.912, i64 7 }, { ptr, i64 } { ptr @fld.str.913, i64 3 }] -@str.915 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.916 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.917 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.918 = private constant [6 x i8] c"null_\00" -@fld.str.919 = private constant [6 x i8] c"bool_\00" -@fld.str.920 = private constant [5 x i8] c"int_\00" -@fld.str.921 = private constant [4 x i8] c"str\00" -@fld.str.922 = private constant [6 x i8] c"array\00" -@fld.str.923 = private constant [7 x i8] c"object\00" -@field_names.924 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.918, i64 5 }, { ptr, i64 } { ptr @fld.str.919, i64 5 }, { ptr, i64 } { ptr @fld.str.920, i64 4 }, { ptr, i64 } { ptr @fld.str.921, i64 3 }, { ptr, i64 } { ptr @fld.str.922, i64 5 }, { ptr, i64 } { ptr @fld.str.923, i64 6 }] -@str.925 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.926 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.927 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.928 = private constant [6 x i8] c"macos\00" -@fld.str.929 = private constant [6 x i8] c"linux\00" -@fld.str.930 = private constant [8 x i8] c"windows\00" -@fld.str.931 = private constant [5 x i8] c"wasm\00" -@fld.str.932 = private constant [4 x i8] c"ios\00" -@fld.str.933 = private constant [8 x i8] c"android\00" -@fld.str.934 = private constant [8 x i8] c"unknown\00" -@field_names.935 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.928, i64 5 }, { ptr, i64 } { ptr @fld.str.929, i64 5 }, { ptr, i64 } { ptr @fld.str.930, i64 7 }, { ptr, i64 } { ptr @fld.str.931, i64 4 }, { ptr, i64 } { ptr @fld.str.932, i64 3 }, { ptr, i64 } { ptr @fld.str.933, i64 7 }, { ptr, i64 } { ptr @fld.str.934, i64 7 }] -@str.936 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.937 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.938 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.939 = private constant [8 x i8] c"aarch64\00" -@fld.str.940 = private constant [7 x i8] c"x86_64\00" -@fld.str.941 = private constant [7 x i8] c"wasm32\00" -@fld.str.942 = private constant [7 x i8] c"wasm64\00" -@fld.str.943 = private constant [8 x i8] c"unknown\00" -@field_names.944 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.939, i64 7 }, { ptr, i64 } { ptr @fld.str.940, i64 6 }, { ptr, i64 } { ptr @fld.str.941, i64 6 }, { ptr, i64 } { ptr @fld.str.942, i64 6 }, { ptr, i64 } { ptr @fld.str.943, i64 7 }] -@str.945 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.946 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.947 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.948 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.949 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.950 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.951 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.952 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.953 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.954 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.955 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.956 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.957 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.958 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.959 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.960 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.961 = private unnamed_addr constant [3 x i8] c", \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 -@str.965 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.966 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.967 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.968 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.969 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.884 = private constant [6 x i8] c"udata\00" +@field_names.885 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.879, i64 5 }, { ptr, i64 } { ptr @fld.str.880, i64 6 }, { ptr, i64 } { ptr @fld.str.881, i64 5 }, { ptr, i64 } { ptr @fld.str.882, i64 6 }, { ptr, i64 } { ptr @fld.str.883, i64 4 }, { ptr, i64 } { ptr @fld.str.884, i64 5 }] +@str.886 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.887 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.888 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.889 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.890 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.891 = private constant [4 x i8] c"sec\00" +@fld.str.892 = private constant [5 x i8] c"nsec\00" +@field_names.893 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.891, i64 3 }, { ptr, i64 } { ptr @fld.str.892, i64 4 }] +@str.894 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.895 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.896 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.897 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.898 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.899 = private constant [3 x i8] c"fd\00" +@fld.str.900 = private constant [6 x i8] c"udata\00" +@fld.str.901 = private constant [9 x i8] c"readable\00" +@fld.str.902 = private constant [9 x i8] c"writable\00" +@fld.str.903 = private constant [4 x i8] c"eof\00" +@fld.str.904 = private constant [4 x i8] c"err\00" +@fld.str.905 = private constant [7 x i8] c"nbytes\00" +@field_names.906 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.899, i64 2 }, { ptr, i64 } { ptr @fld.str.900, i64 5 }, { ptr, i64 } { ptr @fld.str.901, i64 8 }, { ptr, i64 } { ptr @fld.str.902, i64 8 }, { ptr, i64 } { ptr @fld.str.903, i64 3 }, { ptr, i64 } { ptr @fld.str.904, i64 3 }, { ptr, i64 } { ptr @fld.str.905, i64 6 }] +@str.907 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.908 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.909 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.910 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.911 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.912 = private constant [3 x i8] c"kq\00" +@field_names.913 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.912, i64 2 }] +@str.914 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.915 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.916 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.917 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.918 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.919 = private constant [5 x i8] c"port\00" +@fld.str.920 = private constant [8 x i8] c"backlog\00" +@fld.str.921 = private constant [9 x i8] c"max_conn\00" +@fld.str.922 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.923 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.924 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.925 = private constant [14 x i8] c"request_count\00" +@field_names.926 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.919, i64 4 }, { ptr, i64 } { ptr @fld.str.920, i64 7 }, { ptr, i64 } { ptr @fld.str.921, i64 8 }, { ptr, i64 } { ptr @fld.str.922, i64 12 }, { ptr, i64 } { ptr @fld.str.923, i64 18 }, { ptr, i64 } { ptr @fld.str.924, i64 20 }, { ptr, i64 } { ptr @fld.str.925, i64 13 }] +@str.927 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.928 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.929 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.930 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.931 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.932 = private constant [7 x i8] c"method\00" +@fld.str.933 = private constant [5 x i8] c"path\00" +@fld.str.934 = private constant [8 x i8] c"version\00" +@fld.str.935 = private constant [12 x i8] c"headers_raw\00" +@fld.str.936 = private constant [5 x i8] c"body\00" +@fld.str.937 = private constant [11 x i8] c"keep_alive\00" +@field_names.938 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.932, i64 6 }, { ptr, i64 } { ptr @fld.str.933, i64 4 }, { ptr, i64 } { ptr @fld.str.934, i64 7 }, { ptr, i64 } { ptr @fld.str.935, i64 11 }, { ptr, i64 } { ptr @fld.str.936, i64 4 }, { ptr, i64 } { ptr @fld.str.937, i64 10 }] +@str.939 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.940 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.941 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.942 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.943 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.944 = private constant [7 x i8] c"status\00" +@fld.str.945 = private constant [13 x i8] c"content_type\00" +@fld.str.946 = private constant [14 x i8] c"extra_headers\00" +@fld.str.947 = private constant [5 x i8] c"body\00" +@field_names.948 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.944, i64 6 }, { ptr, i64 } { ptr @fld.str.945, i64 12 }, { ptr, i64 } { ptr @fld.str.946, i64 13 }, { ptr, i64 } { ptr @fld.str.947, i64 4 }] +@str.949 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.950 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.951 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.952 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.953 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.954 = private constant [3 x i8] c"fd\00" +@fld.str.955 = private constant [6 x i8] c"state\00" +@fld.str.956 = private constant [9 x i8] c"read_buf\00" +@fld.str.957 = private constant [9 x i8] c"read_len\00" +@fld.str.958 = private constant [8 x i8] c"out_buf\00" +@fld.str.959 = private constant [8 x i8] c"out_len\00" +@fld.str.960 = private constant [9 x i8] c"out_sent\00" +@fld.str.961 = private constant [9 x i8] c"deadline\00" +@fld.str.962 = private constant [7 x i8] c"served\00" +@fld.str.963 = private constant [12 x i8] c"close_after\00" +@fld.str.964 = private constant [12 x i8] c"write_armed\00" +@field_names.965 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.954, i64 2 }, { ptr, i64 } { ptr @fld.str.955, i64 5 }, { ptr, i64 } { ptr @fld.str.956, i64 8 }, { ptr, i64 } { ptr @fld.str.957, i64 8 }, { ptr, i64 } { ptr @fld.str.958, i64 7 }, { ptr, i64 } { ptr @fld.str.959, i64 7 }, { ptr, i64 } { ptr @fld.str.960, i64 8 }, { ptr, i64 } { ptr @fld.str.961, i64 8 }, { ptr, i64 } { ptr @fld.str.962, i64 6 }, { ptr, i64 } { ptr @fld.str.963, i64 11 }, { ptr, i64 } { ptr @fld.str.964, i64 11 }] +@str.966 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.967 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.968 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.969 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.970 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.971 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.972 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.973 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.974 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.975 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.976 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.979 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.980 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.981 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.971 = private constant [4 x i8] c"cfg\00" +@fld.str.972 = private constant [5 x i8] c"loop\00" +@fld.str.973 = private constant [4 x i8] c"lfd\00" +@fld.str.974 = private constant [6 x i8] c"conns\00" +@fld.str.975 = private constant [10 x i8] c"own_alloc\00" +@fld.str.976 = private constant [8 x i8] c"handler\00" +@field_names.977 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.971, i64 3 }, { ptr, i64 } { ptr @fld.str.972, i64 4 }, { ptr, i64 } { ptr @fld.str.973, i64 3 }, { ptr, i64 } { ptr @fld.str.974, i64 5 }, { ptr, i64 } { ptr @fld.str.975, i64 9 }, { ptr, i64 } { ptr @fld.str.976, i64 7 }] +@str.978 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.979 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 +@str.980 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.981 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.982 = private unnamed_addr constant [3 x i8] c", \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 -@str.986 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.987 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.988 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.989 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.990 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.991 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.992 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.993 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.994 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.995 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.996 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.997 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.998 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.999 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.1000 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1001 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1002 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.1003 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1004 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1005 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.1006 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1007 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1008 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.1009 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1010 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1011 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.1012 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1013 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1014 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.1015 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1016 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1017 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.1018 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1019 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1020 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.1021 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1022 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1023 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.1024 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1025 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1026 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.1027 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1028 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1029 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.1030 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1031 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1032 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.1033 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1034 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1035 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.1036 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1037 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1038 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.1039 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1040 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1041 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.1042 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1043 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1044 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.1045 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1046 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1047 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.1048 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1049 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1050 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.1051 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1052 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1053 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.1054 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1055 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1056 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.1057 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1058 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1059 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.1060 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1061 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1062 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.1063 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1064 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1065 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.1066 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1067 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1068 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.1069 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1070 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1071 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 -@str.1072 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1073 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1074 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 -@str.1075 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1076 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1077 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 -@str.1078 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1079 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1080 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 -@str.1081 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1082 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1083 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 -@str.1084 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1085 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1086 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 -@str.1087 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1088 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1089 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 -@str.1090 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1091 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@fld.str.983 = private constant [5 x i8] c"data\00" +@field_names.984 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.983, i64 4 }] +@str.985 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.986 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 +@str.987 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.988 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.989 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.990 = private constant [2 x i8] c"x\00" +@fld.str.991 = private constant [2 x i8] c"y\00" +@field_names.992 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.990, i64 1 }, { ptr, i64 } { ptr @fld.str.991, i64 1 }] +@str.993 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.994 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 +@str.995 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.996 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.997 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.998 = private constant [2 x i8] c"x\00" +@fld.str.999 = private constant [2 x i8] c"y\00" +@field_names.1000 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.998, i64 1 }, { ptr, i64 } { ptr @fld.str.999, i64 1 }] +@str.1001 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1002 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1003 = private constant [5 x i8] c"read\00" +@fld.str.1004 = private constant [6 x i8] c"write\00" +@fld.str.1005 = private constant [7 x i8] c"append\00" +@fld.str.1006 = private constant [11 x i8] c"read_write\00" +@field_names.1007 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1003, i64 4 }, { ptr, i64 } { ptr @fld.str.1004, i64 5 }, { ptr, i64 } { ptr @fld.str.1005, i64 6 }, { ptr, i64 } { ptr @fld.str.1006, i64 10 }] +@str.1008 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1009 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1010 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1011 = private constant [4 x i8] c"set\00" +@fld.str.1012 = private constant [8 x i8] c"current\00" +@fld.str.1013 = private constant [4 x i8] c"end\00" +@field_names.1014 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1011, i64 3 }, { ptr, i64 } { ptr @fld.str.1012, i64 7 }, { ptr, i64 } { ptr @fld.str.1013, i64 3 }] +@str.1015 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1016 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1017 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1018 = private constant [6 x i8] c"null_\00" +@fld.str.1019 = private constant [6 x i8] c"bool_\00" +@fld.str.1020 = private constant [5 x i8] c"int_\00" +@fld.str.1021 = private constant [4 x i8] c"str\00" +@fld.str.1022 = private constant [6 x i8] c"array\00" +@fld.str.1023 = private constant [7 x i8] c"object\00" +@field_names.1024 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1018, i64 5 }, { ptr, i64 } { ptr @fld.str.1019, i64 5 }, { ptr, i64 } { ptr @fld.str.1020, i64 4 }, { ptr, i64 } { ptr @fld.str.1021, i64 3 }, { ptr, i64 } { ptr @fld.str.1022, i64 5 }, { ptr, i64 } { ptr @fld.str.1023, i64 6 }] +@str.1025 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1026 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1027 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1028 = private constant [6 x i8] c"macos\00" +@fld.str.1029 = private constant [6 x i8] c"linux\00" +@fld.str.1030 = private constant [8 x i8] c"windows\00" +@fld.str.1031 = private constant [5 x i8] c"wasm\00" +@fld.str.1032 = private constant [4 x i8] c"ios\00" +@fld.str.1033 = private constant [8 x i8] c"android\00" +@fld.str.1034 = private constant [8 x i8] c"unknown\00" +@field_names.1035 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1028, i64 5 }, { ptr, i64 } { ptr @fld.str.1029, i64 5 }, { ptr, i64 } { ptr @fld.str.1030, i64 7 }, { ptr, i64 } { ptr @fld.str.1031, i64 4 }, { ptr, i64 } { ptr @fld.str.1032, i64 3 }, { ptr, i64 } { ptr @fld.str.1033, i64 7 }, { ptr, i64 } { ptr @fld.str.1034, i64 7 }] +@str.1036 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1037 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1038 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1039 = private constant [8 x i8] c"aarch64\00" +@fld.str.1040 = private constant [7 x i8] c"x86_64\00" +@fld.str.1041 = private constant [7 x i8] c"wasm32\00" +@fld.str.1042 = private constant [7 x i8] c"wasm64\00" +@fld.str.1043 = private constant [8 x i8] c"unknown\00" +@field_names.1044 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1039, i64 7 }, { ptr, i64 } { ptr @fld.str.1040, i64 6 }, { ptr, i64 } { ptr @fld.str.1041, i64 6 }, { ptr, i64 } { ptr @fld.str.1042, i64 6 }, { ptr, i64 } { ptr @fld.str.1043, i64 7 }] +@str.1045 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1046 = private unnamed_addr constant [2 x i8] c")\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 +@str.1050 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1051 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1052 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1053 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1054 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1055 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1056 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1057 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1058 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.1061 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1062 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1063 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1064 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1065 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1066 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1067 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1068 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1069 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1070 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1071 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1072 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1073 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.1076 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1077 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1078 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1079 = private unnamed_addr constant [3 x i8] c", \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 +@str.1083 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1084 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1085 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1086 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1087 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 +@str.1088 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1089 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1090 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.1091 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1092 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1093 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1094 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1093 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.1094 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1095 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1096 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.1097 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1098 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1099 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.1100 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1101 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1102 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.1103 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1104 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1105 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.1106 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1107 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1108 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.1109 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1110 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1111 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.1112 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1113 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1114 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.1115 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1116 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1117 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.1118 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1119 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1120 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.1121 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1122 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1123 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.1124 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1125 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1126 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.1127 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1128 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1129 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.1130 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1131 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1132 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.1133 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1134 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1135 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.1136 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1137 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1138 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.1139 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1140 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1141 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.1142 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1143 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1144 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.1145 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1146 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1147 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.1148 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1149 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1150 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.1151 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1152 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1153 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.1154 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1155 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1156 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.1157 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1158 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1159 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.1160 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1161 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1162 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.1163 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1164 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1165 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.1166 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1167 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1168 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.1169 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1170 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1171 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.1172 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1173 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1174 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.1175 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1176 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1177 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.1178 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1179 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1180 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.1181 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1182 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1183 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.1184 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1185 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1186 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.1187 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1188 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1189 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.1190 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1191 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1192 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.1193 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1194 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1195 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.1196 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1197 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1198 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 +@str.1199 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1200 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1201 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.1202 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1203 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1204 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1205 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1206 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1207 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -889,7 +985,7 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.366, i64 1 } + ret { ptr, i64 } { ptr @str.382, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 @@ -1006,7 +1102,7 @@ if.else.79: ; preds = %entry br label %if.merge.80 if.merge.80: ; preds = %if.else.79, %if.then.78 - %bp = phi { ptr, i64 } [ { ptr @str.367, i64 4 }, %if.then.78 ], [ { ptr @str.368, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.383, i64 4 }, %if.then.78 ], [ { ptr @str.384, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1175,38 +1271,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.435 + br label %while.hdr.469 -while.hdr.435: ; preds = %if.merge.440, %entry +while.hdr.469: ; preds = %if.merge.474, %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.436, label %while.exit.437 + br i1 %icmp, label %while.body.470, label %while.exit.471 -while.body.436: ; preds = %while.hdr.435 +while.body.470: ; preds = %while.hdr.469 %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.438, label %if.else.439 + br i1 %icmpN, label %if.then.472, label %if.else.473 -while.exit.437: ; preds = %while.hdr.435 +while.exit.471: ; preds = %while.hdr.469 ret void -if.then.438: ; preds = %while.body.436 +if.then.472: ; preds = %while.body.470 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.440 + br label %if.merge.474 -if.else.439: ; preds = %while.body.436 +if.else.473: ; preds = %while.body.470 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.440 + br label %if.merge.474 -if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi i64 [ %addN, %if.then.438 ], [ %addN, %if.else.439 ] +if.merge.474: ; preds = %if.else.473, %if.then.472 + %bp = phi i64 [ %addN, %if.then.472 ], [ %addN, %if.else.473 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1219,7 +1315,7 @@ if.merge.440: ; preds = %if.else.439, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.435 + br label %while.hdr.469 } ; Function Attrs: nounwind @@ -1332,12 +1428,12 @@ entry: 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.433, label %if.merge.434 + br i1 %icmp, label %if.then.467, label %if.merge.468 -if.then.433: ; preds = %entry - ret { ptr, i64 } { ptr @str.369, i64 1 } +if.then.467: ; preds = %entry + ret { ptr, i64 } { ptr @str.385, i64 1 } -if.merge.434: ; preds = %entry +if.merge.468: ; 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 @@ -1360,14 +1456,14 @@ if.merge.434: ; preds = %entry %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.441 + br label %while.hdr.475 -while.hdr.441: ; preds = %if.merge.445, %if.merge.434 +while.hdr.475: ; preds = %if.merge.479, %if.merge.468 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.442, label %while.exit.443 + br i1 %icmpN, label %while.body.476, label %while.exit.477 -while.body.442: ; preds = %while.hdr.441 +while.body.476: ; preds = %while.hdr.475 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1375,9 +1471,9 @@ while.body.442: ; preds = %while.hdr.441 %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.444, label %if.merge.445 + br i1 %icmpN, label %if.then.478, label %if.merge.479 -while.exit.443: ; preds = %if.then.444, %while.hdr.441 +while.exit.477: ; preds = %if.then.478, %while.hdr.475 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1385,14 +1481,14 @@ while.exit.443: ; preds = %if.then.444, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.444: ; preds = %while.body.442 - br label %while.exit.443 +if.then.478: ; preds = %while.body.476 + br label %while.exit.477 -if.merge.445: ; preds = %while.body.442 +if.merge.479: ; preds = %while.body.476 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.441 + br label %while.hdr.475 } ; Function Attrs: nounwind @@ -1486,7 +1582,7 @@ entry: %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.370, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.386, i64 3 }, ptr %allocaN, align 8 %load = load { i64, i64 }, ptr %alloca, align 8 %sg = extractvalue { i64, i64 } %load, 0 %ba.val = insertvalue { i64, i64 } { i64 13, i64 undef }, i64 %sg, 1 @@ -1543,6 +1639,11 @@ entry: i64 111, label %match.arm.43 i64 112, label %match.arm.43 i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 123, label %match.arm.43 + i64 124, label %match.arm.43 + i64 125, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1553,19 +1654,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 110, label %match.arm.47 - i64 123, label %match.arm.47 + i64 122, label %match.arm.47 + i64 135, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 117, label %match.arm.48 + i64 129, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1593,14 +1695,18 @@ entry: i64 102, label %match.arm.49 i64 107, label %match.arm.49 i64 114, label %match.arm.49 - i64 115, label %match.arm.49 i64 116, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 - i64 122, label %match.arm.49 - i64 124, label %match.arm.49 + i64 126, label %match.arm.49 + i64 127, label %match.arm.49 + i64 128, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 + i64 134, label %match.arm.49 + i64 136, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1609,12 +1715,12 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.548, %dispatch.merge.393, %dispatch.merge.355, %dispatch.merge.311, %dispatch.merge.294, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.594, %dispatch.merge.423, %dispatch.merge.385, %dispatch.merge.341, %dispatch.merge.324, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.371, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.387, i64 0 }, ptr %allocaN, align 8 br label %match.merge.37 match.arm.39: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry @@ -1623,7 +1729,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [193 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [211 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1651,7 +1757,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1689,28 +1795,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 111, label %dispatch.case.126 i64 112, label %dispatch.case.127 i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 123, label %dispatch.case.131 + i64 124, label %dispatch.case.132 + i64 125, label %dispatch.case.133 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.295 [ - i64 38, label %dispatch.case.296 - i64 39, label %dispatch.case.297 - i64 58, label %dispatch.case.298 - i64 74, label %dispatch.case.299 - i64 75, label %dispatch.case.300 + switch i64 %ua.raw20, label %dispatch.default.325 [ + i64 38, label %dispatch.case.326 + i64 39, label %dispatch.case.327 + i64 58, label %dispatch.case.328 + i64 74, label %dispatch.case.329 + i64 75, label %dispatch.case.330 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1722,81 +1833,85 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.312 [ - i64 23, label %dispatch.case.313 - i64 85, label %dispatch.case.314 - i64 91, label %dispatch.case.315 - i64 92, label %dispatch.case.316 - i64 96, label %dispatch.case.317 - i64 110, label %dispatch.case.318 - i64 123, label %dispatch.case.319 + switch i64 %ua.raw29, label %dispatch.default.342 [ + i64 23, label %dispatch.case.343 + i64 85, label %dispatch.case.344 + i64 91, label %dispatch.case.345 + i64 92, label %dispatch.case.346 + i64 96, label %dispatch.case.347 + i64 122, label %dispatch.case.348 + i64 135, label %dispatch.case.349 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.356 [ - i64 24, label %dispatch.case.357 - i64 64, label %dispatch.case.358 - i64 81, label %dispatch.case.359 - i64 89, label %dispatch.case.360 - i64 109, label %dispatch.case.361 - i64 117, label %dispatch.case.362 + switch i64 %ua.raw33, label %dispatch.default.386 [ + i64 24, label %dispatch.case.387 + i64 64, label %dispatch.case.388 + i64 81, label %dispatch.case.389 + i64 89, label %dispatch.case.390 + i64 109, label %dispatch.case.391 + i64 129, label %dispatch.case.392 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.394 [ - i64 19, label %dispatch.case.395 - i64 26, label %dispatch.case.396 - i64 28, label %dispatch.case.397 - i64 30, label %dispatch.case.398 - i64 32, label %dispatch.case.399 - i64 33, label %dispatch.case.400 - i64 35, label %dispatch.case.401 - i64 37, label %dispatch.case.402 - i64 41, label %dispatch.case.403 - i64 48, label %dispatch.case.404 - i64 50, label %dispatch.case.405 - i64 51, label %dispatch.case.406 - i64 60, label %dispatch.case.407 - i64 61, label %dispatch.case.408 - i64 62, label %dispatch.case.409 - i64 63, label %dispatch.case.410 - i64 66, label %dispatch.case.411 - i64 71, label %dispatch.case.412 - i64 78, label %dispatch.case.413 - i64 87, label %dispatch.case.414 - i64 90, label %dispatch.case.415 - i64 94, label %dispatch.case.416 - i64 98, label %dispatch.case.417 - i64 101, label %dispatch.case.418 - i64 102, label %dispatch.case.419 - i64 107, label %dispatch.case.420 - i64 114, label %dispatch.case.421 - i64 115, label %dispatch.case.422 - i64 116, label %dispatch.case.423 - i64 118, label %dispatch.case.424 - i64 119, label %dispatch.case.425 - i64 120, label %dispatch.case.426 - i64 121, label %dispatch.case.427 - i64 122, label %dispatch.case.428 - i64 124, label %dispatch.case.429 + switch i64 %ua.raw37, label %dispatch.default.424 [ + i64 19, label %dispatch.case.425 + i64 26, label %dispatch.case.426 + i64 28, label %dispatch.case.427 + i64 30, label %dispatch.case.428 + i64 32, label %dispatch.case.429 + i64 33, label %dispatch.case.430 + i64 35, label %dispatch.case.431 + i64 37, label %dispatch.case.432 + i64 41, label %dispatch.case.433 + i64 48, label %dispatch.case.434 + i64 50, label %dispatch.case.435 + i64 51, label %dispatch.case.436 + i64 60, label %dispatch.case.437 + i64 61, label %dispatch.case.438 + i64 62, label %dispatch.case.439 + i64 63, label %dispatch.case.440 + i64 66, label %dispatch.case.441 + i64 71, label %dispatch.case.442 + i64 78, label %dispatch.case.443 + i64 87, label %dispatch.case.444 + i64 90, label %dispatch.case.445 + i64 94, label %dispatch.case.446 + i64 98, label %dispatch.case.447 + i64 101, label %dispatch.case.448 + i64 102, label %dispatch.case.449 + i64 107, label %dispatch.case.450 + i64 114, label %dispatch.case.451 + i64 116, label %dispatch.case.452 + i64 117, label %dispatch.case.453 + i64 121, label %dispatch.case.454 + i64 126, label %dispatch.case.455 + i64 127, label %dispatch.case.456 + i64 128, label %dispatch.case.457 + i64 130, label %dispatch.case.458 + i64 131, label %dispatch.case.459 + i64 132, label %dispatch.case.460 + i64 133, label %dispatch.case.461 + i64 134, label %dispatch.case.462 + i64 136, label %dispatch.case.463 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.549 [ - i64 42, label %dispatch.case.550 - i64 43, label %dispatch.case.551 - i64 45, label %dispatch.case.552 - i64 47, label %dispatch.case.553 - i64 95, label %dispatch.case.554 + switch i64 %ua.raw41, label %dispatch.default.595 [ + i64 42, label %dispatch.case.596 + i64 43, label %dispatch.case.597 + i64 45, label %dispatch.case.598 + i64 47, label %dispatch.case.599 + i64 95, label %dispatch.case.600 ] match.arm.51: ; preds = %entry @@ -1805,7 +1920,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [193 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [211 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1850,13 +1965,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.583, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.619, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2102,491 +2217,559 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { [16 x float] }, ptr %ua.ptr181, align 4 - %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { float, float }, ptr %ua.ptr185, align 4 - %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { i32, i32 }, ptr %ua.ptr189, align 4 - %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.294: ; preds = %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.default.295 +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { [16 x float] }, ptr %ua.ptr201, align 4 + %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { float, float }, ptr %ua.ptr205, align 4 + %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { i32, i32 }, ptr %ua.ptr209, align 4 + %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.324: ; preds = %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.default.325 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.295: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.584, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.294 +dispatch.default.325: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.620, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.324 -dispatch.case.296: ; preds = %match.arm.44 - %ua.raw193 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw193) +dispatch.case.326: ; preds = %match.arm.44 + %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw213) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.294 + br label %dispatch.merge.324 -dispatch.case.297: ; preds = %match.arm.44 - %ua.raw195 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw195) +dispatch.case.327: ; preds = %match.arm.44 + %ua.raw215 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw215) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.294 + br label %dispatch.merge.324 -dispatch.case.298: ; preds = %match.arm.44 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr198 = inttoptr i64 %ua.raw197 to ptr - %ua.load199 = load { i64, [24 x i8] }, ptr %ua.ptr198, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load199) +dispatch.case.328: ; preds = %match.arm.44 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr218 = inttoptr i64 %ua.raw217 to ptr + %ua.load219 = load { i64, [24 x i8] }, ptr %ua.ptr218, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.294 + br label %dispatch.merge.324 -dispatch.case.299: ; preds = %match.arm.44 - %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw201) +dispatch.case.329: ; preds = %match.arm.44 + %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw221) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.294 + br label %dispatch.merge.324 -dispatch.case.300: ; preds = %match.arm.44 - %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw203) +dispatch.case.330: ; preds = %match.arm.44 + %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw223) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.294 + br label %dispatch.merge.324 -dispatch.merge.311: ; preds = %dispatch.case.319, %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.case.313, %dispatch.default.312 +dispatch.merge.341: ; preds = %dispatch.case.349, %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.case.343, %dispatch.default.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.312: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.585, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.311 +dispatch.default.342: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.621, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.341 -dispatch.case.313: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [4 x i64], ptr %ua.ptr207, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 - -dispatch.case.314: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 - -dispatch.case.315: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [8 x i64], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 - -dispatch.case.316: ; preds = %match.arm.47 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [64 x i8], ptr %ua.ptr219, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 - -dispatch.case.317: ; preds = %match.arm.47 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [64 x i64], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 - -dispatch.case.318: ; preds = %match.arm.47 +dispatch.case.343: ; preds = %match.arm.47 %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [16 x float], ptr %ua.ptr227, align 4 - %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load228) + %ua.load228 = load [4 x i64], ptr %ua.ptr227, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load228) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 + br label %dispatch.merge.341 -dispatch.case.319: ; preds = %match.arm.47 +dispatch.case.344: ; preds = %match.arm.47 %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [1 x { i64, i64 }], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load232) + %ua.load232 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load232) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.311 + br label %dispatch.merge.341 -dispatch.merge.355: ; preds = %dispatch.case.362, %dispatch.case.361, %dispatch.case.360, %dispatch.case.359, %dispatch.case.358, %dispatch.case.357, %dispatch.default.356 +dispatch.case.345: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [8 x i64], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.341 + +dispatch.case.346: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [64 x i8], ptr %ua.ptr239, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.341 + +dispatch.case.347: ; preds = %match.arm.47 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [64 x i64], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.341 + +dispatch.case.348: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [16 x float], ptr %ua.ptr247, align 4 + %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.341 + +dispatch.case.349: ; preds = %match.arm.47 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [1 x { i64, i64 }], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.341 + +dispatch.merge.385: ; preds = %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.default.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.356: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.586, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.355 +dispatch.default.386: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.622, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.385 -dispatch.case.357: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 - -dispatch.case.358: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 - -dispatch.case.359: ; preds = %match.arm.48 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 - -dispatch.case.360: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 - -dispatch.case.361: ; preds = %match.arm.48 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 - -dispatch.case.362: ; preds = %match.arm.48 +dispatch.case.387: ; preds = %match.arm.48 %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load257) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load257) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.355 + br label %dispatch.merge.385 -dispatch.merge.393: ; preds = %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.default.394 +dispatch.case.388: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.385 + +dispatch.case.389: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.385 + +dispatch.case.390: ; preds = %match.arm.48 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.385 + +dispatch.case.391: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.385 + +dispatch.case.392: ; preds = %match.arm.48 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.385 + +dispatch.merge.423: ; preds = %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.default.424 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.394: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.587, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw260 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw260 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.407: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.408: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.409: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.419: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.420: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.421: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp338) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.422: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp341) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.423: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp344) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 - -dispatch.case.424: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp347) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 +dispatch.default.424: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.623, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.423 dispatch.case.425: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp350) + %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw280 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 + br label %dispatch.merge.423 dispatch.case.426: ; preds = %match.arm.49 - %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 - %iNp353 = inttoptr i64 %ua.raw352 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp353) + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 + br label %dispatch.merge.423 dispatch.case.427: ; preds = %match.arm.49 - %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %iNp356 = inttoptr i64 %ua.raw355 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp356) + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 + br label %dispatch.merge.423 dispatch.case.428: ; preds = %match.arm.49 - %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 - %iNp359 = inttoptr i64 %ua.raw358 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp359) + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 + br label %dispatch.merge.423 dispatch.case.429: ; preds = %match.arm.49 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp362) + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.393 + br label %dispatch.merge.423 -dispatch.merge.548: ; preds = %dispatch.case.554, %dispatch.case.553, %dispatch.case.552, %dispatch.case.551, %dispatch.case.550, %dispatch.default.549 +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp295) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.446: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.448: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.460: ; preds = %match.arm.49 + %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp385) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.461: ; preds = %match.arm.49 + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %iNp388 = inttoptr i64 %ua.raw387 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp388) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.462: ; preds = %match.arm.49 + %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 + %iNp391 = inttoptr i64 %ua.raw390 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp391) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.case.463: ; preds = %match.arm.49 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp394) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.423 + +dispatch.merge.594: ; preds = %dispatch.case.600, %dispatch.case.599, %dispatch.case.598, %dispatch.case.597, %dispatch.case.596, %dispatch.default.595 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.549: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.588, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.548 +dispatch.default.595: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.624, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.594 -dispatch.case.550: ; preds = %match.arm.50 - %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr366 = inttoptr i64 %ua.raw365 to ptr - %ua.load367 = load { { i32 }, i1 }, ptr %ua.ptr366, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load367) +dispatch.case.596: ; preds = %match.arm.50 + %ua.raw397 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr398 = inttoptr i64 %ua.raw397 to ptr + %ua.load399 = load { { i32 }, i1 }, ptr %ua.ptr398, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load399) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.548 + br label %dispatch.merge.594 -dispatch.case.551: ; preds = %match.arm.50 - %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr370 = inttoptr i64 %ua.raw369 to ptr - %ua.load371 = load { { ptr, i64 }, i1 }, ptr %ua.ptr370, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load371) +dispatch.case.597: ; preds = %match.arm.50 + %ua.raw401 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr402 = inttoptr i64 %ua.raw401 to ptr + %ua.load403 = load { { ptr, i64 }, i1 }, ptr %ua.ptr402, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load403) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.548 + br label %dispatch.merge.594 -dispatch.case.552: ; preds = %match.arm.50 - %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 - %iNp374 = inttoptr i64 %ua.raw373 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp374) +dispatch.case.598: ; preds = %match.arm.50 + %ua.raw405 = extractvalue { i64, i64 } %loadN, 1 + %iNp406 = inttoptr i64 %ua.raw405 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp406) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.548 + br label %dispatch.merge.594 -dispatch.case.553: ; preds = %match.arm.50 - %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr377 = inttoptr i64 %ua.raw376 to ptr - %ua.load378 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr377, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load378) +dispatch.case.599: ; preds = %match.arm.50 + %ua.raw408 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr409 = inttoptr i64 %ua.raw408 to ptr + %ua.load410 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr409, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load410) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.548 + br label %dispatch.merge.594 -dispatch.case.554: ; preds = %match.arm.50 - %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr381 = inttoptr i64 %ua.raw380 to ptr - %ua.load382 = load { [64 x i8], i1 }, ptr %ua.ptr381, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load382) +dispatch.case.600: ; preds = %match.arm.50 + %ua.raw412 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr413 = inttoptr i64 %ua.raw412 to ptr + %ua.load414 = load { [64 x i8], i1 }, ptr %ua.ptr413, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load414) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.548 + br label %dispatch.merge.594 } ; Function Attrs: nounwind @@ -2595,7 +2778,7 @@ 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.589, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.625, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2691,7 +2874,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, 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 @@ -2699,7 +2882,7 @@ if.then.12: ; preds = %if.then.9 %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.591, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, 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 @@ -2709,13 +2892,13 @@ if.then.12: ; preds = %if.then.9 %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.592, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, 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 @@ -2723,7 +2906,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.594, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2737,7 +2920,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, 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 @@ -2745,7 +2928,7 @@ if.then.23: ; preds = %if.else.10 %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.596, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, 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 @@ -2756,7 +2939,7 @@ if.then.23: ; preds = %if.else.10 %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.597, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2813,7 +2996,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, 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 @@ -2821,7 +3004,7 @@ if.then.32: ; preds = %if.then.29 %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.599, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, 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 @@ -2832,7 +3015,7 @@ if.then.32: ; preds = %if.then.29 %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.600, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2852,7 +3035,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, 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 @@ -2860,7 +3043,7 @@ if.then.35: ; preds = %while.exit.2 %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.602, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, 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 @@ -2871,7 +3054,7 @@ if.then.35: ; preds = %while.exit.2 %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.603, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3704,6 +3887,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @Mat4.identity(ptr sret({ [16 x float] }), ptr) #0 @@ -4637,6 +4868,54 @@ declare i1 @expired.364(ptr, i64) #0 ; Function Attrs: nounwind declare i64 @remaining_ms.365(ptr, i64) #0 +; Function Attrs: nounwind +declare ptr @find_header.366(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare i1 @ascii_ieq.367(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @reason_for.368(ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.init.369(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.close.370(ptr, ptr) #0 + +; Function Attrs: nounwind +declare i64 @Server.free_slot.371(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.conn_close.372(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i32 @Server.tick.373(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.run.374(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.accept_ready.375(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.read_more.376(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serve_buffered.377(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i1 @Server.try_serve_one.378(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serialize_response.379(ptr, ptr, i64, ptr, i1) #0 + +; Function Attrs: nounwind +declare void @Server.write_more.380(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close.381(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4695,14 +4974,14 @@ entry: define internal void @print__ct_s86e89ca9c0674196__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.604, i64 29 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.640, i64 29 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.605, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.641, i64 0 }, ptr %allocaN, align 8 %load = 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 29) @@ -4718,7 +4997,7 @@ entry: ; 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.606, i64 29 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.642, i64 29 }) ret { ptr, i64 } %call } @@ -4726,7 +5005,7 @@ entry: define internal void @print__ct_sfd746eca0faee40b__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.607, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.643, i64 11 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4742,7 +5021,7 @@ entry: %gepN = getelementptr inbounds { 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.608, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.644, 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 8) @@ -4770,7 +5049,7 @@ entry: ; 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.609, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.645, i64 11 }) ret { ptr, i64 } %call } @@ -4778,7 +5057,7 @@ entry: define internal void @print__ct_s61f699add92dd2af__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.610, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.646, i64 9 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4794,7 +5073,7 @@ entry: %gepN = getelementptr inbounds { 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.611, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.647, 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 6) @@ -4822,7 +5101,7 @@ entry: ; 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.612, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.648, i64 9 }) ret { ptr, i64 } %call } @@ -4833,35 +5112,35 @@ entry: %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.613, i64 15 }, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 15 }, { ptr, i64 } { ptr @str.650, 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.129 + br label %while.hdr.134 -while.hdr.129: ; preds = %fv.merge, %entry +while.hdr.134: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.130, label %while.exit.131 + br i1 %icmp, label %while.body.135, label %while.exit.136 -while.body.130: ; preds = %while.hdr.129 +while.body.135: ; preds = %while.hdr.134 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.132, label %if.merge.133 + br i1 %icmpN, label %if.then.137, label %if.merge.138 -while.exit.131: ; preds = %while.hdr.129 +while.exit.136: ; preds = %while.hdr.134 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) ret { ptr, i64 } %callN -if.then.132: ; preds = %while.body.130 +if.then.137: ; preds = %while.body.135 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.133 + br label %if.merge.138 -if.merge.133: ; preds = %if.then.132, %while.body.130 +if.merge.138: ; preds = %if.then.137, %while.body.135 %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 @@ -4869,7 +5148,7 @@ if.merge.133: ; preds = %if.then.132, %while %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.620, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, 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 @@ -4889,31 +5168,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.129 + br label %while.hdr.134 -fv.default: ; preds = %if.merge.133 +fv.default: ; preds = %if.merge.138 br label %fv.merge -fv.case: ; preds = %if.merge.133 +fv.case: ; preds = %if.merge.138 %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.133 +fv.case17: ; preds = %if.merge.138 %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.133 +fv.case20: ; preds = %if.merge.138 %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.133 +fv.case24: ; preds = %if.merge.138 %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 @@ -4926,43 +5205,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.621, i64 9 }, { ptr, i64 } { ptr @str.622, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 9 }, { ptr, i64 } { ptr @str.658, 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.134 + br label %while.hdr.139 -while.hdr.134: ; preds = %fv.merge, %entry +while.hdr.139: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.135, label %while.exit.136 + br i1 %icmp, label %while.body.140, label %while.exit.141 -while.body.135: ; preds = %while.hdr.134 +while.body.140: ; preds = %while.hdr.139 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.137, label %if.merge.138 + br i1 %icmpN, label %if.then.142, label %if.merge.143 -while.exit.136: ; preds = %while.hdr.134 +while.exit.141: ; preds = %while.hdr.139 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) ret { ptr, i64 } %callN -if.then.137: ; preds = %while.body.135 +if.then.142: ; preds = %while.body.140 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.138 + br label %if.merge.143 -if.merge.138: ; preds = %if.then.137, %while.body.135 +if.merge.143: ; preds = %if.then.142, %while.body.140 %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.628, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.664, 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.629, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, 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 @@ -4981,24 +5260,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.134 + br label %while.hdr.139 -fv.default: ; preds = %if.merge.138 +fv.default: ; preds = %if.merge.143 br label %fv.merge -fv.case: ; preds = %if.merge.138 +fv.case: ; preds = %if.merge.143 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.138 +fv.case17: ; preds = %if.merge.143 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.138 +fv.case21: ; preds = %if.merge.143 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -5011,43 +5290,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 7 }, { ptr, i64 } { ptr @str.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 7 }, { ptr, i64 } { ptr @str.667, 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.139 + br label %while.hdr.144 -while.hdr.139: ; preds = %fv.merge, %entry +while.hdr.144: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.140, label %while.exit.141 + br i1 %icmp, label %while.body.145, label %while.exit.146 -while.body.140: ; preds = %while.hdr.139 +while.body.145: ; preds = %while.hdr.144 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.142, label %if.merge.143 + br i1 %icmpN, label %if.then.147, label %if.merge.148 -while.exit.141: ; preds = %while.hdr.139 +while.exit.146: ; preds = %while.hdr.144 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 1 }) ret { ptr, i64 } %callN -if.then.142: ; preds = %while.body.140 +if.then.147: ; preds = %while.body.145 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.143 + br label %if.merge.148 -if.merge.143: ; preds = %if.then.142, %while.body.140 +if.merge.148: ; preds = %if.then.147, %while.body.145 %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.636, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.672, 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.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, 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 %alloca, align 8 @@ -5065,19 +5344,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.139 + br label %while.hdr.144 -fv.default: ; preds = %if.merge.143 +fv.default: ; preds = %if.merge.148 br label %fv.merge -fv.case: ; preds = %if.merge.143 +fv.case: ; preds = %if.merge.148 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.143 +fv.case17: ; preds = %if.merge.148 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -5089,43 +5368,43 @@ 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.638, i64 10 }, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 10 }, { ptr, i64 } { ptr @str.675, 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.144 + br label %while.hdr.149 -while.hdr.144: ; preds = %if.merge.148, %entry +while.hdr.149: ; preds = %if.merge.153, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.145, label %while.exit.146 + br i1 %icmp, label %while.body.150, label %while.exit.151 -while.body.145: ; preds = %while.hdr.144 +while.body.150: ; preds = %while.hdr.149 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.147, label %if.merge.148 + br i1 %icmpN, label %if.then.152, label %if.merge.153 -while.exit.146: ; preds = %while.hdr.144 +while.exit.151: ; preds = %while.hdr.149 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) ret { ptr, i64 } %callN -if.then.147: ; preds = %while.body.145 +if.then.152: ; preds = %while.body.150 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.148 + br label %if.merge.153 -if.merge.148: ; preds = %if.then.147, %while.body.145 +if.merge.153: ; preds = %if.then.152, %while.body.150 %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.642, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.678, 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.643, i64 2 }) + %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 %alloca, align 1 @@ -5136,7 +5415,7 @@ if.merge.148: ; preds = %if.then.147, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.144 + br label %while.hdr.149 } ; Function Attrs: nounwind @@ -5144,43 +5423,43 @@ 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.644, i64 3 }, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 3 }, { 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.149 + br label %while.hdr.154 -while.hdr.149: ; preds = %fv.merge, %entry +while.hdr.154: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.150, label %while.exit.151 + br i1 %icmp, label %while.body.155, label %while.exit.156 -while.body.150: ; preds = %while.hdr.149 +while.body.155: ; preds = %while.hdr.154 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.152, label %if.merge.153 + br i1 %icmpN, label %if.then.157, label %if.merge.158 -while.exit.151: ; preds = %while.hdr.149 +while.exit.156: ; preds = %while.hdr.154 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 1 }) ret { ptr, i64 } %callN -if.then.152: ; preds = %while.body.150 +if.then.157: ; preds = %while.body.155 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %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.153 + br label %if.merge.158 -if.merge.153: ; preds = %if.then.152, %while.body.150 +if.merge.158: ; preds = %if.then.157, %while.body.155 %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.649, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.685, 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.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, 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 @@ -5197,12 +5476,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.149 + br label %while.hdr.154 -fv.default: ; preds = %if.merge.153 +fv.default: ; preds = %if.merge.158 br label %fv.merge -fv.case: ; preds = %if.merge.153 +fv.case: ; preds = %if.merge.158 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -5213,43 +5492,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.651, i64 10 }, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 10 }, { ptr, i64 } { ptr @str.688, 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.154 + br label %while.hdr.159 -while.hdr.154: ; preds = %fv.merge, %entry +while.hdr.159: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.155, label %while.exit.156 + br i1 %icmp, label %while.body.160, label %while.exit.161 -while.body.155: ; preds = %while.hdr.154 +while.body.160: ; preds = %while.hdr.159 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.157, label %if.merge.158 + br i1 %icmpN, label %if.then.162, label %if.merge.163 -while.exit.156: ; preds = %while.hdr.154 +while.exit.161: ; preds = %while.hdr.159 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 1 }) ret { ptr, i64 } %callN -if.then.157: ; preds = %while.body.155 +if.then.162: ; preds = %while.body.160 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.158 + br label %if.merge.163 -if.merge.158: ; preds = %if.then.157, %while.body.155 +if.merge.163: ; preds = %if.then.162, %while.body.160 %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.657, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.693, 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.658, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, 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 @@ -5267,18 +5546,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.154 + br label %while.hdr.159 -fv.default: ; preds = %if.merge.158 +fv.default: ; preds = %if.merge.163 br label %fv.merge -fv.case: ; preds = %if.merge.158 +fv.case: ; preds = %if.merge.163 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.158 +fv.case17: ; preds = %if.merge.163 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -5290,91 +5569,7 @@ 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.659, i64 5 }, { ptr, i64 } { ptr @str.660, 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.159 - -while.hdr.159: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.160, label %while.exit.161 - -while.body.160: ; preds = %while.hdr.159 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.162, label %if.merge.163 - -while.exit.161: ; preds = %while.hdr.159 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) - ret { ptr, i64 } %callN - -if.then.162: ; preds = %while.body.160 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.163 - -if.merge.163: ; preds = %if.then.162, %while.body.160 - %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.666, 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.667, 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.159 - -fv.default: ; preds = %if.merge.163 - br label %fv.merge - -fv.case: ; preds = %if.merge.163 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.163 - %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.163 - %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 21, 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.668, i64 8 }, { ptr, i64 } { ptr @str.669, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 5 }, { ptr, i64 } { ptr @str.696, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5393,27 +5588,27 @@ while.body.165: ; preds = %while.hdr.164 while.exit.166: ; preds = %while.hdr.164 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) ret { ptr, i64 } %callN if.then.167: ; preds = %while.body.165 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.168 if.merge.168: ; preds = %if.then.167, %while.body.165 %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.675, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.702, 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.676, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, 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 { 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 @@ -5435,17 +5630,101 @@ fv.default: ; preds = %if.merge.168 br label %fv.merge fv.case: ; preds = %if.merge.168 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.168 + %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.168 + %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 21, 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.704, i64 8 }, { ptr, i64 } { ptr @str.705, 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.169 + +while.hdr.169: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.170, label %while.exit.171 + +while.body.170: ; preds = %while.hdr.169 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.172, label %if.merge.173 + +while.exit.171: ; preds = %while.hdr.169 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) + ret { ptr, i64 } %callN + +if.then.172: ; preds = %while.body.170 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.173 + +if.merge.173: ; preds = %if.then.172, %while.body.170 + %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.711, 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.712, 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.169 + +fv.default: ; preds = %if.merge.173 + br label %fv.merge + +fv.case: ; preds = %if.merge.173 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.168 +fv.case17: ; preds = %if.merge.173 %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.168 +fv.case20: ; preds = %if.merge.173 %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 @@ -5457,43 +5736,43 @@ 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.677, i64 17 }, { ptr, i64 } { ptr @str.678, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 17 }, { ptr, i64 } { ptr @str.714, 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.169 + br label %while.hdr.174 -while.hdr.169: ; preds = %fv.merge, %entry +while.hdr.174: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.170, label %while.exit.171 + br i1 %icmp, label %while.body.175, label %while.exit.176 -while.body.170: ; preds = %while.hdr.169 +while.body.175: ; preds = %while.hdr.174 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.172, label %if.merge.173 + br i1 %icmpN, label %if.then.177, label %if.merge.178 -while.exit.171: ; preds = %while.hdr.169 +while.exit.176: ; preds = %while.hdr.174 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.679, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %callN -if.then.172: ; preds = %while.body.170 +if.then.177: ; preds = %while.body.175 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.680, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.173 + br label %if.merge.178 -if.merge.173: ; preds = %if.then.172, %while.body.170 +if.merge.178: ; preds = %if.then.177, %while.body.175 %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.685, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.721, 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.686, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, 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 @@ -5513,29 +5792,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.169 + br label %while.hdr.174 -fv.default: ; preds = %if.merge.173 +fv.default: ; preds = %if.merge.178 br label %fv.merge -fv.case: ; preds = %if.merge.173 +fv.case: ; preds = %if.merge.178 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.173 +fv.case17: ; preds = %if.merge.178 %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.173 +fv.case20: ; preds = %if.merge.178 %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.173 +fv.case23: ; preds = %if.merge.178 %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 @@ -5546,43 +5825,43 @@ 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.687, i64 4 }, { ptr, i64 } { ptr @str.688, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 4 }, { ptr, i64 } { ptr @str.724, 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.174 + br label %while.hdr.179 -while.hdr.174: ; preds = %fv.merge, %entry +while.hdr.179: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.175, label %while.exit.176 + br i1 %icmp, label %while.body.180, label %while.exit.181 -while.body.175: ; preds = %while.hdr.174 +while.body.180: ; preds = %while.hdr.179 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.177, label %if.merge.178 + br i1 %icmpN, label %if.then.182, label %if.merge.183 -while.exit.176: ; preds = %while.hdr.174 +while.exit.181: ; preds = %while.hdr.179 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) ret { ptr, i64 } %callN -if.then.177: ; preds = %while.body.175 +if.then.182: ; preds = %while.body.180 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.178 + br label %if.merge.183 -if.merge.178: ; preds = %if.then.177, %while.body.175 +if.merge.183: ; preds = %if.then.182, %while.body.180 %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.692, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.728, 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.693, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, 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 @@ -5599,12 +5878,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.174 + br label %while.hdr.179 -fv.default: ; preds = %if.merge.178 +fv.default: ; preds = %if.merge.183 br label %fv.merge -fv.case: ; preds = %if.merge.178 +fv.case: ; preds = %if.merge.183 %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 @@ -5619,43 +5898,43 @@ entry: %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.694, i64 10 }, { ptr, i64 } { ptr @str.695, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 10 }, { ptr, i64 } { ptr @str.731, 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.179 + br label %while.hdr.184 -while.hdr.179: ; preds = %fv.merge, %entry +while.hdr.184: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.180, label %while.exit.181 + br i1 %icmp, label %while.body.185, label %while.exit.186 -while.body.180: ; preds = %while.hdr.179 +while.body.185: ; preds = %while.hdr.184 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.182, label %if.merge.183 + br i1 %icmpN, label %if.then.187, label %if.merge.188 -while.exit.181: ; preds = %while.hdr.179 +while.exit.186: ; preds = %while.hdr.184 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %callN -if.then.182: ; preds = %while.body.180 +if.then.187: ; preds = %while.body.185 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.183 + br label %if.merge.188 -if.merge.183: ; preds = %if.then.182, %while.body.180 +if.merge.188: ; preds = %if.then.187, %while.body.185 %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.703, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.739, 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.704, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, 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 @@ -5676,38 +5955,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.179 + br label %while.hdr.184 -fv.default: ; preds = %if.merge.183 +fv.default: ; preds = %if.merge.188 br label %fv.merge -fv.case: ; preds = %if.merge.183 +fv.case: ; preds = %if.merge.188 %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.183 +fv.case17: ; preds = %if.merge.188 %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.183 +fv.case20: ; preds = %if.merge.188 %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.183 +fv.case24: ; preds = %if.merge.188 %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.183 +fv.case29: ; preds = %if.merge.188 %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 @@ -5721,43 +6000,43 @@ 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.705, i64 13 }, { ptr, i64 } { ptr @str.706, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 13 }, { ptr, i64 } { ptr @str.742, 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.184 + br label %while.hdr.189 -while.hdr.184: ; preds = %fv.merge, %entry +while.hdr.189: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.185, label %while.exit.186 + br i1 %icmp, label %while.body.190, label %while.exit.191 -while.body.185: ; preds = %while.hdr.184 +while.body.190: ; preds = %while.hdr.189 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.187, label %if.merge.188 + br i1 %icmpN, label %if.then.192, label %if.merge.193 -while.exit.186: ; preds = %while.hdr.184 +while.exit.191: ; preds = %while.hdr.189 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) ret { ptr, i64 } %callN -if.then.187: ; preds = %while.body.185 +if.then.192: ; preds = %while.body.190 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) + %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 - br label %if.merge.188 + br label %if.merge.193 -if.merge.188: ; preds = %if.then.187, %while.body.185 +if.merge.193: ; preds = %if.then.192, %while.body.190 %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.711, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.747, 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.712, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -5775,18 +6054,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.184 + br label %while.hdr.189 -fv.default: ; preds = %if.merge.188 +fv.default: ; preds = %if.merge.193 br label %fv.merge -fv.case: ; preds = %if.merge.188 +fv.case: ; preds = %if.merge.193 %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.188 +fv.case17: ; preds = %if.merge.193 %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 @@ -5799,43 +6078,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.713, i64 8 }, { ptr, i64 } { ptr @str.714, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 8 }, { ptr, i64 } { ptr @str.750, 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.189 + br label %while.hdr.194 -while.hdr.189: ; preds = %fv.merge, %entry +while.hdr.194: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.190, label %while.exit.191 + br i1 %icmp, label %while.body.195, label %while.exit.196 -while.body.190: ; preds = %while.hdr.189 +while.body.195: ; preds = %while.hdr.194 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.192, label %if.merge.193 + br i1 %icmpN, label %if.then.197, label %if.merge.198 -while.exit.191: ; preds = %while.hdr.189 +while.exit.196: ; preds = %while.hdr.194 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.751, i64 1 }) ret { ptr, i64 } %callN -if.then.192: ; preds = %while.body.190 +if.then.197: ; preds = %while.body.195 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.193 + br label %if.merge.198 -if.merge.193: ; preds = %if.then.192, %while.body.190 +if.merge.198: ; preds = %if.then.197, %while.body.195 %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.722, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.723, i64 2 }) + %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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -5856,36 +6135,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.189 + br label %while.hdr.194 -fv.default: ; preds = %if.merge.193 +fv.default: ; preds = %if.merge.198 br label %fv.merge -fv.case: ; preds = %if.merge.193 +fv.case: ; preds = %if.merge.198 %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.193 +fv.case17: ; preds = %if.merge.198 %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.193 +fv.case21: ; preds = %if.merge.198 %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.193 +fv.case25: ; preds = %if.merge.198 %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.193 +fv.case29: ; preds = %if.merge.198 %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 @@ -5896,89 +6175,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.724, i64 5 }, { ptr, i64 } { ptr @str.725, 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.194 - -while.hdr.194: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.195, label %while.exit.196 - -while.body.195: ; preds = %while.hdr.194 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.197, label %if.merge.198 - -while.exit.196: ; preds = %while.hdr.194 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) - ret { ptr, i64 } %callN - -if.then.197: ; preds = %while.body.195 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.198 - -if.merge.198: ; preds = %if.then.197, %while.body.195 - %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.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 { 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.194 - -fv.default: ; preds = %if.merge.198 - br label %fv.merge - -fv.case: ; preds = %if.merge.198 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.198 - %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.198 - %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.733, i64 6 }, { ptr, i64 } { ptr @str.734, i64 1 }) + %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 @@ -5997,24 +6194,24 @@ while.body.200: ; preds = %while.hdr.199 while.exit.201: ; preds = %while.hdr.199 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.762, i64 1 }) ret { ptr, i64 } %callN if.then.202: ; preds = %while.body.200 %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 }) + %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.203 if.merge.203: ; preds = %if.then.202, %while.body.200 %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.740, i64 0, i64 %loadN + %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.741, i64 2 }) + %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, i64 }, ptr %alloca, align 8 @@ -6041,7 +6238,7 @@ fv.default: ; preds = %if.merge.203 fv.case: ; preds = %if.merge.203 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.203 @@ -6056,13 +6253,11 @@ fv.case20: ; preds = %if.merge.203 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.742, i64 6 }, { ptr, i64 } { ptr @str.743, i64 1 }) + %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 6 }, { 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 @@ -6071,7 +6266,7 @@ entry: while.hdr.204: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.205, label %while.exit.206 while.body.205: ; preds = %while.hdr.204 @@ -6081,24 +6276,108 @@ while.body.205: ; preds = %while.hdr.204 while.exit.206: ; preds = %while.hdr.204 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 1 }) ret { ptr, i64 } %callN if.then.207: ; preds = %while.body.205 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 2 }) + %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.208 if.merge.208: ; preds = %if.then.207, %while.body.205 %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.748, i64 0, i64 %loadN + %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.749, i64 2 }) + %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.204 + +fv.default: ; preds = %if.merge.208 + br label %fv.merge + +fv.case: ; preds = %if.merge.208 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.208 + %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.208 + %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.778, i64 6 }, { 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.209 + +while.hdr.209: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.210, label %while.exit.211 + +while.body.210: ; preds = %while.hdr.209 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.212, label %if.merge.213 + +while.exit.211: ; preds = %while.hdr.209 + %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.212: ; preds = %while.body.210 + %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.213 + +if.merge.213: ; preds = %if.then.212, %while.body.210 + %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.784, 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.785, 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 @@ -6116,19 +6395,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.204 + br label %while.hdr.209 -fv.default: ; preds = %if.merge.208 +fv.default: ; preds = %if.merge.213 br label %fv.merge -fv.case: ; preds = %if.merge.208 +fv.case: ; preds = %if.merge.213 %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.208 +fv.case17: ; preds = %if.merge.213 %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 @@ -6142,93 +6421,7 @@ 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.750, i64 4 }, { ptr, i64 } { ptr @str.751, 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.209 - -while.hdr.209: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.210, label %while.exit.211 - -while.body.210: ; preds = %while.hdr.209 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.212, label %if.merge.213 - -while.exit.211: ; preds = %while.hdr.209 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) - ret { ptr, i64 } %callN - -if.then.212: ; preds = %while.body.210 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.213 - -if.merge.213: ; preds = %if.then.212, %while.body.210 - %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.757, 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.758, 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.209 - -fv.default: ; preds = %if.merge.213 - br label %fv.merge - -fv.case: ; preds = %if.merge.213 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.213 - %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.213 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.759, i64 6 }, { ptr, i64 } { ptr @str.760, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 4 }, { ptr, i64 } { ptr @str.787, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6247,24 +6440,110 @@ while.body.215: ; preds = %while.hdr.214 while.exit.216: ; preds = %while.hdr.214 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.761, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 1 }) ret { ptr, i64 } %callN if.then.217: ; preds = %while.body.215 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.762, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.218 if.merge.218: ; preds = %if.then.217, %while.body.215 %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.766, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.767, i64 2 }) + %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 { { 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.214 + +fv.default: ; preds = %if.merge.218 + br label %fv.merge + +fv.case: ; preds = %if.merge.218 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.218 + %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.218 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.795, i64 6 }, { 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.219 + +while.hdr.219: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.220, label %while.exit.221 + +while.body.220: ; preds = %while.hdr.219 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.222, label %if.merge.223 + +while.exit.221: ; preds = %while.hdr.219 + %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.222: ; preds = %while.body.220 + %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.223 + +if.merge.223: ; preds = %if.then.222, %while.body.220 + %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.802, 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.803, 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 @@ -6283,24 +6562,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.214 + br label %while.hdr.219 -fv.default: ; preds = %if.merge.218 +fv.default: ; preds = %if.merge.223 br label %fv.merge -fv.case: ; preds = %if.merge.218 +fv.case: ; preds = %if.merge.223 %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.218 +fv.case17: ; preds = %if.merge.223 %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.218 +fv.case20: ; preds = %if.merge.223 %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 @@ -6313,43 +6592,43 @@ 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.768, i64 12 }, { ptr, i64 } { ptr @str.769, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 12 }, { ptr, i64 } { ptr @str.805, 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.219 + br label %while.hdr.224 -while.hdr.219: ; preds = %if.merge.223, %entry +while.hdr.224: ; preds = %if.merge.228, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.220, label %while.exit.221 + br i1 %icmp, label %while.body.225, label %while.exit.226 -while.body.220: ; preds = %while.hdr.219 +while.body.225: ; preds = %while.hdr.224 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.222, label %if.merge.223 + br i1 %icmpN, label %if.then.227, label %if.merge.228 -while.exit.221: ; preds = %while.hdr.219 +while.exit.226: ; preds = %while.hdr.224 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.770, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 1 }) ret { ptr, i64 } %callN -if.then.222: ; preds = %while.body.220 +if.then.227: ; preds = %while.body.225 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.223 + br label %if.merge.228 -if.merge.223: ; preds = %if.then.222, %while.body.220 +if.merge.228: ; preds = %if.then.227, %while.body.225 %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.772, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.808, 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.773, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6360,7 +6639,7 @@ if.merge.223: ; preds = %if.then.222, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.219 + br label %while.hdr.224 } ; Function Attrs: nounwind @@ -6369,95 +6648,7 @@ 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.774, i64 8 }, { ptr, i64 } { ptr @str.775, 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.224 - -while.hdr.224: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.225, label %while.exit.226 - -while.body.225: ; preds = %while.hdr.224 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.227, label %if.merge.228 - -while.exit.226: ; preds = %while.hdr.224 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 1 }) - ret { ptr, i64 } %callN - -if.then.227: ; preds = %while.body.225 - %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 - br label %if.merge.228 - -if.merge.228: ; preds = %if.then.227, %while.body.225 - %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.781, 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.782, 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.224 - -fv.default: ; preds = %if.merge.228 - br label %fv.merge - -fv.case: ; preds = %if.merge.228 - %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.228 - %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.228 - %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.783, i64 7 }, { ptr, i64 } { ptr @str.784, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 8 }, { ptr, i64 } { ptr @str.811, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6476,24 +6667,112 @@ while.body.230: ; preds = %while.hdr.229 while.exit.231: ; preds = %while.hdr.229 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.812, i64 1 }) ret { ptr, i64 } %callN if.then.232: ; preds = %while.body.230 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.786, i64 2 }) + %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 br label %if.merge.233 if.merge.233: ; preds = %if.then.232, %while.body.230 %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.790, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.817, 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.791, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.818, 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.229 + +fv.default: ; preds = %if.merge.233 + br label %fv.merge + +fv.case: ; preds = %if.merge.233 + %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.233 + %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.233 + %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.819, i64 7 }, { ptr, i64 } { ptr @str.820, 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.234 + +while.hdr.234: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.235, label %while.exit.236 + +while.body.235: ; preds = %while.hdr.234 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.237, label %if.merge.238 + +while.exit.236: ; preds = %while.hdr.234 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.821, i64 1 }) + ret { ptr, i64 } %callN + +if.then.237: ; preds = %while.body.235 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.822, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.238 + +if.merge.238: ; preds = %if.then.237, %while.body.235 + %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.826, 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.827, 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 @@ -6512,26 +6791,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.229 + br label %while.hdr.234 -fv.default: ; preds = %if.merge.233 +fv.default: ; preds = %if.merge.238 br label %fv.merge -fv.case: ; preds = %if.merge.233 +fv.case: ; preds = %if.merge.238 %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.233 +fv.case17: ; preds = %if.merge.238 %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.233 +fv.case22: ; preds = %if.merge.238 %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 @@ -6545,86 +6824,7 @@ 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.792, i64 9 }, { ptr, i64 } { ptr @str.793, 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.234 - -while.hdr.234: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.235, label %while.exit.236 - -while.body.235: ; preds = %while.hdr.234 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.237, label %if.merge.238 - -while.exit.236: ; preds = %while.hdr.234 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 1 }) - ret { ptr, i64 } %callN - -if.then.237: ; preds = %while.body.235 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.238 - -if.merge.238: ; preds = %if.then.237, %while.body.235 - %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.798, 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.799, 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.234 - -fv.default: ; preds = %if.merge.238 - br label %fv.merge - -fv.case: ; preds = %if.merge.238 - %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.238 - %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.800, i64 4 }, { ptr, i64 } { ptr @str.801, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 9 }, { ptr, i64 } { ptr @str.829, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6643,27 +6843,27 @@ while.body.240: ; preds = %while.hdr.239 while.exit.241: ; preds = %while.hdr.239 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.830, i64 1 }) ret { ptr, i64 } %callN if.then.242: ; preds = %while.body.240 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.831, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.243 if.merge.243: ; preds = %if.then.242, %while.body.240 %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.806, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.834, 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.807, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.835, 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 { 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 @@ -6684,11 +6884,90 @@ fv.default: ; preds = %if.merge.243 br label %fv.merge fv.case: ; preds = %if.merge.243 + %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.243 + %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.836, i64 4 }, { ptr, i64 } { ptr @str.837, 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.244 + +while.hdr.244: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.245, label %while.exit.246 + +while.body.245: ; preds = %while.hdr.244 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.247, label %if.merge.248 + +while.exit.246: ; preds = %while.hdr.244 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.838, i64 1 }) + ret { ptr, i64 } %callN + +if.then.247: ; preds = %while.body.245 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.839, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.248 + +if.merge.248: ; preds = %if.then.247, %while.body.245 + %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.842, 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.843, 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.244 + +fv.default: ; preds = %if.merge.248 + br label %fv.merge + +fv.case: ; preds = %if.merge.248 %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.243 +fv.case17: ; preds = %if.merge.248 %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 @@ -6706,43 +6985,43 @@ entry: %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.808, i64 6 }, { ptr, i64 } { ptr @str.809, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 6 }, { ptr, i64 } { ptr @str.845, 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.244 + br label %while.hdr.249 -while.hdr.244: ; preds = %fv.merge, %entry +while.hdr.249: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.245, label %while.exit.246 + br i1 %icmp, label %while.body.250, label %while.exit.251 -while.body.245: ; preds = %while.hdr.244 +while.body.250: ; preds = %while.hdr.249 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.247, label %if.merge.248 + br i1 %icmpN, label %if.then.252, label %if.merge.253 -while.exit.246: ; preds = %while.hdr.244 +while.exit.251: ; preds = %while.hdr.249 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.846, i64 1 }) ret { ptr, i64 } %callN -if.then.247: ; preds = %while.body.245 +if.then.252: ; preds = %while.body.250 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.847, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.248 + br label %if.merge.253 -if.merge.248: ; preds = %if.then.247, %while.body.245 +if.merge.253: ; preds = %if.then.252, %while.body.250 %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.819, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.855, 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.820, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.856, 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 @@ -6765,51 +7044,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.244 + br label %while.hdr.249 -fv.default: ; preds = %if.merge.248 +fv.default: ; preds = %if.merge.253 br label %fv.merge -fv.case: ; preds = %if.merge.248 +fv.case: ; preds = %if.merge.253 %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.248 +fv.case17: ; preds = %if.merge.253 %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.248 +fv.case22: ; preds = %if.merge.253 %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.248 +fv.case25: ; preds = %if.merge.253 %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.248 +fv.case28: ; preds = %if.merge.253 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.248 +fv.case33: ; preds = %if.merge.253 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.248 +fv.case38: ; preds = %if.merge.253 %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 @@ -6824,43 +7103,43 @@ entry: %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.821, i64 6 }, { ptr, i64 } { ptr @str.822, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 6 }, { ptr, i64 } { ptr @str.858, 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.249 + br label %while.hdr.254 -while.hdr.249: ; preds = %fv.merge, %entry +while.hdr.254: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.250, label %while.exit.251 + br i1 %icmp, label %while.body.255, label %while.exit.256 -while.body.250: ; preds = %while.hdr.249 +while.body.255: ; preds = %while.hdr.254 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.252, label %if.merge.253 + br i1 %icmpN, label %if.then.257, label %if.merge.258 -while.exit.251: ; preds = %while.hdr.249 +while.exit.256: ; preds = %while.hdr.254 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.823, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.859, i64 1 }) ret { ptr, i64 } %callN -if.then.252: ; preds = %while.body.250 +if.then.257: ; preds = %while.body.255 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.860, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.253 + br label %if.merge.258 -if.merge.253: ; preds = %if.then.252, %while.body.250 +if.merge.258: ; preds = %if.then.257, %while.body.255 %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.829, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.865, 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.830, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.866, 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 @@ -6880,31 +7159,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.249 + br label %while.hdr.254 -fv.default: ; preds = %if.merge.253 +fv.default: ; preds = %if.merge.258 br label %fv.merge -fv.case: ; preds = %if.merge.253 +fv.case: ; preds = %if.merge.258 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.253 +fv.case17: ; preds = %if.merge.258 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.253 +fv.case22: ; preds = %if.merge.258 %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.253 +fv.case25: ; preds = %if.merge.258 %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 @@ -6915,43 +7194,43 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.831, i64 8 }, { ptr, i64 } { ptr @str.832, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 8 }, { ptr, i64 } { ptr @str.868, 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.254 + br label %while.hdr.259 -while.hdr.254: ; preds = %fv.merge, %entry +while.hdr.259: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.255, label %while.exit.256 + br i1 %icmp, label %while.body.260, label %while.exit.261 -while.body.255: ; preds = %while.hdr.254 +while.body.260: ; preds = %while.hdr.259 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.257, label %if.merge.258 + br i1 %icmpN, label %if.then.262, label %if.merge.263 -while.exit.256: ; preds = %while.hdr.254 +while.exit.261: ; preds = %while.hdr.259 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.833, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.869, i64 1 }) ret { ptr, i64 } %callN -if.then.257: ; preds = %while.body.255 +if.then.262: ; preds = %while.body.260 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.834, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.870, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.258 + br label %if.merge.263 -if.merge.258: ; preds = %if.then.257, %while.body.255 +if.merge.263: ; preds = %if.then.262, %while.body.260 %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.837, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.873, 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.838, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.874, 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 @@ -6969,17 +7248,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.254 + br label %while.hdr.259 -fv.default: ; preds = %if.merge.258 +fv.default: ; preds = %if.merge.263 br label %fv.merge -fv.case: ; preds = %if.merge.258 +fv.case: ; preds = %if.merge.263 %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.258 +fv.case17: ; preds = %if.merge.263 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6990,43 +7269,43 @@ define internal { ptr, i64 } @struct_to_string__Kevent(ptr %0, { i64, i16, i16, 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.839, i64 6 }, { ptr, i64 } { ptr @str.840, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 6 }, { ptr, i64 } { ptr @str.876, 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.259 + br label %while.hdr.264 -while.hdr.259: ; preds = %fv.merge, %entry +while.hdr.264: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 6 - br i1 %icmp, label %while.body.260, label %while.exit.261 + br i1 %icmp, label %while.body.265, label %while.exit.266 -while.body.260: ; preds = %while.hdr.259 +while.body.265: ; preds = %while.hdr.264 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.262, label %if.merge.263 + br i1 %icmpN, label %if.then.267, label %if.merge.268 -while.exit.261: ; preds = %while.hdr.259 +while.exit.266: ; preds = %while.hdr.264 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.841, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 1 }) ret { ptr, i64 } %callN -if.then.262: ; preds = %while.body.260 +if.then.267: ; preds = %while.body.265 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.878, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.263 + br label %if.merge.268 -if.merge.263: ; preds = %if.then.262, %while.body.260 +if.merge.268: ; preds = %if.then.267, %while.body.265 %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.849, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.885, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.886, 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 @@ -7048,40 +7327,40 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.259 + br label %while.hdr.264 -fv.default: ; preds = %if.merge.263 +fv.default: ; preds = %if.merge.268 br label %fv.merge -fv.case: ; preds = %if.merge.263 +fv.case: ; preds = %if.merge.268 %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.263 +fv.case17: ; preds = %if.merge.268 %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.263 +fv.case20: ; preds = %if.merge.268 %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.263 +fv.case23: ; preds = %if.merge.268 %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.263 +fv.case27: ; preds = %if.merge.268 %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.263 +fv.case30: ; preds = %if.merge.268 %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 @@ -7092,43 +7371,43 @@ define internal { ptr, i64 } @struct_to_string__KqTimespec(ptr %0, { i64, i64 } 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.851, i64 10 }, { ptr, i64 } { ptr @str.852, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 10 }, { ptr, i64 } { ptr @str.888, 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.264 + br label %while.hdr.269 -while.hdr.264: ; preds = %fv.merge, %entry +while.hdr.269: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.265, label %while.exit.266 + br i1 %icmp, label %while.body.270, label %while.exit.271 -while.body.265: ; preds = %while.hdr.264 +while.body.270: ; preds = %while.hdr.269 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.267, label %if.merge.268 + br i1 %icmpN, label %if.then.272, label %if.merge.273 -while.exit.266: ; preds = %while.hdr.264 +while.exit.271: ; preds = %while.hdr.269 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.889, i64 1 }) ret { ptr, i64 } %callN -if.then.267: ; preds = %while.body.265 +if.then.272: ; preds = %while.body.270 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.890, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.268 + br label %if.merge.273 -if.merge.268: ; preds = %if.then.267, %while.body.265 +if.merge.273: ; preds = %if.then.272, %while.body.270 %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.857, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.893, 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.858, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.894, 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 @@ -7146,17 +7425,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.264 + br label %while.hdr.269 -fv.default: ; preds = %if.merge.268 +fv.default: ; preds = %if.merge.273 br label %fv.merge -fv.case: ; preds = %if.merge.268 +fv.case: ; preds = %if.merge.273 %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.268 +fv.case17: ; preds = %if.merge.273 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7167,43 +7446,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 5 }, { ptr, i64 } { ptr @str.860, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.895, i64 5 }, { ptr, i64 } { ptr @str.896, 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.269 + br label %while.hdr.274 -while.hdr.269: ; preds = %fv.merge, %entry +while.hdr.274: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.270, label %while.exit.271 + br i1 %icmp, label %while.body.275, label %while.exit.276 -while.body.270: ; preds = %while.hdr.269 +while.body.275: ; preds = %while.hdr.274 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.272, label %if.merge.273 + br i1 %icmpN, label %if.then.277, label %if.merge.278 -while.exit.271: ; preds = %while.hdr.269 +while.exit.276: ; preds = %while.hdr.274 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.861, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, i64 1 }) ret { ptr, i64 } %callN -if.then.272: ; preds = %while.body.270 +if.then.277: ; preds = %while.body.275 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.862, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.898, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.273 + br label %if.merge.278 -if.merge.273: ; preds = %if.then.272, %while.body.270 +if.merge.278: ; preds = %if.then.277, %while.body.275 %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.870, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.906, 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.871, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.907, 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, i64 }, ptr %alloca, align 8 @@ -7226,47 +7505,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.269 + br label %while.hdr.274 -fv.default: ; preds = %if.merge.273 +fv.default: ; preds = %if.merge.278 br label %fv.merge -fv.case: ; preds = %if.merge.273 +fv.case: ; preds = %if.merge.278 %fv.field = extractvalue { i32, i64, 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.273 +fv.case17: ; preds = %if.merge.278 %fv.field18 = extractvalue { i32, i64, 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.273 +fv.case20: ; preds = %if.merge.278 %fv.field21 = extractvalue { i32, i64, 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.273 +fv.case23: ; preds = %if.merge.278 %fv.field24 = extractvalue { i32, i64, 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.273 +fv.case27: ; preds = %if.merge.278 %fv.field28 = extractvalue { i32, i64, 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.273 +fv.case31: ; preds = %if.merge.278 %fv.field32 = extractvalue { i32, i64, 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.273 +fv.case35: ; preds = %if.merge.278 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -7277,78 +7556,7 @@ 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.872, i64 4 }, { ptr, i64 } { ptr @str.873, 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.274 - -while.hdr.274: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.275, label %while.exit.276 - -while.body.275: ; preds = %while.hdr.274 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.277, label %if.merge.278 - -while.exit.276: ; preds = %while.hdr.274 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.874, i64 1 }) - ret { ptr, i64 } %callN - -if.then.277: ; preds = %while.body.275 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.875, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.278 - -if.merge.278: ; preds = %if.then.277, %while.body.275 - %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.877, 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.878, 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.274 - -fv.default: ; preds = %if.merge.278 - br label %fv.merge - -fv.case: ; preds = %if.merge.278 - %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__Mat4(ptr %0, { [16 x float] } %1) #0 { -entry: - %alloca = alloca { [16 x float] }, align 8 - %ba.tmp = alloca [16 x float], align 4 - store { [16 x float] } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 4 }, { ptr, i64 } { ptr @str.880, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 4 }, { ptr, i64 } { ptr @str.909, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7367,27 +7575,27 @@ while.body.280: ; preds = %while.hdr.279 while.exit.281: ; preds = %while.hdr.279 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.881, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.910, i64 1 }) ret { ptr, i64 } %callN if.then.282: ; preds = %while.body.280 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.882, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.911, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.283 if.merge.283: ; preds = %if.then.282, %while.body.280 %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.884, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.913, 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.885, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.914, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { [16 x float] }, ptr %alloca, align 4 + %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 @@ -7407,19 +7615,18 @@ fv.default: ; preds = %if.merge.283 br label %fv.merge fv.case: ; preds = %if.merge.283 - %fv.field = extractvalue { [16 x float] } %loadN, 0 - store [16 x float] %fv.field, ptr %ba.tmp, align 4 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %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__Vec2(ptr %0, { float, float } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %1) #0 { entry: - %alloca = alloca { float, float }, align 8 - store { float, float } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 4 }, { ptr, i64 } { ptr @str.887, i64 1 }) + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 6 }, { ptr, i64 } { ptr @str.916, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7428,7 +7635,7 @@ entry: while.hdr.284: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 7 br i1 %icmp, label %while.body.285, label %while.exit.286 while.body.285: ; preds = %while.hdr.284 @@ -7438,24 +7645,659 @@ while.body.285: ; preds = %while.hdr.284 while.exit.286: ; preds = %while.hdr.284 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.888, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.917, i64 1 }) ret { ptr, i64 } %callN if.then.287: ; preds = %while.body.285 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.889, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.918, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.288 if.merge.288: ; preds = %if.then.287, %while.body.285 %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.892, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.926, 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.893, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.927, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.284 + +fv.default: ; preds = %if.merge.288 + br label %fv.merge + +fv.case: ; preds = %if.merge.288 + %fv.field = extractvalue { i64, i32, 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.288 + %fv.field18 = extractvalue { i64, i32, 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.288 + %fv.field21 = extractvalue { i64, i32, 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.288 + %fv.field24 = extractvalue { i64, i32, 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.288 + %fv.field27 = extractvalue { i64, i32, 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.288 + %fv.field30 = extractvalue { i64, i32, 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.288 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.928, i64 7 }, { ptr, i64 } { ptr @str.929, 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.289 + +while.hdr.289: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.290, label %while.exit.291 + +while.body.290: ; preds = %while.hdr.289 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.292, label %if.merge.293 + +while.exit.291: ; preds = %while.hdr.289 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.930, i64 1 }) + ret { ptr, i64 } %callN + +if.then.292: ; preds = %while.body.290 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.931, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.293 + +if.merge.293: ; preds = %if.then.292, %while.body.290 + %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.938, 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.939, 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.289 + +fv.default: ; preds = %if.merge.293 + br label %fv.merge + +fv.case: ; preds = %if.merge.293 + %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.293 + %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.293 + %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.293 + %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.293 + %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.293 + %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.940, i64 8 }, { ptr, i64 } { ptr @str.941, 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.294 + +while.hdr.294: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.295, label %while.exit.296 + +while.body.295: ; preds = %while.hdr.294 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.297, label %if.merge.298 + +while.exit.296: ; preds = %while.hdr.294 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.942, i64 1 }) + ret { ptr, i64 } %callN + +if.then.297: ; preds = %while.body.295 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.943, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.298 + +if.merge.298: ; preds = %if.then.297, %while.body.295 + %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.948, 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.949, 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.294 + +fv.default: ; preds = %if.merge.298 + br label %fv.merge + +fv.case: ; preds = %if.merge.298 + %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.298 + %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.298 + %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.298 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.950, i64 4 }, { ptr, i64 } { ptr @str.951, 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.299 + +while.hdr.299: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.300, label %while.exit.301 + +while.body.300: ; preds = %while.hdr.299 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.302, label %if.merge.303 + +while.exit.301: ; preds = %while.hdr.299 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.952, i64 1 }) + ret { ptr, i64 } %callN + +if.then.302: ; preds = %while.body.300 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.953, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.303 + +if.merge.303: ; preds = %if.then.302, %while.body.300 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.965, 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.966, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.299 + +fv.default: ; preds = %if.merge.303 + br label %fv.merge + +fv.case: ; preds = %if.merge.303 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.303 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.303 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.303 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.303 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.303 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.303 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.303 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.303 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.303 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.303 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.967, i64 6 }, { ptr, i64 } { ptr @str.968, 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.304 + +while.hdr.304: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.305, label %while.exit.306 + +while.body.305: ; preds = %while.hdr.304 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.307, label %if.merge.308 + +while.exit.306: ; preds = %while.hdr.304 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.969, i64 1 }) + ret { ptr, i64 } %callN + +if.then.307: ; preds = %while.body.305 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.970, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.308 + +if.merge.308: ; preds = %if.then.307, %while.body.305 + %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.977, 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.978, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.304 + +fv.default: ; preds = %if.merge.308 + br label %fv.merge + +fv.case: ; preds = %if.merge.308 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.308 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.308 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.308 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.308 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.308 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %1) #0 { +entry: + %alloca = alloca { [16 x float] }, align 8 + %ba.tmp = alloca [16 x float], align 4 + store { [16 x float] } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.979, i64 4 }, { ptr, i64 } { ptr @str.980, 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.309 + +while.hdr.309: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.310, label %while.exit.311 + +while.body.310: ; preds = %while.hdr.309 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.312, label %if.merge.313 + +while.exit.311: ; preds = %while.hdr.309 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.981, i64 1 }) + ret { ptr, i64 } %callN + +if.then.312: ; preds = %while.body.310 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.982, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.313 + +if.merge.313: ; preds = %if.then.312, %while.body.310 + %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.984, 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.985, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { [16 x float] }, 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.309 + +fv.default: ; preds = %if.merge.313 + br label %fv.merge + +fv.case: ; preds = %if.merge.313 + %fv.field = extractvalue { [16 x float] } %loadN, 0 + store [16 x float] %fv.field, ptr %ba.tmp, align 4 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1) #0 { +entry: + %alloca = alloca { float, float }, align 8 + store { float, float } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.986, i64 4 }, { ptr, i64 } { ptr @str.987, 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.314 + +while.hdr.314: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.315, label %while.exit.316 + +while.body.315: ; preds = %while.hdr.314 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.317, label %if.merge.318 + +while.exit.316: ; preds = %while.hdr.314 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.988, i64 1 }) + ret { ptr, i64 } %callN + +if.then.317: ; preds = %while.body.315 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.989, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.318 + +if.merge.318: ; preds = %if.then.317, %while.body.315 + %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.992, 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.993, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -7473,19 +8315,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.284 + br label %while.hdr.314 -fv.default: ; preds = %if.merge.288 +fv.default: ; preds = %if.merge.318 br label %fv.merge -fv.case: ; preds = %if.merge.288 +fv.case: ; preds = %if.merge.318 %fv.field = extractvalue { float, float } %loadN, 0 %fNi32 = bitcast float %fv.field to i32 %zN = zext i32 %fNi32 to i64 %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.288 +fv.case17: ; preds = %if.merge.318 %fv.field18 = extractvalue { float, float } %loadN, 1 %fNi3219 = bitcast float %fv.field18 to i32 %zN = zext i32 %fNi3219 to i64 @@ -7498,43 +8340,43 @@ define internal { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %1) # entry: %alloca = alloca { i32, i32 }, align 8 store { i32, i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, i64 5 }, { ptr, i64 } { ptr @str.895, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.994, i64 5 }, { ptr, i64 } { ptr @str.995, 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.289 + br label %while.hdr.319 -while.hdr.289: ; preds = %fv.merge, %entry +while.hdr.319: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.290, label %while.exit.291 + br i1 %icmp, label %while.body.320, label %while.exit.321 -while.body.290: ; preds = %while.hdr.289 +while.body.320: ; preds = %while.hdr.319 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.292, label %if.merge.293 + br i1 %icmpN, label %if.then.322, label %if.merge.323 -while.exit.291: ; preds = %while.hdr.289 +while.exit.321: ; preds = %while.hdr.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.896, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.996, i64 1 }) ret { ptr, i64 } %callN -if.then.292: ; preds = %while.body.290 +if.then.322: ; preds = %while.body.320 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.997, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.293 + br label %if.merge.323 -if.merge.293: ; preds = %if.then.292, %while.body.290 +if.merge.323: ; preds = %if.then.322, %while.body.320 %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.900, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.1000, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1001, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -7552,18 +8394,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.289 + br label %while.hdr.319 -fv.default: ; preds = %if.merge.293 +fv.default: ; preds = %if.merge.323 br label %fv.merge -fv.case: ; preds = %if.merge.293 +fv.case: ; preds = %if.merge.323 %fv.field = extractvalue { i32, 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 -fv.case17: ; preds = %if.merge.293 +fv.case17: ; preds = %if.merge.323 %fv.field18 = extractvalue { i32, i32 } %loadN, 1 %iN = sext i32 %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 @@ -7579,9 +8421,9 @@ entry: %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.907, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1007, 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.902, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1002, 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 @@ -7595,18 +8437,18 @@ entry: %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.301, label %if.merge.302 + br i1 %icmp, label %if.then.331, label %if.merge.332 -if.then.301: ; preds = %entry +if.then.331: ; 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.909, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1009, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1008, 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.302 + br label %if.merge.332 -if.merge.302: ; preds = %if.then.301, %entry +if.merge.332: ; preds = %if.then.331, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7620,9 +8462,9 @@ entry: %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.914, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1014, 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.910, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, 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 @@ -7636,18 +8478,18 @@ entry: %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.303, label %if.merge.304 + br i1 %icmp, label %if.then.333, label %if.merge.334 -if.then.303: ; preds = %entry +if.then.333: ; 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.916, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1016, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1015, 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.304 + br label %if.merge.334 -if.merge.304: ; preds = %if.then.303, %entry +if.merge.334: ; preds = %if.then.333, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7672,9 +8514,9 @@ entry: %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.924, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1024, 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.917, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1017, 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 @@ -7688,16 +8530,16 @@ entry: i64 5, label %fv.case24 ] -if.then.305: ; preds = %fv.merge +if.then.335: ; 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.926, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1026, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1025, 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.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %fv.merge +if.merge.336: ; preds = %if.then.335, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7710,7 +8552,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.305, label %if.merge.306 + br i1 %icmp, label %if.then.335, label %if.merge.336 fv.default: ; preds = %entry br label %fv.merge @@ -7770,9 +8612,9 @@ entry: %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.935, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.1035, 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.927, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1027, 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 @@ -7786,18 +8628,18 @@ entry: %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.307, label %if.merge.308 + br i1 %icmp, label %if.then.337, label %if.merge.338 -if.then.307: ; preds = %entry +if.then.337: ; 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.937, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1037, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1036, 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.308 + br label %if.merge.338 -if.merge.308: ; preds = %if.then.307, %entry +if.merge.338: ; preds = %if.then.337, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7811,9 +8653,9 @@ entry: %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.944, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1044, 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.938, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1038, 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 @@ -7827,18 +8669,18 @@ entry: %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.309, label %if.merge.310 + br i1 %icmp, label %if.then.339, label %if.merge.340 -if.then.309: ; preds = %entry +if.then.339: ; 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.946, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1046, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1045, 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.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %entry +if.merge.340: ; preds = %if.then.339, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7850,33 +8692,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.947, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1047, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.320 + br label %while.hdr.350 -while.hdr.320: ; preds = %if.merge.324, %entry +while.hdr.350: ; preds = %if.merge.354, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.321, label %while.exit.322 + br i1 %icmp, label %while.body.351, label %while.exit.352 -while.body.321: ; preds = %while.hdr.320 +while.body.351: ; preds = %while.hdr.350 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.323, label %if.merge.324 + br i1 %icmpN, label %if.then.353, label %if.merge.354 -while.exit.322: ; preds = %while.hdr.320 +while.exit.352: ; preds = %while.hdr.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.948, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1048, i64 1 }) ret { ptr, i64 } %call -if.then.323: ; preds = %while.body.321 +if.then.353: ; preds = %while.body.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.949, i64 2 }) + %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.324 + br label %if.merge.354 -if.merge.324: ; preds = %if.then.323, %while.body.321 +if.merge.354: ; preds = %if.then.353, %while.body.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7890,7 +8732,7 @@ if.merge.324: ; preds = %if.then.323, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.320 + br label %while.hdr.350 } ; Function Attrs: nounwind @@ -7901,33 +8743,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.950, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1050, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.325 + br label %while.hdr.355 -while.hdr.325: ; preds = %if.merge.329, %entry +while.hdr.355: ; preds = %if.merge.359, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.326, label %while.exit.327 + br i1 %icmp, label %while.body.356, label %while.exit.357 -while.body.326: ; preds = %while.hdr.325 +while.body.356: ; preds = %while.hdr.355 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.328, label %if.merge.329 + br i1 %icmpN, label %if.then.358, label %if.merge.359 -while.exit.327: ; preds = %while.hdr.325 +while.exit.357: ; preds = %while.hdr.355 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.951, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1051, i64 1 }) ret { ptr, i64 } %call -if.then.328: ; preds = %while.body.326 +if.then.358: ; preds = %while.body.356 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1052, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.329 + br label %if.merge.359 -if.merge.329: ; preds = %if.then.328, %while.body.326 +if.merge.359: ; preds = %if.then.358, %while.body.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7943,7 +8785,7 @@ if.merge.329: ; preds = %if.then.328, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.325 + br label %while.hdr.355 } ; Function Attrs: nounwind @@ -7953,33 +8795,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.953, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1053, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.330 + br label %while.hdr.360 -while.hdr.330: ; preds = %if.merge.334, %entry +while.hdr.360: ; preds = %if.merge.364, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.331, label %while.exit.332 + br i1 %icmp, label %while.body.361, label %while.exit.362 -while.body.331: ; preds = %while.hdr.330 +while.body.361: ; preds = %while.hdr.360 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.333, label %if.merge.334 + br i1 %icmpN, label %if.then.363, label %if.merge.364 -while.exit.332: ; preds = %while.hdr.330 +while.exit.362: ; preds = %while.hdr.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.954, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1054, i64 1 }) ret { ptr, i64 } %call -if.then.333: ; preds = %while.body.331 +if.then.363: ; preds = %while.body.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.955, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1055, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.334 + br label %if.merge.364 -if.merge.334: ; preds = %if.then.333, %while.body.331 +if.merge.364: ; preds = %if.then.363, %while.body.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7993,7 +8835,7 @@ if.merge.334: ; preds = %if.then.333, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.330 + br label %while.hdr.360 } ; Function Attrs: nounwind @@ -8003,33 +8845,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.956, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1056, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 -while.hdr.335: ; preds = %if.merge.339, %entry +while.hdr.365: ; preds = %if.merge.369, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.336, label %while.exit.337 + br i1 %icmp, label %while.body.366, label %while.exit.367 -while.body.336: ; preds = %while.hdr.335 +while.body.366: ; preds = %while.hdr.365 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.338, label %if.merge.339 + br i1 %icmpN, label %if.then.368, label %if.merge.369 -while.exit.337: ; preds = %while.hdr.335 +while.exit.367: ; preds = %while.hdr.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.957, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1057, i64 1 }) ret { ptr, i64 } %call -if.then.338: ; preds = %while.body.336 +if.then.368: ; preds = %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.958, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1058, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.339 + br label %if.merge.369 -if.merge.339: ; preds = %if.then.338, %while.body.336 +if.merge.369: ; preds = %if.then.368, %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -8044,7 +8886,7 @@ if.merge.339: ; preds = %if.then.338, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 } ; Function Attrs: nounwind @@ -8054,33 +8896,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.959, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1059, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.340 + br label %while.hdr.370 -while.hdr.340: ; preds = %if.merge.344, %entry +while.hdr.370: ; preds = %if.merge.374, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.341, label %while.exit.342 + br i1 %icmp, label %while.body.371, label %while.exit.372 -while.body.341: ; preds = %while.hdr.340 +while.body.371: ; preds = %while.hdr.370 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.343, label %if.merge.344 + br i1 %icmpN, label %if.then.373, label %if.merge.374 -while.exit.342: ; preds = %while.hdr.340 +while.exit.372: ; preds = %while.hdr.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.960, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1060, i64 1 }) ret { ptr, i64 } %call -if.then.343: ; preds = %while.body.341 +if.then.373: ; preds = %while.body.371 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.961, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1061, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.344 + br label %if.merge.374 -if.merge.344: ; preds = %if.then.343, %while.body.341 +if.merge.374: ; preds = %if.then.373, %while.body.371 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8094,7 +8936,7 @@ if.merge.344: ; preds = %if.then.343, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.340 + br label %while.hdr.370 } ; Function Attrs: nounwind @@ -8104,33 +8946,33 @@ entry: %ig.tmp = alloca [16 x float], align 4 store [16 x float] %1, ptr %alloca, align 4 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.962, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1062, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.963, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1063, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1064, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x float], ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 @@ -8146,7 +8988,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -8157,33 +8999,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.965, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1065, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.966, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1066, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.967, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1067, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8199,7 +9041,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -8209,35 +9051,35 @@ entry: %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.968, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1068, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.363 + br label %while.hdr.393 -while.hdr.363: ; preds = %if.merge.367, %entry +while.hdr.393: ; preds = %if.merge.397, %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.364, label %while.exit.365 + br i1 %icmp, label %while.body.394, label %while.exit.395 -while.body.364: ; preds = %while.hdr.363 +while.body.394: ; preds = %while.hdr.393 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.366, label %if.merge.367 + br i1 %icmpN, label %if.then.396, label %if.merge.397 -while.exit.365: ; preds = %while.hdr.363 +while.exit.395: ; preds = %while.hdr.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.969, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1069, i64 1 }) ret { ptr, i64 } %call -if.then.366: ; preds = %while.body.364 +if.then.396: ; preds = %while.body.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.970, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1070, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.367 + br label %if.merge.397 -if.merge.367: ; preds = %if.then.366, %while.body.364 +if.merge.397: ; preds = %if.then.396, %while.body.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8253,7 +9095,7 @@ if.merge.367: ; preds = %if.then.366, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.363 + br label %while.hdr.393 } ; Function Attrs: nounwind @@ -8262,35 +9104,35 @@ 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.971, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1071, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.368 + br label %while.hdr.398 -while.hdr.368: ; preds = %if.merge.372, %entry +while.hdr.398: ; preds = %if.merge.402, %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.369, label %while.exit.370 + br i1 %icmp, label %while.body.399, label %while.exit.400 -while.body.369: ; preds = %while.hdr.368 +while.body.399: ; preds = %while.hdr.398 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.371, label %if.merge.372 + br i1 %icmpN, label %if.then.401, label %if.merge.402 -while.exit.370: ; preds = %while.hdr.368 +while.exit.400: ; preds = %while.hdr.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.972, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1072, i64 1 }) ret { ptr, i64 } %call -if.then.371: ; preds = %while.body.369 +if.then.401: ; preds = %while.body.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.973, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1073, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.372 + br label %if.merge.402 -if.merge.372: ; preds = %if.then.371, %while.body.369 +if.merge.402: ; preds = %if.then.401, %while.body.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8305,7 +9147,7 @@ if.merge.372: ; preds = %if.then.371, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.368 + br label %while.hdr.398 } ; Function Attrs: nounwind @@ -8315,35 +9157,35 @@ entry: %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.974, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1074, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.373 + br label %while.hdr.403 -while.hdr.373: ; preds = %if.merge.377, %entry +while.hdr.403: ; preds = %if.merge.407, %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.374, label %while.exit.375 + br i1 %icmp, label %while.body.404, label %while.exit.405 -while.body.374: ; preds = %while.hdr.373 +while.body.404: ; preds = %while.hdr.403 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.376, label %if.merge.377 + br i1 %icmpN, label %if.then.406, label %if.merge.407 -while.exit.375: ; preds = %while.hdr.373 +while.exit.405: ; preds = %while.hdr.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.975, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1075, i64 1 }) ret { ptr, i64 } %call -if.then.376: ; preds = %while.body.374 +if.then.406: ; preds = %while.body.404 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.976, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1076, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.377 + br label %if.merge.407 -if.merge.377: ; preds = %if.then.376, %while.body.374 +if.merge.407: ; preds = %if.then.406, %while.body.404 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8359,7 +9201,7 @@ if.merge.377: ; preds = %if.then.376, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.373 + br label %while.hdr.403 } ; Function Attrs: nounwind @@ -8369,35 +9211,35 @@ entry: %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.977, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1077, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.378 + br label %while.hdr.408 -while.hdr.378: ; preds = %if.merge.382, %entry +while.hdr.408: ; preds = %if.merge.412, %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.379, label %while.exit.380 + br i1 %icmp, label %while.body.409, label %while.exit.410 -while.body.379: ; preds = %while.hdr.378 +while.body.409: ; preds = %while.hdr.408 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.381, label %if.merge.382 + br i1 %icmpN, label %if.then.411, label %if.merge.412 -while.exit.380: ; preds = %while.hdr.378 +while.exit.410: ; preds = %while.hdr.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.978, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1078, i64 1 }) ret { ptr, i64 } %call -if.then.381: ; preds = %while.body.379 +if.then.411: ; preds = %while.body.409 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.979, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1079, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.382 + br label %if.merge.412 -if.merge.382: ; preds = %if.then.381, %while.body.379 +if.merge.412: ; preds = %if.then.411, %while.body.409 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8413,7 +9255,7 @@ if.merge.382: ; preds = %if.then.381, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.378 + br label %while.hdr.408 } ; Function Attrs: nounwind @@ -8423,35 +9265,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.980, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1080, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.383 + br label %while.hdr.413 -while.hdr.383: ; preds = %if.merge.387, %entry +while.hdr.413: ; preds = %if.merge.417, %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.384, label %while.exit.385 + br i1 %icmp, label %while.body.414, label %while.exit.415 -while.body.384: ; preds = %while.hdr.383 +while.body.414: ; preds = %while.hdr.413 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.386, label %if.merge.387 + br i1 %icmpN, label %if.then.416, label %if.merge.417 -while.exit.385: ; preds = %while.hdr.383 +while.exit.415: ; preds = %while.hdr.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.981, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1081, i64 1 }) ret { ptr, i64 } %call -if.then.386: ; preds = %while.body.384 +if.then.416: ; preds = %while.body.414 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.982, i64 2 }) + %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.387 + br label %if.merge.417 -if.merge.387: ; preds = %if.then.386, %while.body.384 +if.merge.417: ; preds = %if.then.416, %while.body.414 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8467,7 +9309,7 @@ if.merge.387: ; preds = %if.then.386, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.383 + br label %while.hdr.413 } ; Function Attrs: nounwind @@ -8477,35 +9319,35 @@ entry: %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.983, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1083, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.388 + br label %while.hdr.418 -while.hdr.388: ; preds = %if.merge.392, %entry +while.hdr.418: ; preds = %if.merge.422, %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.389, label %while.exit.390 + br i1 %icmp, label %while.body.419, label %while.exit.420 -while.body.389: ; preds = %while.hdr.388 +while.body.419: ; preds = %while.hdr.418 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.391, label %if.merge.392 + br i1 %icmpN, label %if.then.421, label %if.merge.422 -while.exit.390: ; preds = %while.hdr.388 +while.exit.420: ; preds = %while.hdr.418 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.984, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1084, i64 1 }) ret { ptr, i64 } %call -if.then.391: ; preds = %while.body.389 +if.then.421: ; preds = %while.body.419 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1085, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.392 + br label %if.merge.422 -if.merge.392: ; preds = %if.then.391, %while.body.389 +if.merge.422: ; preds = %if.then.421, %while.body.419 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8521,206 +9363,11 @@ if.merge.392: ; preds = %if.then.391, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.388 + br label %while.hdr.418 } ; 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.430, label %if.else.431 - -if.then.430: ; preds = %entry - br label %if.merge.432 - -if.else.431: ; 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.988, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.987, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.432 - -if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.986, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] - 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.446, label %if.else.447 - -if.then.446: ; preds = %entry - br label %if.merge.448 - -if.else.447: ; 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.991, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.990, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.448 - -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.989, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] - 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.449, label %if.else.450 - -if.then.449: ; preds = %entry - br label %if.merge.451 - -if.else.450: ; 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.994, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.993, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.451 - -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.992, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] - 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.452, label %if.else.453 - -if.then.452: ; preds = %entry - br label %if.merge.454 - -if.else.453: ; 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.997, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.996, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.454 - -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.995, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] - 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.455, label %if.else.456 - -if.then.455: ; preds = %entry - br label %if.merge.457 - -if.else.456: ; 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.1000, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.999, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.457 - -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.998, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] - ret { ptr, i64 } %bp -} - -; 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.458, label %if.else.459 - -if.then.458: ; preds = %entry - br label %if.merge.460 - -if.else.459: ; 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.1003, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1002, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.460 - -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.1001, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] - 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.461, label %if.else.462 - -if.then.461: ; preds = %entry - br label %if.merge.463 - -if.else.462: ; 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.1006, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1005, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.463 - -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.1004, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] - 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 @@ -8738,12 +9385,207 @@ if.then.464: ; preds = %entry if.else.465: ; 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.1009, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1008, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1088, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1087, i64 5 }, { ptr, i64 } %callN) br label %if.merge.466 if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.1007, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + %bp = phi { ptr, i64 } [ { ptr @str.1086, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + 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.480, label %if.else.481 + +if.then.480: ; preds = %entry + br label %if.merge.482 + +if.else.481: ; 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.1091, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1090, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.482 + +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.1089, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + 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.483, label %if.else.484 + +if.then.483: ; preds = %entry + br label %if.merge.485 + +if.else.484: ; 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.1094, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1093, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.485 + +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.1092, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + 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.486, label %if.else.487 + +if.then.486: ; preds = %entry + br label %if.merge.488 + +if.else.487: ; 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.1097, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1096, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.488 + +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.1095, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + 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.489, label %if.else.490 + +if.then.489: ; preds = %entry + br label %if.merge.491 + +if.else.490: ; 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.1100, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1099, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.491 + +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.1098, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + ret { ptr, i64 } %bp +} + +; 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.492, label %if.else.493 + +if.then.492: ; preds = %entry + br label %if.merge.494 + +if.else.493: ; 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.1103, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1102, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.494 + +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.1101, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + 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.495, label %if.else.496 + +if.then.495: ; preds = %entry + br label %if.merge.497 + +if.else.496: ; 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.1106, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1105, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.497 + +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.1104, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + 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.498, label %if.else.499 + +if.then.498: ; preds = %entry + br label %if.merge.500 + +if.else.499: ; 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.1109, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1108, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.500 + +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.1107, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -8758,20 +9600,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.1012, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1011, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1112, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1111, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.1010, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.1110, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -8786,20 +9628,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.1015, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1014, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1115, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1114, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.1013, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.1113, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -8814,20 +9656,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.1018, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1017, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1118, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1117, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.1016, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.1116, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -8842,20 +9684,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.1021, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1020, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1121, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1120, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.1019, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.1119, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -8869,20 +9711,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.1024, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1023, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1124, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1123, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.1022, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.1122, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -8897,20 +9739,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.1027, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1026, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1127, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1126, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.1025, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.1125, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -8924,20 +9766,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.1030, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1029, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1130, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1129, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.1028, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.1128, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -8952,20 +9794,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.1033, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1032, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1133, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1132, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.1031, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.1131, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -8980,20 +9822,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.1036, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1035, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1136, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1135, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.1034, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.1134, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -9008,20 +9850,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.1039, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1038, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1139, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1138, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.1037, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.1137, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -9036,20 +9878,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.1042, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1041, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1142, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1141, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.1040, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.1140, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -9064,20 +9906,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.1045, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1044, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1145, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1144, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.1043, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.1143, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -9092,20 +9934,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.537, label %if.else.538 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.537: ; preds = %entry + br label %if.merge.539 -if.else.504: ; preds = %entry +if.else.538: ; 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.1048, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1047, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1148, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1147, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.539 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.1046, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.1146, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -9120,20 +9962,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.540, label %if.else.541 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.540: ; preds = %entry + br label %if.merge.542 -if.else.507: ; preds = %entry +if.else.541: ; 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.1051, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1050, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1151, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1150, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.1049, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.1149, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -9148,20 +9990,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.510: ; preds = %entry +if.else.544: ; 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.1054, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1053, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1154, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1153, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.1052, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.1152, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -9176,20 +10018,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.513: ; preds = %entry +if.else.547: ; 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.1057, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1056, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1157, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1156, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.1055, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.1155, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -9204,20 +10046,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.516: ; preds = %entry +if.else.550: ; 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.1060, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1059, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1160, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1159, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.1058, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.1158, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -9232,20 +10074,131 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.519: ; preds = %entry +if.else.553: ; 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.1063, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1062, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1163, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1162, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.1061, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.1161, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] + 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.555, label %if.else.556 + +if.then.555: ; preds = %entry + br label %if.merge.557 + +if.else.556: ; 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.1166, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1165, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.557 + +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.1164, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] + 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.558, label %if.else.559 + +if.then.558: ; preds = %entry + br label %if.merge.560 + +if.else.559: ; 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.1169, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1168, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 + +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.1167, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] + 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.561, label %if.else.562 + +if.then.561: ; preds = %entry + br label %if.merge.563 + +if.else.562: ; 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.1172, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1171, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.563 + +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.1170, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] + 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.564, label %if.else.565 + +if.then.564: ; preds = %entry + br label %if.merge.566 + +if.else.565: ; 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.1175, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1174, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 + +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.1173, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -9260,20 +10213,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.1066, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1065, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1178, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1177, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.1064, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.1176, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -9288,20 +10241,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.525: ; preds = %entry +if.else.571: ; 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.1069, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1068, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1181, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1180, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.1067, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.1179, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -9316,20 +10269,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.1072, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1071, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1184, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1183, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.1070, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.1182, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -9344,20 +10297,20 @@ entry: 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.530, label %if.else.531 + br i1 %icmp, label %if.then.576, label %if.else.577 -if.then.530: ; preds = %entry - br label %if.merge.532 +if.then.576: ; preds = %entry + br label %if.merge.578 -if.else.531: ; preds = %entry +if.else.577: ; 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.1075, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1074, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.532 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1187, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1186, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.578 -if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.1073, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] +if.merge.578: ; preds = %if.else.577, %if.then.576 + %bp = phi { ptr, i64 } [ { ptr @str.1185, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] ret { ptr, i64 } %bp } @@ -9372,20 +10325,20 @@ entry: 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.533, label %if.else.534 + br i1 %icmp, label %if.then.579, label %if.else.580 -if.then.533: ; preds = %entry - br label %if.merge.535 +if.then.579: ; preds = %entry + br label %if.merge.581 -if.else.534: ; preds = %entry +if.else.580: ; 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.1078, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1077, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.535 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1190, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1189, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.581 -if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.1076, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] +if.merge.581: ; preds = %if.else.580, %if.then.579 + %bp = phi { ptr, i64 } [ { ptr @str.1188, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] ret { ptr, i64 } %bp } @@ -9400,20 +10353,20 @@ entry: 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.536, label %if.else.537 + br i1 %icmp, label %if.then.582, label %if.else.583 -if.then.536: ; preds = %entry - br label %if.merge.538 +if.then.582: ; preds = %entry + br label %if.merge.584 -if.else.537: ; preds = %entry +if.else.583: ; 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.1081, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1080, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.538 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1193, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1192, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.584 -if.merge.538: ; preds = %if.else.537, %if.then.536 - %bp = phi { ptr, i64 } [ { ptr @str.1079, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] +if.merge.584: ; preds = %if.else.583, %if.then.582 + %bp = phi { ptr, i64 } [ { ptr @str.1191, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] ret { ptr, i64 } %bp } @@ -9428,20 +10381,20 @@ entry: 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.539, label %if.else.540 + br i1 %icmp, label %if.then.585, label %if.else.586 -if.then.539: ; preds = %entry - br label %if.merge.541 +if.then.585: ; preds = %entry + br label %if.merge.587 -if.else.540: ; preds = %entry +if.else.586: ; 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.1084, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1083, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.541 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1196, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1195, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.587 -if.merge.541: ; preds = %if.else.540, %if.then.539 - %bp = phi { ptr, i64 } [ { ptr @str.1082, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] +if.merge.587: ; preds = %if.else.586, %if.then.585 + %bp = phi { ptr, i64 } [ { ptr @str.1194, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] ret { ptr, i64 } %bp } @@ -9456,20 +10409,20 @@ entry: 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.542, label %if.else.543 + br i1 %icmp, label %if.then.588, label %if.else.589 -if.then.542: ; preds = %entry - br label %if.merge.544 +if.then.588: ; preds = %entry + br label %if.merge.590 -if.else.543: ; preds = %entry +if.else.589: ; 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.1087, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1086, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.544 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1199, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1198, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.590 -if.merge.544: ; preds = %if.else.543, %if.then.542 - %bp = phi { ptr, i64 } [ { ptr @str.1085, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] +if.merge.590: ; preds = %if.else.589, %if.then.588 + %bp = phi { ptr, i64 } [ { ptr @str.1197, i64 4 }, %if.then.588 ], [ %callN, %if.else.589 ] ret { ptr, i64 } %bp } @@ -9484,20 +10437,20 @@ entry: 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.545, label %if.else.546 + br i1 %icmp, label %if.then.591, label %if.else.592 -if.then.545: ; preds = %entry - br label %if.merge.547 +if.then.591: ; preds = %entry + br label %if.merge.593 -if.else.546: ; preds = %entry +if.else.592: ; 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.1090, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1089, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.547 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1202, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1201, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.593 -if.merge.547: ; preds = %if.else.546, %if.then.545 - %bp = phi { ptr, i64 } [ { ptr @str.1088, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] +if.merge.593: ; preds = %if.else.592, %if.then.591 + %bp = phi { ptr, i64 } [ { ptr @str.1200, i64 4 }, %if.then.591 ], [ %callN, %if.else.592 ] ret { ptr, i64 } %bp } @@ -9510,12 +10463,12 @@ entry: %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.555, label %if.merge.556 + br i1 %lnot, label %if.then.601, label %if.merge.602 -if.then.555: ; preds = %entry - ret { ptr, i64 } { ptr @str.1091, i64 4 } +if.then.601: ; preds = %entry + ret { ptr, i64 } { ptr @str.1203, i64 4 } -if.merge.556: ; preds = %entry +if.merge.602: ; 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 @@ -9534,12 +10487,12 @@ entry: %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.557, label %if.merge.558 + br i1 %lnot, label %if.then.603, label %if.merge.604 -if.then.557: ; preds = %entry - ret { ptr, i64 } { ptr @str.1092, i64 4 } +if.then.603: ; preds = %entry + ret { ptr, i64 } { ptr @str.1204, i64 4 } -if.merge.558: ; preds = %entry +if.merge.604: ; 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 @@ -9557,12 +10510,12 @@ entry: %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.559, label %if.merge.560 + br i1 %lnot, label %if.then.605, label %if.merge.606 -if.then.559: ; preds = %entry - ret { ptr, i64 } { ptr @str.1093, i64 4 } +if.then.605: ; preds = %entry + ret { ptr, i64 } { ptr @str.1205, i64 4 } -if.merge.560: ; preds = %entry +if.merge.606: ; 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 @@ -9579,12 +10532,12 @@ entry: %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.561, label %if.merge.562 + br i1 %lnot, label %if.then.607, label %if.merge.608 -if.then.561: ; preds = %entry - ret { ptr, i64 } { ptr @str.1094, i64 4 } +if.then.607: ; preds = %entry + ret { ptr, i64 } { ptr @str.1206, i64 4 } -if.merge.562: ; preds = %entry +if.merge.608: ; 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 @@ -9603,12 +10556,12 @@ entry: %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.563, label %if.merge.564 + br i1 %lnot, label %if.then.609, label %if.merge.610 -if.then.563: ; preds = %entry - ret { ptr, i64 } { ptr @str.1095, i64 4 } +if.then.609: ; preds = %entry + ret { ptr, i64 } { ptr @str.1207, i64 4 } -if.merge.564: ; preds = %entry +if.merge.610: ; 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 diff --git a/examples/expected/0044-basic-default-arg-expansion.ir b/examples/expected/0044-basic-default-arg-expansion.ir index 66a3c75..41d1b96 100644 --- a/examples/expected/0044-basic-default-arg-expansion.ir +++ b/examples/expected/0044-basic-default-arg-expansion.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [187 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] +@__sx_type_is_unsigned = private constant [205 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,472 +28,472 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [8 x i8] c"*string\00" -@tn.str.214 = private constant [6 x i8] c"[]Any\00" -@tn.str.215 = private constant [5 x i8] c"*Any\00" -@tn.str.216 = private constant [7 x i8] c"[1]Any\00" -@tn.str.217 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.218 = private constant [7 x i8] c"*[]Any\00" -@tn.str.219 = private constant [4 x i8] c"*u8\00" -@tn.str.220 = private constant [6 x i8] c"*bool\00" -@tn.str.221 = private constant [7 x i8] c"[3]Any\00" -@tn.str.222 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.223 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.224 = private constant [5 x i8] c"*f64\00" -@tn.str.225 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.226 = private constant [11 x i8] c"*Allocator\00" -@tn.str.227 = private constant [9 x i8] c"*Context\00" -@tn.str.228 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.229 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.230 = private constant [8 x i8] c"*Member\00" -@tn.str.231 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.232 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.233 = private constant [9 x i8] c"*Command\00" -@tn.str.234 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.235 = private constant [7 x i8] c"*Event\00" -@tn.str.236 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.237 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.238 = private constant [7 x i8] c"*Value\00" -@tn.str.239 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.240 = private constant [14 x i8] c"*Architecture\00" -@tn.str.241 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.242 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.243 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.244 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.245 = private constant [10 x i8] c"*[]string\00" -@tn.str.246 = private constant [6 x i8] c"*[]u8\00" -@tn.str.247 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.248 = private constant [11 x i8] c"*[]Command\00" -@tn.str.249 = private constant [9 x i8] c"*[]Event\00" -@tn.str.250 = private constant [6 x i8] c"**GPA\00" -@tn.str.251 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.252 = private constant [8 x i8] c"**Arena\00" -@tn.str.253 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.254 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.255 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.256 = private constant [7 x i8] c"**File\00" -@tn.str.257 = private constant [6 x i8] c"**i32\00" -@tn.str.258 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.259 = private constant [6 x i8] c"**u32\00" -@tn.str.260 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.261 = private constant [8 x i8] c"**Array\00" -@tn.str.262 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.263 = private constant [9 x i8] c"**Object\00" -@tn.str.264 = private constant [7 x i8] c"**Sink\00" -@tn.str.265 = private constant [9 x i8] c"**Parser\00" -@tn.str.266 = private constant [6 x i8] c"**i64\00" -@tn.str.267 = private constant [9 x i8] c"**Parsed\00" -@tn.str.268 = private constant [7 x i8] c"**Diag\00" -@tn.str.269 = private constant [9 x i8] c"**Sha256\00" -@tn.str.270 = private constant [11 x i8] c"**Timespec\00" -@tn.str.271 = private constant [9 x i8] c"**Kevent\00" -@tn.str.272 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.273 = private constant [7 x i8] c"**Loop\00" -@tn.str.274 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.275 = private constant [8 x i8] c"***void\00" -@tn.str.276 = private constant [9 x i8] c"**string\00" -@tn.str.277 = private constant [6 x i8] c"**Any\00" -@tn.str.278 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.279 = private constant [8 x i8] c"**[]Any\00" -@tn.str.280 = private constant [5 x i8] c"**u8\00" -@tn.str.281 = private constant [7 x i8] c"**bool\00" -@tn.str.282 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.283 = private constant [7 x i8] c"*?File\00" -@tn.str.284 = private constant [9 x i8] c"*?string\00" -@tn.str.285 = private constant [10 x i8] c"*?cstring\00" -@tn.str.286 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.287 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [187 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 5 }, { ptr, i64 } { ptr @tn.str.215, i64 4 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 3 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 6 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 16 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 8 }, { ptr, i64 } { ptr @tn.str.228, i64 11 }, { ptr, i64 } { ptr @tn.str.229, i64 14 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 13 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 8 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 13 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 11 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 12 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 19 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 6 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 12 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 13 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 4 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 9 }, { ptr, i64 } { ptr @tn.str.286, i64 15 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }] -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.295 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.296 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.297 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.298 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.299 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.300 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.301 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.302 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.303 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.305 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.306 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.308 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.309 = private unnamed_addr constant [2 x i8] c"v\00", align 1 -@str.310 = private unnamed_addr constant [2 x i8] c"!\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"x\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"!\00", align 1 -@str.313 = private unnamed_addr constant [2 x i8] c"y\00", align 1 -@str.314 = private unnamed_addr constant [2 x i8] c"?\00", align 1 -@str.315 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 -@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.317 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 -@str.318 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 -@str.319 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.320 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 -@str.321 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 -@str.322 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.323 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 -@str.324 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.325 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.326 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [8 x i8] c"*string\00" +@tn.str.228 = private constant [6 x i8] c"[]Any\00" +@tn.str.229 = private constant [5 x i8] c"*Any\00" +@tn.str.230 = private constant [7 x i8] c"[1]Any\00" +@tn.str.231 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.232 = private constant [7 x i8] c"*[]Any\00" +@tn.str.233 = private constant [4 x i8] c"*u8\00" +@tn.str.234 = private constant [6 x i8] c"*bool\00" +@tn.str.235 = private constant [7 x i8] c"[3]Any\00" +@tn.str.236 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.237 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.238 = private constant [5 x i8] c"*f64\00" +@tn.str.239 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.240 = private constant [11 x i8] c"*Allocator\00" +@tn.str.241 = private constant [9 x i8] c"*Context\00" +@tn.str.242 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.243 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.244 = private constant [8 x i8] c"*Member\00" +@tn.str.245 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.246 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.247 = private constant [9 x i8] c"*Command\00" +@tn.str.248 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.249 = private constant [7 x i8] c"*Event\00" +@tn.str.250 = private constant [8 x i8] c"*Config\00" +@tn.str.251 = private constant [6 x i8] c"*Conn\00" +@tn.str.252 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.253 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.254 = private constant [7 x i8] c"*Value\00" +@tn.str.255 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.256 = private constant [14 x i8] c"*Architecture\00" +@tn.str.257 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.258 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.259 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.260 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.261 = private constant [10 x i8] c"*[]string\00" +@tn.str.262 = private constant [6 x i8] c"*[]u8\00" +@tn.str.263 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.264 = private constant [11 x i8] c"*[]Command\00" +@tn.str.265 = private constant [9 x i8] c"*[]Event\00" +@tn.str.266 = private constant [6 x i8] c"**GPA\00" +@tn.str.267 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.268 = private constant [8 x i8] c"**Arena\00" +@tn.str.269 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.270 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.271 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.272 = private constant [7 x i8] c"**File\00" +@tn.str.273 = private constant [6 x i8] c"**i32\00" +@tn.str.274 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.275 = private constant [6 x i8] c"**u32\00" +@tn.str.276 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.277 = private constant [8 x i8] c"**Array\00" +@tn.str.278 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.279 = private constant [9 x i8] c"**Object\00" +@tn.str.280 = private constant [7 x i8] c"**Sink\00" +@tn.str.281 = private constant [9 x i8] c"**Parser\00" +@tn.str.282 = private constant [6 x i8] c"**i64\00" +@tn.str.283 = private constant [9 x i8] c"**Parsed\00" +@tn.str.284 = private constant [7 x i8] c"**Diag\00" +@tn.str.285 = private constant [9 x i8] c"**Sha256\00" +@tn.str.286 = private constant [11 x i8] c"**Timespec\00" +@tn.str.287 = private constant [9 x i8] c"**Kevent\00" +@tn.str.288 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.289 = private constant [7 x i8] c"**Loop\00" +@tn.str.290 = private constant [10 x i8] c"**Request\00" +@tn.str.291 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.292 = private constant [11 x i8] c"**Response\00" +@tn.str.293 = private constant [9 x i8] c"**Server\00" +@tn.str.294 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.295 = private constant [8 x i8] c"***void\00" +@tn.str.296 = private constant [9 x i8] c"**string\00" +@tn.str.297 = private constant [6 x i8] c"**Any\00" +@tn.str.298 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.299 = private constant [8 x i8] c"**[]Any\00" +@tn.str.300 = private constant [5 x i8] c"**u8\00" +@tn.str.301 = private constant [7 x i8] c"**bool\00" +@tn.str.302 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.303 = private constant [7 x i8] c"*?File\00" +@tn.str.304 = private constant [9 x i8] c"*?string\00" +@tn.str.305 = private constant [10 x i8] c"*?cstring\00" +@tn.str.306 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.307 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [205 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 3 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 16 }, { ptr, i64 } { ptr @tn.str.256, i64 13 }, { ptr, i64 } { ptr @tn.str.257, i64 14 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 9 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 11 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 12 }, { ptr, i64 } { ptr @tn.str.268, i64 7 }, { ptr, i64 } { ptr @tn.str.269, i64 6 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 19 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 9 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 5 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 10 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 12 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 9 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 10 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 13 }, { ptr, i64 } { ptr @tn.str.295, i64 7 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 5 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 7 }, { ptr, i64 } { ptr @tn.str.300, i64 4 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 9 }, { ptr, i64 } { ptr @tn.str.306, i64 15 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }] +@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.315 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.316 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.317 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.318 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.319 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.320 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.322 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.323 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.325 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.329 = private unnamed_addr constant [2 x i8] c"v\00", align 1 +@str.330 = private unnamed_addr constant [2 x i8] c"!\00", align 1 +@str.331 = private unnamed_addr constant [2 x i8] c"x\00", align 1 +@str.332 = private unnamed_addr constant [2 x i8] c"!\00", align 1 +@str.333 = private unnamed_addr constant [2 x i8] c"y\00", align 1 +@str.334 = private unnamed_addr constant [2 x i8] c"?\00", align 1 +@str.335 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 +@str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.337 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 +@str.338 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 +@str.339 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.340 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 +@str.341 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 +@str.342 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.343 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 +@str.344 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.328 = private constant [5 x i8] c"line\00" -@fld.str.329 = private constant [4 x i8] c"col\00" -@fld.str.330 = 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.328, i64 4 }, { ptr, i64 } { ptr @fld.str.329, i64 3 }, { ptr, i64 } { ptr @fld.str.330, i64 4 }] -@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.332 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.333 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.334 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.335 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.336 = private constant [4 x i8] c"ctx\00" -@fld.str.337 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.338 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.339 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 3 }, { ptr, i64 } { ptr @fld.str.337, i64 11 }, { ptr, i64 } { ptr @fld.str.338, i64 13 }] -@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.341 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.342 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.343 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.344 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.345 = private constant [10 x i8] c"allocator\00" -@fld.str.346 = private constant [5 x i8] c"data\00" -@field_names.347 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.345, i64 9 }, { ptr, i64 } { ptr @fld.str.346, i64 4 }] -@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.349 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.353 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.355 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.356 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.357 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.358 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.359 = private constant [12 x i8] c"alloc_count\00" -@field_names.360 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 11 }] -@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.362 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.363 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.364 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.365 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.366 = private constant [5 x i8] c"next\00" -@fld.str.367 = private constant [4 x i8] c"cap\00" -@field_names.368 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.366, i64 4 }, { ptr, i64 } { ptr @fld.str.367, i64 3 }] -@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.370 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.374 = private constant [6 x i8] c"first\00" -@fld.str.375 = private constant [10 x i8] c"end_index\00" -@fld.str.376 = private constant [7 x i8] c"parent\00" -@field_names.377 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 5 }, { ptr, i64 } { ptr @fld.str.375, i64 9 }, { ptr, i64 } { ptr @fld.str.376, i64 6 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.383 = private constant [4 x i8] c"buf\00" -@fld.str.384 = private constant [4 x i8] c"len\00" -@fld.str.385 = private constant [4 x i8] c"pos\00" -@field_names.386 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 3 }, { ptr, i64 } { ptr @fld.str.384, i64 3 }, { ptr, i64 } { ptr @fld.str.385, i64 3 }] -@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.388 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.390 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.391 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.392 = private constant [7 x i8] c"parent\00" -@fld.str.393 = private constant [12 x i8] c"alloc_count\00" -@fld.str.394 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.395 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.396 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 6 }, { ptr, i64 } { ptr @fld.str.393, i64 11 }, { ptr, i64 } { ptr @fld.str.394, i64 13 }, { ptr, i64 } { ptr @fld.str.395, i64 17 }] -@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.398 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.399 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.400 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.401 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.402 = private constant [3 x i8] c"fd\00" -@field_names.403 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.402, i64 2 }] -@str.404 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.405 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.406 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.407 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.408 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.409 = private constant [5 x i8] c"file\00" -@fld.str.410 = private constant [5 x i8] c"line\00" -@fld.str.411 = private constant [4 x i8] c"col\00" -@fld.str.412 = private constant [5 x i8] c"func\00" -@fld.str.413 = private constant [10 x i8] c"line_text\00" -@field_names.414 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 4 }, { ptr, i64 } { ptr @fld.str.410, i64 4 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }, { ptr, i64 } { ptr @fld.str.412, i64 4 }, { ptr, i64 } { ptr @fld.str.413, i64 9 }] -@str.415 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.416 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.417 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.418 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.419 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.420 = private constant [10 x i8] c"exit_code\00" -@fld.str.421 = private constant [7 x i8] c"stdout\00" -@field_names.422 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 9 }, { ptr, i64 } { ptr @fld.str.421, i64 6 }] -@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.424 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.428 = private constant [8 x i8] c"sin_len\00" -@fld.str.429 = private constant [11 x i8] c"sin_family\00" -@fld.str.430 = private constant [9 x i8] c"sin_port\00" -@fld.str.431 = private constant [9 x i8] c"sin_addr\00" -@fld.str.432 = private constant [9 x i8] c"sin_zero\00" -@field_names.433 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 7 }, { ptr, i64 } { ptr @fld.str.429, i64 10 }, { ptr, i64 } { ptr @fld.str.430, i64 8 }, { ptr, i64 } { ptr @fld.str.431, i64 8 }, { ptr, i64 } { ptr @fld.str.432, i64 8 }] -@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.435 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.436 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.437 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.438 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.439 = private constant [6 x i8] c"items\00" -@fld.str.440 = private constant [4 x i8] c"len\00" -@fld.str.441 = private constant [4 x i8] c"cap\00" -@field_names.442 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 5 }, { ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 3 }] +@fld.str.348 = private constant [5 x i8] c"line\00" +@fld.str.349 = private constant [4 x i8] c"col\00" +@fld.str.350 = 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.348, i64 4 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }, { ptr, i64 } { ptr @fld.str.350, i64 4 }] +@str.351 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.352 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.353 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.354 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.355 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.356 = private constant [4 x i8] c"ctx\00" +@fld.str.357 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.358 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.359 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.356, i64 3 }, { ptr, i64 } { ptr @fld.str.357, i64 11 }, { ptr, i64 } { ptr @fld.str.358, i64 13 }] +@str.360 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.361 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.362 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.363 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.364 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.365 = private constant [10 x i8] c"allocator\00" +@fld.str.366 = private constant [5 x i8] c"data\00" +@field_names.367 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.365, i64 9 }, { ptr, i64 } { ptr @fld.str.366, i64 4 }] +@str.368 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.369 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.370 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.372 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.373 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.374 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.375 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.376 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.377 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.378 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.379 = private constant [12 x i8] c"alloc_count\00" +@field_names.380 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.379, i64 11 }] +@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.382 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.383 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.384 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.385 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.386 = private constant [5 x i8] c"next\00" +@fld.str.387 = private constant [4 x i8] c"cap\00" +@field_names.388 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, i64 4 }, { ptr, i64 } { ptr @fld.str.387, i64 3 }] +@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.390 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.391 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.393 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.394 = private constant [6 x i8] c"first\00" +@fld.str.395 = private constant [10 x i8] c"end_index\00" +@fld.str.396 = private constant [7 x i8] c"parent\00" +@field_names.397 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.394, i64 5 }, { ptr, i64 } { ptr @fld.str.395, i64 9 }, { ptr, i64 } { ptr @fld.str.396, i64 6 }] +@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.399 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.400 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.402 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.403 = private constant [4 x i8] c"buf\00" +@fld.str.404 = private constant [4 x i8] c"len\00" +@fld.str.405 = private constant [4 x i8] c"pos\00" +@field_names.406 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.403, i64 3 }, { ptr, i64 } { ptr @fld.str.404, i64 3 }, { ptr, i64 } { ptr @fld.str.405, i64 3 }] +@str.407 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.408 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.410 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.411 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.412 = private constant [7 x i8] c"parent\00" +@fld.str.413 = private constant [12 x i8] c"alloc_count\00" +@fld.str.414 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.415 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.416 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 6 }, { ptr, i64 } { ptr @fld.str.413, i64 11 }, { ptr, i64 } { ptr @fld.str.414, i64 13 }, { ptr, i64 } { ptr @fld.str.415, i64 17 }] +@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.418 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.422 = private constant [3 x i8] c"fd\00" +@field_names.423 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 2 }] +@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.425 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.426 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.427 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.428 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.429 = private constant [5 x i8] c"file\00" +@fld.str.430 = private constant [5 x i8] c"line\00" +@fld.str.431 = private constant [4 x i8] c"col\00" +@fld.str.432 = private constant [5 x i8] c"func\00" +@fld.str.433 = private constant [10 x i8] c"line_text\00" +@field_names.434 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 4 }, { ptr, i64 } { ptr @fld.str.430, i64 4 }, { ptr, i64 } { ptr @fld.str.431, i64 3 }, { ptr, i64 } { ptr @fld.str.432, i64 4 }, { ptr, i64 } { ptr @fld.str.433, i64 9 }] +@str.435 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.436 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.437 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.438 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.439 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.440 = private constant [10 x i8] c"exit_code\00" +@fld.str.441 = private constant [7 x i8] c"stdout\00" +@field_names.442 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.440, i64 9 }, { ptr, i64 } { ptr @fld.str.441, i64 6 }] @str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.444 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.444 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.445 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.446 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.447 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.448 = private constant [6 x i8] c"items\00" -@fld.str.449 = private constant [4 x i8] c"len\00" -@fld.str.450 = private constant [4 x i8] c"cap\00" -@field_names.451 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 5 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }] -@str.452 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.453 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.454 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.455 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.456 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.457 = private constant [4 x i8] c"key\00" -@fld.str.458 = private constant [4 x i8] c"val\00" -@field_names.459 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.457, i64 3 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }] -@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.461 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.462 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.463 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.464 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.465 = private constant [4 x i8] c"dst\00" -@fld.str.466 = private constant [4 x i8] c"pos\00" -@fld.str.467 = private constant [5 x i8] c"file\00" -@field_names.468 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 3 }, { ptr, i64 } { ptr @fld.str.466, i64 3 }, { ptr, i64 } { ptr @fld.str.467, i64 4 }] -@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.470 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.471 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.472 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.473 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.474 = private constant [4 x i8] c"src\00" -@fld.str.475 = private constant [4 x i8] c"pos\00" -@fld.str.476 = private constant [6 x i8] c"alloc\00" -@field_names.477 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 3 }, { ptr, i64 } { ptr @fld.str.476, i64 5 }] -@str.478 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.479 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.480 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.482 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.483 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.485 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.489 = private constant [5 x i8] c"name\00" -@fld.str.490 = private constant [12 x i8] c"takes_value\00" -@fld.str.491 = private constant [9 x i8] c"required\00" -@field_names.492 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 4 }, { ptr, i64 } { ptr @fld.str.490, i64 11 }, { ptr, i64 } { ptr @fld.str.491, i64 8 }] -@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.494 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.498 = private constant [6 x i8] c"group\00" -@fld.str.499 = private constant [8 x i8] c"command\00" -@fld.str.500 = private constant [6 x i8] c"flags\00" -@field_names.501 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 5 }, { ptr, i64 } { ptr @fld.str.499, i64 7 }, { ptr, i64 } { ptr @fld.str.500, i64 5 }] -@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.503 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.505 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.506 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.507 = private constant [4 x i8] c"set\00" -@fld.str.508 = private constant [6 x i8] c"value\00" -@field_names.509 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 3 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }] -@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.511 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.515 = private constant [6 x i8] c"index\00" -@fld.str.516 = private constant [6 x i8] c"token\00" -@field_names.517 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 5 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }] -@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.519 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.520 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.522 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.523 = private constant [6 x i8] c"group\00" -@fld.str.524 = private constant [8 x i8] c"command\00" -@fld.str.525 = private constant [10 x i8] c"cmd_index\00" -@fld.str.526 = private constant [5 x i8] c"json\00" -@fld.str.527 = private constant [5 x i8] c"rest\00" -@fld.str.528 = private constant [5 x i8] c"spec\00" -@fld.str.529 = private constant [7 x i8] c"values\00" -@field_names.530 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 7 }, { ptr, i64 } { ptr @fld.str.525, i64 9 }, { ptr, i64 } { ptr @fld.str.526, i64 4 }, { ptr, i64 } { ptr @fld.str.527, i64 4 }, { ptr, i64 } { ptr @fld.str.528, i64 4 }, { ptr, i64 } { ptr @fld.str.529, i64 6 }] -@str.531 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.532 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.533 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.534 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.535 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.536 = private constant [2 x i8] c"h\00" -@fld.str.537 = private constant [4 x i8] c"buf\00" -@fld.str.538 = private constant [8 x i8] c"buf_len\00" -@fld.str.539 = private constant [10 x i8] c"total_len\00" -@field_names.540 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.536, i64 1 }, { ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 9 }] -@str.541 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.542 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.544 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.545 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.546 = private constant [4 x i8] c"sec\00" -@fld.str.547 = private constant [5 x i8] c"nsec\00" -@field_names.548 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 3 }, { ptr, i64 } { ptr @fld.str.547, i64 4 }] -@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.554 = private constant [6 x i8] c"ident\00" -@fld.str.555 = private constant [7 x i8] c"filter\00" -@fld.str.556 = private constant [6 x i8] c"flags\00" -@fld.str.557 = private constant [7 x i8] c"fflags\00" -@fld.str.558 = private constant [5 x i8] c"data\00" -@fld.str.559 = private constant [6 x i8] c"udata\00" -@field_names.560 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 5 }, { ptr, i64 } { ptr @fld.str.555, i64 6 }, { ptr, i64 } { ptr @fld.str.556, i64 5 }, { ptr, i64 } { ptr @fld.str.557, i64 6 }, { ptr, i64 } { ptr @fld.str.558, i64 4 }, { ptr, i64 } { ptr @fld.str.559, i64 5 }] +@fld.str.448 = private constant [8 x i8] c"sin_len\00" +@fld.str.449 = private constant [11 x i8] c"sin_family\00" +@fld.str.450 = private constant [9 x i8] c"sin_port\00" +@fld.str.451 = private constant [9 x i8] c"sin_addr\00" +@fld.str.452 = private constant [9 x i8] c"sin_zero\00" +@field_names.453 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 7 }, { ptr, i64 } { ptr @fld.str.449, i64 10 }, { ptr, i64 } { ptr @fld.str.450, i64 8 }, { ptr, i64 } { ptr @fld.str.451, i64 8 }, { ptr, i64 } { ptr @fld.str.452, i64 8 }] +@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.455 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.459 = private constant [6 x i8] c"items\00" +@fld.str.460 = private constant [4 x i8] c"len\00" +@fld.str.461 = private constant [4 x i8] c"cap\00" +@field_names.462 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 5 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 3 }] +@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.464 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.465 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.466 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.467 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.468 = private constant [6 x i8] c"items\00" +@fld.str.469 = private constant [4 x i8] c"len\00" +@fld.str.470 = private constant [4 x i8] c"cap\00" +@field_names.471 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.468, i64 5 }, { ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }] +@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.473 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.477 = private constant [4 x i8] c"key\00" +@fld.str.478 = private constant [4 x i8] c"val\00" +@field_names.479 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 3 }, { ptr, i64 } { ptr @fld.str.478, i64 3 }] +@str.480 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.481 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.482 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.483 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.484 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.485 = private constant [4 x i8] c"dst\00" +@fld.str.486 = private constant [4 x i8] c"pos\00" +@fld.str.487 = private constant [5 x i8] c"file\00" +@field_names.488 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 3 }, { ptr, i64 } { ptr @fld.str.486, i64 3 }, { ptr, i64 } { ptr @fld.str.487, i64 4 }] +@str.489 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.490 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.491 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.492 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.493 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.494 = private constant [4 x i8] c"src\00" +@fld.str.495 = private constant [4 x i8] c"pos\00" +@fld.str.496 = private constant [6 x i8] c"alloc\00" +@field_names.497 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.494, i64 3 }, { ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 5 }] +@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.499 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.502 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.503 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.504 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.505 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.506 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.507 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.508 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.509 = private constant [5 x i8] c"name\00" +@fld.str.510 = private constant [12 x i8] c"takes_value\00" +@fld.str.511 = private constant [9 x i8] c"required\00" +@field_names.512 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 4 }, { ptr, i64 } { ptr @fld.str.510, i64 11 }, { ptr, i64 } { ptr @fld.str.511, i64 8 }] +@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.514 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.515 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.516 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.517 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.518 = private constant [6 x i8] c"group\00" +@fld.str.519 = private constant [8 x i8] c"command\00" +@fld.str.520 = private constant [6 x i8] c"flags\00" +@field_names.521 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 5 }] +@str.522 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.523 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.524 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.525 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.526 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.527 = private constant [4 x i8] c"set\00" +@fld.str.528 = private constant [6 x i8] c"value\00" +@field_names.529 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 3 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }] +@str.530 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.531 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.532 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.533 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.534 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.535 = private constant [6 x i8] c"index\00" +@fld.str.536 = private constant [6 x i8] c"token\00" +@field_names.537 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 5 }, { ptr, i64 } { ptr @fld.str.536, i64 5 }] +@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.539 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.540 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.542 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.543 = private constant [6 x i8] c"group\00" +@fld.str.544 = private constant [8 x i8] c"command\00" +@fld.str.545 = private constant [10 x i8] c"cmd_index\00" +@fld.str.546 = private constant [5 x i8] c"json\00" +@fld.str.547 = private constant [5 x i8] c"rest\00" +@fld.str.548 = private constant [5 x i8] c"spec\00" +@fld.str.549 = private constant [7 x i8] c"values\00" +@field_names.550 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 5 }, { ptr, i64 } { ptr @fld.str.544, i64 7 }, { ptr, i64 } { ptr @fld.str.545, i64 9 }, { ptr, i64 } { ptr @fld.str.546, i64 4 }, { ptr, i64 } { ptr @fld.str.547, i64 4 }, { ptr, i64 } { ptr @fld.str.548, i64 4 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }] +@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.552 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.556 = private constant [2 x i8] c"h\00" +@fld.str.557 = private constant [4 x i8] c"buf\00" +@fld.str.558 = private constant [8 x i8] c"buf_len\00" +@fld.str.559 = private constant [10 x i8] c"total_len\00" +@field_names.560 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 1 }, { ptr, i64 } { ptr @fld.str.557, i64 3 }, { ptr, i64 } { ptr @fld.str.558, i64 7 }, { ptr, i64 } { ptr @fld.str.559, i64 9 }] @str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.562 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.562 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.563 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.564 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.565 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -501,220 +501,316 @@ @fld.str.567 = private constant [5 x i8] c"nsec\00" @field_names.568 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 4 }] @str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.570 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.570 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.574 = private constant [3 x i8] c"fd\00" -@fld.str.575 = private constant [6 x i8] c"udata\00" -@fld.str.576 = private constant [9 x i8] c"readable\00" -@fld.str.577 = private constant [9 x i8] c"writable\00" -@fld.str.578 = private constant [4 x i8] c"eof\00" -@fld.str.579 = private constant [4 x i8] c"err\00" -@fld.str.580 = private constant [7 x i8] c"nbytes\00" -@field_names.581 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 2 }, { ptr, i64 } { ptr @fld.str.575, i64 5 }, { ptr, i64 } { ptr @fld.str.576, i64 8 }, { ptr, i64 } { ptr @fld.str.577, i64 8 }, { ptr, i64 } { ptr @fld.str.578, i64 3 }, { ptr, i64 } { ptr @fld.str.579, i64 3 }, { ptr, i64 } { ptr @fld.str.580, i64 6 }] -@str.582 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.583 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.584 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.586 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.587 = private constant [3 x i8] c"kq\00" -@field_names.588 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 2 }] +@fld.str.574 = private constant [6 x i8] c"ident\00" +@fld.str.575 = private constant [7 x i8] c"filter\00" +@fld.str.576 = private constant [6 x i8] c"flags\00" +@fld.str.577 = private constant [7 x i8] c"fflags\00" +@fld.str.578 = private constant [5 x i8] c"data\00" +@fld.str.579 = private constant [6 x i8] c"udata\00" +@field_names.580 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 5 }, { ptr, i64 } { ptr @fld.str.575, i64 6 }, { ptr, i64 } { ptr @fld.str.576, i64 5 }, { ptr, i64 } { ptr @fld.str.577, i64 6 }, { ptr, i64 } { ptr @fld.str.578, i64 4 }, { ptr, i64 } { ptr @fld.str.579, i64 5 }] +@str.581 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.582 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.583 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.584 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.585 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.586 = private constant [4 x i8] c"sec\00" +@fld.str.587 = private constant [5 x i8] c"nsec\00" +@field_names.588 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 4 }] @str.589 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.590 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.591 = private constant [5 x i8] c"read\00" -@fld.str.592 = private constant [6 x i8] c"write\00" -@fld.str.593 = private constant [7 x i8] c"append\00" -@fld.str.594 = private constant [11 x i8] c"read_write\00" -@field_names.595 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.591, i64 4 }, { ptr, i64 } { ptr @fld.str.592, i64 5 }, { ptr, i64 } { ptr @fld.str.593, i64 6 }, { ptr, i64 } { ptr @fld.str.594, i64 10 }] -@str.596 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.597 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.598 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.599 = private constant [4 x i8] c"set\00" -@fld.str.600 = private constant [8 x i8] c"current\00" -@fld.str.601 = private constant [4 x i8] c"end\00" -@field_names.602 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.599, i64 3 }, { ptr, i64 } { ptr @fld.str.600, i64 7 }, { ptr, i64 } { ptr @fld.str.601, i64 3 }] -@str.603 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.604 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.605 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.606 = private constant [6 x i8] c"null_\00" -@fld.str.607 = private constant [6 x i8] c"bool_\00" -@fld.str.608 = private constant [5 x i8] c"int_\00" -@fld.str.609 = private constant [4 x i8] c"str\00" -@fld.str.610 = private constant [6 x i8] c"array\00" -@fld.str.611 = private constant [7 x i8] c"object\00" -@field_names.612 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.606, i64 5 }, { ptr, i64 } { ptr @fld.str.607, i64 5 }, { ptr, i64 } { ptr @fld.str.608, i64 4 }, { ptr, i64 } { ptr @fld.str.609, i64 3 }, { ptr, i64 } { ptr @fld.str.610, i64 5 }, { ptr, i64 } { ptr @fld.str.611, i64 6 }] -@str.613 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.616 = private constant [6 x i8] c"macos\00" -@fld.str.617 = private constant [6 x i8] c"linux\00" -@fld.str.618 = private constant [8 x i8] c"windows\00" -@fld.str.619 = private constant [5 x i8] c"wasm\00" -@fld.str.620 = private constant [4 x i8] c"ios\00" -@fld.str.621 = private constant [8 x i8] c"android\00" -@fld.str.622 = private constant [8 x i8] c"unknown\00" -@field_names.623 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 5 }, { ptr, i64 } { ptr @fld.str.617, i64 5 }, { ptr, i64 } { ptr @fld.str.618, i64 7 }, { ptr, i64 } { ptr @fld.str.619, i64 4 }, { ptr, i64 } { ptr @fld.str.620, i64 3 }, { ptr, i64 } { ptr @fld.str.621, i64 7 }, { ptr, i64 } { ptr @fld.str.622, i64 7 }] -@str.624 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.625 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.626 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.627 = private constant [8 x i8] c"aarch64\00" -@fld.str.628 = private constant [7 x i8] c"x86_64\00" -@fld.str.629 = private constant [7 x i8] c"wasm32\00" -@fld.str.630 = private constant [7 x i8] c"wasm64\00" -@fld.str.631 = private constant [8 x i8] c"unknown\00" -@field_names.632 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 7 }, { ptr, i64 } { ptr @fld.str.628, i64 6 }, { ptr, i64 } { ptr @fld.str.629, i64 6 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 7 }] -@str.633 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.661 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.664 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.665 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.666 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.667 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.670 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.672 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.673 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.674 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.675 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.676 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.678 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.679 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.681 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.682 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.685 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.686 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.687 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.688 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.691 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.693 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.694 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.696 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.697 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.698 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.699 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.700 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.703 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.704 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.705 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.706 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.708 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.709 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.710 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.711 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.712 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.713 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.714 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.715 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.716 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.717 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.718 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.719 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.720 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.721 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.723 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.724 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.725 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.726 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.727 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.590 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.591 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.593 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.594 = private constant [3 x i8] c"fd\00" +@fld.str.595 = private constant [6 x i8] c"udata\00" +@fld.str.596 = private constant [9 x i8] c"readable\00" +@fld.str.597 = private constant [9 x i8] c"writable\00" +@fld.str.598 = private constant [4 x i8] c"eof\00" +@fld.str.599 = private constant [4 x i8] c"err\00" +@fld.str.600 = private constant [7 x i8] c"nbytes\00" +@field_names.601 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 2 }, { ptr, i64 } { ptr @fld.str.595, i64 5 }, { ptr, i64 } { ptr @fld.str.596, i64 8 }, { ptr, i64 } { ptr @fld.str.597, i64 8 }, { ptr, i64 } { ptr @fld.str.598, i64 3 }, { ptr, i64 } { ptr @fld.str.599, i64 3 }, { ptr, i64 } { ptr @fld.str.600, i64 6 }] +@str.602 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.603 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.604 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.605 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.606 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.607 = private constant [3 x i8] c"kq\00" +@field_names.608 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.607, i64 2 }] +@str.609 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.610 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.611 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.612 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.613 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.614 = private constant [5 x i8] c"port\00" +@fld.str.615 = private constant [8 x i8] c"backlog\00" +@fld.str.616 = private constant [9 x i8] c"max_conn\00" +@fld.str.617 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.618 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.619 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.620 = private constant [14 x i8] c"request_count\00" +@field_names.621 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.614, i64 4 }, { ptr, i64 } { ptr @fld.str.615, i64 7 }, { ptr, i64 } { ptr @fld.str.616, i64 8 }, { ptr, i64 } { ptr @fld.str.617, i64 12 }, { ptr, i64 } { ptr @fld.str.618, i64 18 }, { ptr, i64 } { ptr @fld.str.619, i64 20 }, { ptr, i64 } { ptr @fld.str.620, i64 13 }] +@str.622 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.623 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.624 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.625 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.626 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.627 = private constant [7 x i8] c"method\00" +@fld.str.628 = private constant [5 x i8] c"path\00" +@fld.str.629 = private constant [8 x i8] c"version\00" +@fld.str.630 = private constant [12 x i8] c"headers_raw\00" +@fld.str.631 = private constant [5 x i8] c"body\00" +@fld.str.632 = private constant [11 x i8] c"keep_alive\00" +@field_names.633 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 6 }, { ptr, i64 } { ptr @fld.str.628, i64 4 }, { ptr, i64 } { ptr @fld.str.629, i64 7 }, { ptr, i64 } { ptr @fld.str.630, i64 11 }, { ptr, i64 } { ptr @fld.str.631, i64 4 }, { ptr, i64 } { ptr @fld.str.632, i64 10 }] +@str.634 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.635 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.636 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.637 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.639 = private constant [7 x i8] c"status\00" +@fld.str.640 = private constant [13 x i8] c"content_type\00" +@fld.str.641 = private constant [14 x i8] c"extra_headers\00" +@fld.str.642 = private constant [5 x i8] c"body\00" +@field_names.643 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.639, i64 6 }, { ptr, i64 } { ptr @fld.str.640, i64 12 }, { ptr, i64 } { ptr @fld.str.641, i64 13 }, { ptr, i64 } { ptr @fld.str.642, i64 4 }] +@str.644 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.645 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.646 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.647 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.649 = private constant [3 x i8] c"fd\00" +@fld.str.650 = private constant [6 x i8] c"state\00" +@fld.str.651 = private constant [9 x i8] c"read_buf\00" +@fld.str.652 = private constant [9 x i8] c"read_len\00" +@fld.str.653 = private constant [8 x i8] c"out_buf\00" +@fld.str.654 = private constant [8 x i8] c"out_len\00" +@fld.str.655 = private constant [9 x i8] c"out_sent\00" +@fld.str.656 = private constant [9 x i8] c"deadline\00" +@fld.str.657 = private constant [7 x i8] c"served\00" +@fld.str.658 = private constant [12 x i8] c"close_after\00" +@fld.str.659 = private constant [12 x i8] c"write_armed\00" +@field_names.660 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.649, i64 2 }, { ptr, i64 } { ptr @fld.str.650, i64 5 }, { ptr, i64 } { ptr @fld.str.651, i64 8 }, { ptr, i64 } { ptr @fld.str.652, i64 8 }, { ptr, i64 } { ptr @fld.str.653, i64 7 }, { ptr, i64 } { ptr @fld.str.654, i64 7 }, { ptr, i64 } { ptr @fld.str.655, i64 8 }, { ptr, i64 } { ptr @fld.str.656, i64 8 }, { ptr, i64 } { ptr @fld.str.657, i64 6 }, { ptr, i64 } { ptr @fld.str.658, i64 11 }, { ptr, i64 } { ptr @fld.str.659, i64 11 }] +@str.661 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.662 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.663 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.664 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.665 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.666 = private constant [4 x i8] c"cfg\00" +@fld.str.667 = private constant [5 x i8] c"loop\00" +@fld.str.668 = private constant [4 x i8] c"lfd\00" +@fld.str.669 = private constant [6 x i8] c"conns\00" +@fld.str.670 = private constant [10 x i8] c"own_alloc\00" +@fld.str.671 = private constant [8 x i8] c"handler\00" +@field_names.672 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.666, i64 3 }, { ptr, i64 } { ptr @fld.str.667, i64 4 }, { ptr, i64 } { ptr @fld.str.668, i64 3 }, { ptr, i64 } { ptr @fld.str.669, i64 5 }, { ptr, i64 } { ptr @fld.str.670, i64 9 }, { ptr, i64 } { ptr @fld.str.671, i64 7 }] +@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.674 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.675 = private constant [5 x i8] c"read\00" +@fld.str.676 = private constant [6 x i8] c"write\00" +@fld.str.677 = private constant [7 x i8] c"append\00" +@fld.str.678 = private constant [11 x i8] c"read_write\00" +@field_names.679 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.675, i64 4 }, { ptr, i64 } { ptr @fld.str.676, i64 5 }, { ptr, i64 } { ptr @fld.str.677, i64 6 }, { ptr, i64 } { ptr @fld.str.678, i64 10 }] +@str.680 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.683 = private constant [4 x i8] c"set\00" +@fld.str.684 = private constant [8 x i8] c"current\00" +@fld.str.685 = private constant [4 x i8] c"end\00" +@field_names.686 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.683, i64 3 }, { ptr, i64 } { ptr @fld.str.684, i64 7 }, { ptr, i64 } { ptr @fld.str.685, i64 3 }] +@str.687 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.688 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.689 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.690 = private constant [6 x i8] c"null_\00" +@fld.str.691 = private constant [6 x i8] c"bool_\00" +@fld.str.692 = private constant [5 x i8] c"int_\00" +@fld.str.693 = private constant [4 x i8] c"str\00" +@fld.str.694 = private constant [6 x i8] c"array\00" +@fld.str.695 = private constant [7 x i8] c"object\00" +@field_names.696 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.690, i64 5 }, { ptr, i64 } { ptr @fld.str.691, i64 5 }, { ptr, i64 } { ptr @fld.str.692, i64 4 }, { ptr, i64 } { ptr @fld.str.693, i64 3 }, { ptr, i64 } { ptr @fld.str.694, i64 5 }, { ptr, i64 } { ptr @fld.str.695, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.700 = private constant [6 x i8] c"macos\00" +@fld.str.701 = private constant [6 x i8] c"linux\00" +@fld.str.702 = private constant [8 x i8] c"windows\00" +@fld.str.703 = private constant [5 x i8] c"wasm\00" +@fld.str.704 = private constant [4 x i8] c"ios\00" +@fld.str.705 = private constant [8 x i8] c"android\00" +@fld.str.706 = private constant [8 x i8] c"unknown\00" +@field_names.707 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.700, i64 5 }, { ptr, i64 } { ptr @fld.str.701, i64 5 }, { ptr, i64 } { ptr @fld.str.702, i64 7 }, { ptr, i64 } { ptr @fld.str.703, i64 4 }, { ptr, i64 } { ptr @fld.str.704, i64 3 }, { ptr, i64 } { ptr @fld.str.705, i64 7 }, { ptr, i64 } { ptr @fld.str.706, i64 7 }] +@str.708 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.709 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.710 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.711 = private constant [8 x i8] c"aarch64\00" +@fld.str.712 = private constant [7 x i8] c"x86_64\00" +@fld.str.713 = private constant [7 x i8] c"wasm32\00" +@fld.str.714 = private constant [7 x i8] c"wasm64\00" +@fld.str.715 = private constant [8 x i8] c"unknown\00" +@field_names.716 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.711, i64 7 }, { ptr, i64 } { ptr @fld.str.712, i64 6 }, { ptr, i64 } { ptr @fld.str.713, i64 6 }, { ptr, i64 } { ptr @fld.str.714, i64 6 }, { ptr, i64 } { ptr @fld.str.715, i64 7 }] +@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 [2 x i8] c"[\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \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 +@str.737 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \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 +@str.743 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.745 = private unnamed_addr constant [3 x i8] c", \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 +@str.749 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.750 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.751 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.753 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.754 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.755 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.756 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.757 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.759 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.762 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.765 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.768 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.771 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.771 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.774 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.774 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.777 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.777 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.780 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.783 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.789 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.792 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.795 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.798 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.801 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.804 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.807 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.813 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.816 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.819 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.822 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.825 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.828 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.831 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.834 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.837 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.865 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.866 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.868 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.871 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.872 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.873 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.874 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.875 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.879 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1152,38 +1248,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.422, %entry +while.hdr.451: ; preds = %if.merge.456, %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.418, label %while.exit.419 + br i1 %icmp, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %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.420, label %if.else.421 + br i1 %icmpN, label %if.then.454, label %if.else.455 -while.exit.419: ; preds = %while.hdr.417 +while.exit.453: ; preds = %while.hdr.451 ret void -if.then.420: ; preds = %while.body.418 +if.then.454: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.422 + br label %if.merge.456 -if.else.421: ; preds = %while.body.418 +if.else.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.422 + br label %if.merge.456 -if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi i64 [ %addN, %if.then.420 ], [ %addN, %if.else.421 ] +if.merge.456: ; preds = %if.else.455, %if.then.454 + %bp = phi i64 [ %addN, %if.then.454 ], [ %addN, %if.else.455 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1196,7 +1292,7 @@ if.merge.422: ; preds = %if.else.421, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1309,12 +1405,12 @@ entry: 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.415, label %if.merge.416 + br i1 %icmp, label %if.then.449, label %if.merge.450 -if.then.415: ; preds = %entry +if.then.449: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.416: ; preds = %entry +if.merge.450: ; 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 @@ -1337,14 +1433,14 @@ if.merge.416: ; preds = %entry %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.423 + br label %while.hdr.457 -while.hdr.423: ; preds = %if.merge.427, %if.merge.416 +while.hdr.457: ; preds = %if.merge.461, %if.merge.450 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.424, label %while.exit.425 + br i1 %icmpN, label %while.body.458, label %while.exit.459 -while.body.424: ; preds = %while.hdr.423 +while.body.458: ; preds = %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1352,9 +1448,9 @@ while.body.424: ; preds = %while.hdr.423 %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.426, label %if.merge.427 + br i1 %icmpN, label %if.then.460, label %if.merge.461 -while.exit.425: ; preds = %if.then.426, %while.hdr.423 +while.exit.459: ; preds = %if.then.460, %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1362,14 +1458,14 @@ while.exit.425: ; preds = %if.then.426, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.426: ; preds = %while.body.424 - br label %while.exit.425 +if.then.460: ; preds = %while.body.458 + br label %while.exit.459 -if.merge.427: ; preds = %while.body.424 +if.merge.461: ; preds = %while.body.458 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.457 } ; Function Attrs: nounwind @@ -1517,6 +1613,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1527,19 +1628,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 115, label %match.arm.47 - i64 120, label %match.arm.47 + i64 127, label %match.arm.47 + i64 132, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 113, label %match.arm.48 + i64 125, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1566,15 +1668,19 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, label %match.arm.49 - i64 111, label %match.arm.49 - i64 112, label %match.arm.49 i64 114, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 i64 121, label %match.arm.49 + i64 122, label %match.arm.49 + i64 123, label %match.arm.49 + i64 124, label %match.arm.49 + i64 126, label %match.arm.49 + i64 128, label %match.arm.49 + i64 129, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 133, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1583,7 +1689,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.530, %dispatch.merge.375, %dispatch.merge.337, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.576, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1597,7 +1703,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [187 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [205 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1625,7 +1731,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1660,28 +1766,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1693,81 +1804,85 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 115, label %dispatch.case.300 - i64 120, label %dispatch.case.301 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 127, label %dispatch.case.330 + i64 132, label %dispatch.case.331 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 24, label %dispatch.case.339 - i64 64, label %dispatch.case.340 - i64 81, label %dispatch.case.341 - i64 89, label %dispatch.case.342 - i64 109, label %dispatch.case.343 - i64 113, label %dispatch.case.344 + switch i64 %ua.raw33, label %dispatch.default.368 [ + i64 24, label %dispatch.case.369 + i64 64, label %dispatch.case.370 + i64 81, label %dispatch.case.371 + i64 89, label %dispatch.case.372 + i64 109, label %dispatch.case.373 + i64 125, label %dispatch.case.374 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.376 [ - i64 19, label %dispatch.case.377 - i64 26, label %dispatch.case.378 - i64 28, label %dispatch.case.379 - i64 30, label %dispatch.case.380 - i64 32, label %dispatch.case.381 - i64 33, label %dispatch.case.382 - i64 35, label %dispatch.case.383 - i64 37, label %dispatch.case.384 - i64 41, label %dispatch.case.385 - i64 48, label %dispatch.case.386 - i64 50, label %dispatch.case.387 - i64 51, label %dispatch.case.388 - i64 60, label %dispatch.case.389 - i64 61, label %dispatch.case.390 - i64 62, label %dispatch.case.391 - i64 63, label %dispatch.case.392 - i64 66, label %dispatch.case.393 - i64 71, label %dispatch.case.394 - i64 78, label %dispatch.case.395 - i64 87, label %dispatch.case.396 - i64 90, label %dispatch.case.397 - i64 94, label %dispatch.case.398 - i64 98, label %dispatch.case.399 - i64 101, label %dispatch.case.400 - i64 102, label %dispatch.case.401 - i64 107, label %dispatch.case.402 - i64 110, label %dispatch.case.403 - i64 111, label %dispatch.case.404 - i64 112, label %dispatch.case.405 - i64 114, label %dispatch.case.406 - i64 116, label %dispatch.case.407 - i64 117, label %dispatch.case.408 - i64 118, label %dispatch.case.409 - i64 119, label %dispatch.case.410 - i64 121, label %dispatch.case.411 + switch i64 %ua.raw37, label %dispatch.default.406 [ + i64 19, label %dispatch.case.407 + i64 26, label %dispatch.case.408 + i64 28, label %dispatch.case.409 + i64 30, label %dispatch.case.410 + i64 32, label %dispatch.case.411 + i64 33, label %dispatch.case.412 + i64 35, label %dispatch.case.413 + i64 37, label %dispatch.case.414 + i64 41, label %dispatch.case.415 + i64 48, label %dispatch.case.416 + i64 50, label %dispatch.case.417 + i64 51, label %dispatch.case.418 + i64 60, label %dispatch.case.419 + i64 61, label %dispatch.case.420 + i64 62, label %dispatch.case.421 + i64 63, label %dispatch.case.422 + i64 66, label %dispatch.case.423 + i64 71, label %dispatch.case.424 + i64 78, label %dispatch.case.425 + i64 87, label %dispatch.case.426 + i64 90, label %dispatch.case.427 + i64 94, label %dispatch.case.428 + i64 98, label %dispatch.case.429 + i64 101, label %dispatch.case.430 + i64 102, label %dispatch.case.431 + i64 107, label %dispatch.case.432 + i64 114, label %dispatch.case.433 + i64 116, label %dispatch.case.434 + i64 117, label %dispatch.case.435 + i64 121, label %dispatch.case.436 + i64 122, label %dispatch.case.437 + i64 123, label %dispatch.case.438 + i64 124, label %dispatch.case.439 + i64 126, label %dispatch.case.440 + i64 128, label %dispatch.case.441 + i64 129, label %dispatch.case.442 + i64 130, label %dispatch.case.443 + i64 131, label %dispatch.case.444 + i64 133, label %dispatch.case.445 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.531 [ - i64 42, label %dispatch.case.532 - i64 43, label %dispatch.case.533 - i64 45, label %dispatch.case.534 - i64 47, label %dispatch.case.535 - i64 95, label %dispatch.case.536 + switch i64 %ua.raw41, label %dispatch.default.577 [ + i64 42, label %dispatch.case.578 + i64 43, label %dispatch.case.579 + i64 45, label %dispatch.case.580 + i64 47, label %dispatch.case.581 + i64 95, label %dispatch.case.582 ] match.arm.51: ; preds = %entry @@ -1776,7 +1891,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [205 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1821,13 +1936,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2070,470 +2185,538 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.301, %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.331, %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.case.301: ; preds = %match.arm.47 +dispatch.case.326: ; preds = %match.arm.47 %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [3 x { i64, i64 }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load220) + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.337: ; preds = %dispatch.case.344, %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.default.338 +dispatch.case.327: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.328: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.331: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [3 x { i64, i64 }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.338: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.337 +dispatch.default.368: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.367 -dispatch.case.339: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.340: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.341: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.342: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.343: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.344: ; preds = %match.arm.48 +dispatch.case.369: ; preds = %match.arm.48 %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load245) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load245) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 + br label %dispatch.merge.367 -dispatch.merge.375: ; preds = %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.default.376 +dispatch.case.370: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.371: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.372: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.373: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.374: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.merge.405: ; preds = %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.376: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw248 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw248 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 - %iNp251 = inttoptr i64 %ua.raw250 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp251) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw253 = extractvalue { i64, i64 } %loadN, 1 - %iNp254 = inttoptr i64 %ua.raw253 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp254) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp257 = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %iNp260 = inttoptr i64 %ua.raw259 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp260) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 +dispatch.default.406: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.405 dispatch.case.407: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp338) + %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw268 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.408: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp341) + %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 + %iNp271 = inttoptr i64 %ua.raw270 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.409: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp344) + %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 + %iNp274 = inttoptr i64 %ua.raw273 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.410: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp347) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp277 = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.411: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp350) + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %iNp280 = inttoptr i64 %ua.raw279 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 -dispatch.merge.530: ; preds = %dispatch.case.536, %dispatch.case.535, %dispatch.case.534, %dispatch.case.533, %dispatch.case.532, %dispatch.default.531 +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.merge.576: ; preds = %dispatch.case.582, %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.default.577 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.531: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.530 +dispatch.default.577: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.576 -dispatch.case.532: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { i32 }, i1 }, ptr %ua.ptr354, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load355) +dispatch.case.578: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { i32 }, i1 }, ptr %ua.ptr386, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.533: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr358 = inttoptr i64 %ua.raw357 to ptr - %ua.load359 = load { { ptr, i64 }, i1 }, ptr %ua.ptr358, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load359) +dispatch.case.579: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr + %ua.load391 = load { { ptr, i64 }, i1 }, ptr %ua.ptr390, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load391) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.534: ; preds = %match.arm.50 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp362) +dispatch.case.580: ; preds = %match.arm.50 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.535: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr365, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load366) +dispatch.case.581: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr397, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.536: ; preds = %match.arm.50 - %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr369 = inttoptr i64 %ua.raw368 to ptr - %ua.load370 = load { [64 x i8], i1 }, ptr %ua.ptr369, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load370) +dispatch.case.582: ; preds = %match.arm.50 + %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr401 = inttoptr i64 %ua.raw400 to ptr + %ua.load402 = load { [64 x i8], i1 }, ptr %ua.ptr401, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load402) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 } ; Function Attrs: nounwind @@ -2542,7 +2725,7 @@ 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.294, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.314, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2638,7 +2821,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, 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 @@ -2646,7 +2829,7 @@ if.then.12: ; preds = %if.then.9 %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.296, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, 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 @@ -2656,13 +2839,13 @@ if.then.12: ; preds = %if.then.9 %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.297, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2670,7 +2853,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.299, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2684,7 +2867,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2692,7 +2875,7 @@ if.then.23: ; preds = %if.else.10 %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.301, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2703,7 +2886,7 @@ if.then.23: ; preds = %if.else.10 %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.302, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2760,7 +2943,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2768,7 +2951,7 @@ if.then.32: ; preds = %if.then.29 %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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2779,7 +2962,7 @@ if.then.32: ; preds = %if.then.29 %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.305, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2799,7 +2982,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2807,7 +2990,7 @@ if.then.35: ; preds = %while.exit.2 %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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2818,7 +3001,7 @@ if.then.35: ; preds = %while.exit.2 %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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3651,6 +3834,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @scale(ptr %0, i32 %1, i32 %2) #0 { entry: @@ -3688,9 +3919,9 @@ entry: call void @print__ct_sc20f1d9fe3bc82ac__pack_i32(ptr @__sx_default_context, i32 %call) %callN = call i32 @scale(ptr @__sx_default_context, i32 5, i32 3) call void @print__ct_sfb0b0da1195bd991__pack_i32(ptr @__sx_default_context, i32 %callN) - %callN = call i32 @label(ptr @__sx_default_context, i32 1, { ptr, i64 } { ptr @str.309, i64 1 }, { ptr, i64 } { ptr @str.310, i64 1 }) - %callN = call i32 @label(ptr @__sx_default_context, i32 2, { ptr, i64 } { ptr @str.311, i64 1 }, { ptr, i64 } { ptr @str.312, i64 1 }) - %callN = call i32 @label(ptr @__sx_default_context, i32 3, { ptr, i64 } { ptr @str.313, i64 1 }, { ptr, i64 } { ptr @str.314, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 1, { ptr, i64 } { ptr @str.329, i64 1 }, { ptr, i64 } { ptr @str.330, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 2, { ptr, i64 } { ptr @str.331, i64 1 }, { ptr, i64 } { ptr @str.332, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 3, { ptr, i64 } { ptr @str.333, i64 1 }, { ptr, i64 } { ptr @str.334, i64 1 }) ret i32 0 } @@ -3712,7 +3943,7 @@ entry: define internal void @print__ct_sc20f1d9fe3bc82ac__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.315, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.335, i64 12 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3728,7 +3959,7 @@ entry: %gepN = getelementptr inbounds { 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.316, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.336, 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 9) @@ -3756,7 +3987,7 @@ entry: ; 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.317, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.337, i64 12 }) ret { ptr, i64 } %call } @@ -3764,7 +3995,7 @@ entry: define internal void @print__ct_sfb0b0da1195bd991__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.318, i64 13 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.338, i64 13 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3780,7 +4011,7 @@ entry: %gepN = getelementptr inbounds { 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.319, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.339, 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 10) @@ -3808,7 +4039,7 @@ entry: ; 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.320, i64 13 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.340, i64 13 }) ret { ptr, i64 } %call } @@ -3816,7 +4047,7 @@ entry: define internal void @print__ct_s7d5f90608c43cc01__pack_string_i32_string(ptr %0, { ptr, i64 } %1, i32 %2, { ptr, i64 } %3) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.321, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.341, i64 7 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %1, ptr %allocaN, align 8 %allocaN = alloca i32, align 4 @@ -3850,7 +4081,7 @@ entry: %gepN = getelementptr inbounds { 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.322, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.342, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %ba.tmp19 = alloca { ptr, i64 }, align 8 @@ -3891,7 +4122,7 @@ entry: ; 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.323, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.343, i64 7 }) ret { ptr, i64 } %call } @@ -3902,35 +4133,35 @@ entry: %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.324, i64 15 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.344, i64 15 }, { ptr, i64 } { ptr @str.345, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3938,7 +4169,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.331, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, 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 @@ -3958,31 +4189,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -3995,43 +4226,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.332, i64 9 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.352, i64 9 }, { ptr, i64 } { ptr @str.353, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.339, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.359, 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.340, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, 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 @@ -4050,24 +4281,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4080,43 +4311,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.341, i64 7 }, { ptr, i64 } { ptr @str.342, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.361, i64 7 }, { ptr, i64 } { ptr @str.362, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.347, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.367, 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.348, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, 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 %alloca, align 8 @@ -4134,19 +4365,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4158,43 +4389,43 @@ 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.349, i64 10 }, { ptr, i64 } { ptr @str.350, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.369, i64 10 }, { ptr, i64 } { ptr @str.370, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.353, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.373, 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.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4205,7 +4436,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4213,43 +4444,43 @@ 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.355, i64 3 }, { ptr, i64 } { ptr @str.356, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.375, i64 3 }, { ptr, i64 } { ptr @str.376, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.360, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.380, 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.361, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, 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 @@ -4266,12 +4497,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4282,43 +4513,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.362, i64 10 }, { ptr, i64 } { ptr @str.363, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.382, i64 10 }, { ptr, i64 } { ptr @str.383, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.368, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.388, 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.369, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, 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 @@ -4336,18 +4567,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4359,91 +4590,7 @@ 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.370, i64 5 }, { ptr, i64 } { ptr @str.371, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.377, 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.378, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.379, i64 8 }, { ptr, i64 } { ptr @str.380, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.390, i64 5 }, { ptr, i64 } { ptr @str.391, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4462,27 +4609,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.386, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.397, 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.387, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, 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 { 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 @@ -4504,17 +4651,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.399, i64 8 }, { ptr, i64 } { ptr @str.400, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.406, 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.407, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4526,43 +4757,43 @@ 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.388, i64 17 }, { ptr, i64 } { ptr @str.389, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.408, i64 17 }, { ptr, i64 } { ptr @str.409, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.396, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.416, 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.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, 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 @@ -4582,29 +4813,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4615,43 +4846,43 @@ 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.398, i64 4 }, { ptr, i64 } { ptr @str.399, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 4 }, { ptr, i64 } { ptr @str.419, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.403, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.423, 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.404, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, 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 @@ -4668,12 +4899,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4688,43 +4919,43 @@ entry: %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.405, i64 10 }, { ptr, i64 } { ptr @str.406, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.425, i64 10 }, { ptr, i64 } { ptr @str.426, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.414, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.434, 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.415, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, 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 @@ -4745,38 +4976,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4790,43 +5021,43 @@ 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.416, i64 13 }, { ptr, i64 } { ptr @str.417, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.436, i64 13 }, { ptr, i64 } { ptr @str.437, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.422, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.442, 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.423, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, 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 @@ -4844,18 +5075,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4868,43 +5099,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.424, i64 8 }, { ptr, i64 } { ptr @str.425, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 8 }, { ptr, i64 } { ptr @str.445, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.433, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.453, 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.434, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, 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 @@ -4925,36 +5156,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4965,89 +5196,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.435, i64 5 }, { ptr, i64 } { ptr @str.436, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.442, 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.443, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.444, i64 6 }, { ptr, i64 } { ptr @str.445, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.455, i64 5 }, { ptr, i64 } { ptr @str.456, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5066,24 +5215,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.451, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.462, 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.452, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, 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 @@ -5110,7 +5259,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -5125,13 +5274,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.453, i64 6 }, { ptr, i64 } { ptr @str.454, i64 1 }) + %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.464, i64 6 }, { ptr, i64 } { ptr @str.465, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5140,7 +5287,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5150,24 +5297,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.459, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.471, 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.460, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.473, i64 6 }, { ptr, i64 } { ptr @str.474, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.479, 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.480, 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 @@ -5185,19 +5416,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5211,93 +5442,7 @@ 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.461, i64 4 }, { ptr, i64 } { ptr @str.462, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.468, 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.469, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.470, i64 6 }, { ptr, i64 } { ptr @str.471, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.481, i64 4 }, { ptr, i64 } { ptr @str.482, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5316,24 +5461,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.477, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.488, 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.478, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.490, i64 6 }, { ptr, i64 } { ptr @str.491, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.497, 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.498, 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 @@ -5352,24 +5583,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5382,43 +5613,43 @@ 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.479, i64 12 }, { ptr, i64 } { ptr @str.480, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.499, i64 12 }, { ptr, i64 } { ptr @str.500, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.483, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.503, 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.484, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5429,7 +5660,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5438,95 +5669,7 @@ 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.485, i64 8 }, { ptr, i64 } { ptr @str.486, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.492, 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.493, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.494, i64 7 }, { ptr, i64 } { ptr @str.495, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.505, i64 8 }, { ptr, i64 } { ptr @str.506, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5545,24 +5688,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.501, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.512, 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.502, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.514, i64 7 }, { ptr, i64 } { ptr @str.515, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.521, 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.522, 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 @@ -5581,26 +5812,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5614,86 +5845,7 @@ 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.503, i64 9 }, { ptr, i64 } { ptr @str.504, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.509, 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.510, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.511, i64 4 }, { ptr, i64 } { ptr @str.512, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.523, i64 9 }, { ptr, i64 } { ptr @str.524, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5712,27 +5864,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.517, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.529, 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.518, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, 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 { 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 @@ -5753,11 +5905,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.531, i64 4 }, { ptr, i64 } { ptr @str.532, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.537, 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.538, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5775,43 +6006,43 @@ entry: %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.519, i64 6 }, { ptr, i64 } { ptr @str.520, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.539, i64 6 }, { ptr, i64 } { ptr @str.540, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.550, 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.531, i64 2 }) + %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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5834,51 +6065,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5893,43 +6124,43 @@ entry: %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.532, i64 6 }, { ptr, i64 } { ptr @str.533, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.552, i64 6 }, { ptr, i64 } { ptr @str.553, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.540, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.560, 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.541, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, 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 @@ -5949,31 +6180,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -5984,82 +6215,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.542, i64 8 }, { ptr, i64 } { ptr @str.543, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.548, 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.549, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.550, i64 6 }, { ptr, i64 } { ptr @str.551, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, i64 8 }, { ptr, i64 } { ptr @str.563, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6068,7 +6224,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -6078,118 +6234,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.560, 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.561, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.562, i64 10 }, { ptr, i64 } { ptr @str.563, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.568, i64 0, i64 %loadN @@ -6215,17 +6269,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.570, i64 6 }, { ptr, i64 } { ptr @str.571, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %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 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.580, 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.581, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.582, i64 10 }, { ptr, i64 } { ptr @str.583, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.588, 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.589, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6236,43 +6467,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.570, i64 5 }, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 5 }, { ptr, i64 } { ptr @str.591, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.581, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.601, 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.582, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, 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, i64 }, ptr %alloca, align 8 @@ -6295,47 +6526,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6346,43 +6577,43 @@ 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.583, i64 4 }, { ptr, i64 } { ptr @str.584, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 4 }, { ptr, i64 } { ptr @str.604, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.605, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.588, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.608, 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.589, i64 2 }) + %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 { i32 }, ptr %alloca, align 4 @@ -6399,18 +6630,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 6 }, { ptr, i64 } { ptr @str.611, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.621, 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.622, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.623, i64 7 }, { ptr, i64 } { ptr @str.624, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.633, 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.634, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.635, i64 8 }, { ptr, i64 } { ptr @str.636, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.643, 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.644, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 4 }, { ptr, i64 } { ptr @str.646, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %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 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.660, 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.661, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } { ptr @str.663, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.672, 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.673, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6420,9 +7214,9 @@ entry: %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.595, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.679, 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.590, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, 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 @@ -6436,18 +7230,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.597, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.681, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6461,9 +7255,9 @@ entry: %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.602, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.686, 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.598, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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 @@ -6477,18 +7271,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.604, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.688, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6513,9 +7307,9 @@ entry: %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.612, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.696, 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.605, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, 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 @@ -6529,16 +7323,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.614, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6551,7 +7345,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6611,9 +7405,9 @@ entry: %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.623, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.707, 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.615, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, 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 @@ -6627,18 +7421,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.625, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6652,9 +7446,9 @@ entry: %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.632, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.716, 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.626, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, 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 @@ -6668,18 +7462,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.634, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6691,33 +7485,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.719, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 -while.hdr.302: ; preds = %if.merge.306, %entry +while.hdr.332: ; preds = %if.merge.336, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.303, label %while.exit.304 + br i1 %icmp, label %while.body.333, label %while.exit.334 -while.body.303: ; preds = %while.hdr.302 +while.body.333: ; preds = %while.hdr.332 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.305, label %if.merge.306 + br i1 %icmpN, label %if.then.335, label %if.merge.336 -while.exit.304: ; preds = %while.hdr.302 +while.exit.334: ; preds = %while.hdr.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %call -if.then.305: ; preds = %while.body.303 +if.then.335: ; preds = %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %while.body.303 +if.merge.336: ; preds = %if.then.335, %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6731,7 +7525,7 @@ if.merge.306: ; preds = %if.then.305, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 } ; Function Attrs: nounwind @@ -6742,33 +7536,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.722, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %if.merge.311, %entry +while.hdr.337: ; preds = %if.merge.341, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %call -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %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 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6784,7 +7578,7 @@ if.merge.311: ; preds = %if.then.310, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 } ; Function Attrs: nounwind @@ -6794,33 +7588,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.725, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 -while.hdr.312: ; preds = %if.merge.316, %entry +while.hdr.342: ; preds = %if.merge.346, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.313, label %while.exit.314 + br i1 %icmp, label %while.body.343, label %while.exit.344 -while.body.313: ; preds = %while.hdr.312 +while.body.343: ; preds = %while.hdr.342 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.315, label %if.merge.316 + br i1 %icmpN, label %if.then.345, label %if.merge.346 -while.exit.314: ; preds = %while.hdr.312 +while.exit.344: ; preds = %while.hdr.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %call -if.then.315: ; preds = %while.body.313 +if.then.345: ; preds = %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %while.body.313 +if.merge.346: ; preds = %if.then.345, %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6834,7 +7628,7 @@ if.merge.316: ; preds = %if.then.315, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 } ; Function Attrs: nounwind @@ -6844,33 +7638,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.644, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.728, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 -while.hdr.317: ; preds = %if.merge.321, %entry +while.hdr.347: ; preds = %if.merge.351, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.318, label %while.exit.319 + br i1 %icmp, label %while.body.348, label %while.exit.349 -while.body.318: ; preds = %while.hdr.317 +while.body.348: ; preds = %while.hdr.347 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.320, label %if.merge.321 + br i1 %icmpN, label %if.then.350, label %if.merge.351 -while.exit.319: ; preds = %while.hdr.317 +while.exit.349: ; preds = %while.hdr.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %call -if.then.320: ; preds = %while.body.318 +if.then.350: ; preds = %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.321 + br label %if.merge.351 -if.merge.321: ; preds = %if.then.320, %while.body.318 +if.merge.351: ; preds = %if.then.350, %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6885,7 +7679,7 @@ if.merge.321: ; preds = %if.then.320, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 } ; Function Attrs: nounwind @@ -6895,33 +7689,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.647, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.731, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 -while.hdr.322: ; preds = %if.merge.326, %entry +while.hdr.352: ; preds = %if.merge.356, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.323, label %while.exit.324 + br i1 %icmp, label %while.body.353, label %while.exit.354 -while.body.323: ; preds = %while.hdr.322 +while.body.353: ; preds = %while.hdr.352 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.325, label %if.merge.326 + br i1 %icmpN, label %if.then.355, label %if.merge.356 -while.exit.324: ; preds = %while.hdr.322 +while.exit.354: ; preds = %while.hdr.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %call -if.then.325: ; preds = %while.body.323 +if.then.355: ; preds = %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %while.body.323 +if.merge.356: ; preds = %if.then.355, %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6935,7 +7729,7 @@ if.merge.326: ; preds = %if.then.325, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 } ; Function Attrs: nounwind @@ -6946,33 +7740,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.650, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.734, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 -while.hdr.327: ; preds = %if.merge.331, %entry +while.hdr.357: ; preds = %if.merge.361, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.328, label %while.exit.329 + br i1 %icmp, label %while.body.358, label %while.exit.359 -while.body.328: ; preds = %while.hdr.327 +while.body.358: ; preds = %while.hdr.357 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.330, label %if.merge.331 + br i1 %icmpN, label %if.then.360, label %if.merge.361 -while.exit.329: ; preds = %while.hdr.327 +while.exit.359: ; preds = %while.hdr.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) ret { ptr, i64 } %call -if.then.330: ; preds = %while.body.328 +if.then.360: ; preds = %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + %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.331 + br label %if.merge.361 -if.merge.331: ; preds = %if.then.330, %while.body.328 +if.merge.361: ; preds = %if.then.360, %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6988,7 +7782,7 @@ if.merge.331: ; preds = %if.then.330, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 } ; Function Attrs: nounwind @@ -6999,33 +7793,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [3 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.653, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.737, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 -while.hdr.332: ; preds = %if.merge.336, %entry +while.hdr.362: ; preds = %if.merge.366, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.333, label %while.exit.334 + br i1 %icmp, label %while.body.363, label %while.exit.364 -while.body.333: ; preds = %while.hdr.332 +while.body.363: ; preds = %while.hdr.362 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.335, label %if.merge.336 + br i1 %icmpN, label %if.then.365, label %if.merge.366 -while.exit.334: ; preds = %while.hdr.332 +while.exit.364: ; preds = %while.hdr.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %call -if.then.335: ; preds = %while.body.333 +if.then.365: ; preds = %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.336 + br label %if.merge.366 -if.merge.336: ; preds = %if.then.335, %while.body.333 +if.merge.366: ; preds = %if.then.365, %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [3 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7041,7 +7835,7 @@ if.merge.336: ; preds = %if.then.335, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 } ; Function Attrs: nounwind @@ -7051,35 +7845,35 @@ entry: %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.656, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.740, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %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.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + %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.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7095,7 +7889,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -7104,35 +7898,35 @@ 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.659, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.743, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %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.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7147,7 +7941,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -7157,35 +7951,35 @@ entry: %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.662, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.746, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %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.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 2 }) + %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.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7201,7 +7995,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -7211,35 +8005,35 @@ entry: %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.665, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.749, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %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.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 2 }) + %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 - br label %if.merge.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7255,7 +8049,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -7265,35 +8059,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.668, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.752, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %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.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.754, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7309,7 +8103,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -7319,35 +8113,35 @@ entry: %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.671, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.755, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 -while.hdr.370: ; preds = %if.merge.374, %entry +while.hdr.400: ; preds = %if.merge.404, %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.371, label %while.exit.372 + br i1 %icmp, label %while.body.401, label %while.exit.402 -while.body.371: ; preds = %while.hdr.370 +while.body.401: ; preds = %while.hdr.400 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 + br i1 %icmpN, label %if.then.403, label %if.merge.404 -while.exit.372: ; preds = %while.hdr.370 +while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 1 }) ret { ptr, i64 } %call -if.then.373: ; preds = %while.body.371 +if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.374 + br label %if.merge.404 -if.merge.374: ; preds = %if.then.373, %while.body.371 +if.merge.404: ; preds = %if.then.403, %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7363,206 +8157,11 @@ if.merge.374: ; preds = %if.then.373, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 } ; 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.412, label %if.else.413 - -if.then.412: ; preds = %entry - br label %if.merge.414 - -if.else.413: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.414 - -if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.685, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.688, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - ret { ptr, i64 } %bp -} - -; 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.440, label %if.else.441 - -if.then.440: ; preds = %entry - br label %if.merge.442 - -if.else.441: ; 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.442 - -if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] - 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.443, label %if.else.444 - -if.then.443: ; preds = %entry - br label %if.merge.445 - -if.else.444: ; 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.445 - -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] - 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 @@ -7580,12 +8179,207 @@ if.then.446: ; preds = %entry if.else.447: ; 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 5 }, { ptr, i64 } %callN) br label %if.merge.448 if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.763, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.766, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.769, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.772, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + ret { ptr, i64 } %bp +} + +; 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.775, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + 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.477, label %if.else.478 + +if.then.477: ; preds = %entry + br label %if.merge.479 + +if.else.478: ; 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.778, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.479 + +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + 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.480, label %if.else.481 + +if.then.480: ; preds = %entry + br label %if.merge.482 + +if.else.481: ; 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.781, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.482 + +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7600,20 +8394,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.700, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7628,20 +8422,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7656,20 +8450,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7684,20 +8478,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7711,20 +8505,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7739,20 +8533,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7766,20 +8560,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7794,20 +8588,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7822,20 +8616,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7850,20 +8644,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7878,20 +8672,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7906,20 +8700,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7934,20 +8728,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7962,20 +8756,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7990,20 +8784,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -8018,20 +8812,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -8046,20 +8840,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -8074,20 +8868,131 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] + 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.543, label %if.else.544 + +if.then.543: ; preds = %entry + br label %if.merge.545 + +if.else.544: ; 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.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.545 + +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] + 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.546, label %if.else.547 + +if.then.546: ; preds = %entry + br label %if.merge.548 + +if.else.547: ; 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.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 + +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -8102,20 +9007,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8130,20 +9035,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8158,20 +9063,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8186,20 +9091,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8214,20 +9119,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.766, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.860, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8242,20 +9147,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.769, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.863, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8270,20 +9175,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.772, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.866, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8298,20 +9203,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.525: ; preds = %entry +if.else.571: ; 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.775, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.871, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.869, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8326,20 +9231,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.778, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.874, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.872, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8352,12 +9257,12 @@ entry: %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.537, label %if.merge.538 + br i1 %lnot, label %if.then.583, label %if.merge.584 -if.then.537: ; preds = %entry - ret { ptr, i64 } { ptr @str.779, i64 4 } +if.then.583: ; preds = %entry + ret { ptr, i64 } { ptr @str.875, i64 4 } -if.merge.538: ; preds = %entry +if.merge.584: ; 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 @@ -8376,12 +9281,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.780, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.876, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 @@ -8399,12 +9304,12 @@ entry: %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.541, label %if.merge.542 + br i1 %lnot, label %if.then.587, label %if.merge.588 -if.then.541: ; preds = %entry - ret { ptr, i64 } { ptr @str.781, i64 4 } +if.then.587: ; preds = %entry + ret { ptr, i64 } { ptr @str.877, i64 4 } -if.merge.542: ; preds = %entry +if.merge.588: ; 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 @@ -8421,12 +9326,12 @@ entry: %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.543, label %if.merge.544 + br i1 %lnot, label %if.then.589, label %if.merge.590 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.782, i64 4 } +if.then.589: ; preds = %entry + ret { ptr, i64 } { ptr @str.878, i64 4 } -if.merge.544: ; preds = %entry +if.merge.590: ; 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 @@ -8445,12 +9350,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.783, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.879, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 diff --git a/examples/expected/0107-types-int-cmp-in-float-ternary.ir b/examples/expected/0107-types-int-cmp-in-float-ternary.ir index e2dbaf3..6ddd256 100644 --- a/examples/expected/0107-types-int-cmp-in-float-ternary.ir +++ b/examples/expected/0107-types-int-cmp-in-float-ternary.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [186 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] +@__sx_type_is_unsigned = private constant [204 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,460 +28,460 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [5 x i8] c"*f32\00" -@tn.str.214 = private constant [8 x i8] c"*string\00" -@tn.str.215 = private constant [6 x i8] c"[]Any\00" -@tn.str.216 = private constant [5 x i8] c"*Any\00" -@tn.str.217 = private constant [7 x i8] c"[1]Any\00" -@tn.str.218 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.219 = private constant [7 x i8] c"*[]Any\00" -@tn.str.220 = private constant [4 x i8] c"*u8\00" -@tn.str.221 = private constant [6 x i8] c"*bool\00" -@tn.str.222 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.223 = private constant [5 x i8] c"*f64\00" -@tn.str.224 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.225 = private constant [11 x i8] c"*Allocator\00" -@tn.str.226 = private constant [9 x i8] c"*Context\00" -@tn.str.227 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.228 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.229 = private constant [8 x i8] c"*Member\00" -@tn.str.230 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.231 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.232 = private constant [9 x i8] c"*Command\00" -@tn.str.233 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.234 = private constant [7 x i8] c"*Event\00" -@tn.str.235 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.236 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.237 = private constant [7 x i8] c"*Value\00" -@tn.str.238 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.239 = private constant [14 x i8] c"*Architecture\00" -@tn.str.240 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.241 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.242 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.243 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.244 = private constant [10 x i8] c"*[]string\00" -@tn.str.245 = private constant [6 x i8] c"*[]u8\00" -@tn.str.246 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.247 = private constant [11 x i8] c"*[]Command\00" -@tn.str.248 = private constant [9 x i8] c"*[]Event\00" -@tn.str.249 = private constant [6 x i8] c"**GPA\00" -@tn.str.250 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.251 = private constant [8 x i8] c"**Arena\00" -@tn.str.252 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.253 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.254 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.255 = private constant [7 x i8] c"**File\00" -@tn.str.256 = private constant [6 x i8] c"**i32\00" -@tn.str.257 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.258 = private constant [6 x i8] c"**u32\00" -@tn.str.259 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.260 = private constant [8 x i8] c"**Array\00" -@tn.str.261 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.262 = private constant [9 x i8] c"**Object\00" -@tn.str.263 = private constant [7 x i8] c"**Sink\00" -@tn.str.264 = private constant [9 x i8] c"**Parser\00" -@tn.str.265 = private constant [6 x i8] c"**i64\00" -@tn.str.266 = private constant [9 x i8] c"**Parsed\00" -@tn.str.267 = private constant [7 x i8] c"**Diag\00" -@tn.str.268 = private constant [9 x i8] c"**Sha256\00" -@tn.str.269 = private constant [11 x i8] c"**Timespec\00" -@tn.str.270 = private constant [9 x i8] c"**Kevent\00" -@tn.str.271 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.272 = private constant [7 x i8] c"**Loop\00" -@tn.str.273 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.274 = private constant [8 x i8] c"***void\00" -@tn.str.275 = private constant [6 x i8] c"**f32\00" -@tn.str.276 = private constant [9 x i8] c"**string\00" -@tn.str.277 = private constant [6 x i8] c"**Any\00" -@tn.str.278 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.279 = private constant [8 x i8] c"**[]Any\00" -@tn.str.280 = private constant [5 x i8] c"**u8\00" -@tn.str.281 = private constant [7 x i8] c"**bool\00" -@tn.str.282 = private constant [7 x i8] c"*?File\00" -@tn.str.283 = private constant [9 x i8] c"*?string\00" -@tn.str.284 = private constant [10 x i8] c"*?cstring\00" -@tn.str.285 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.286 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [186 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 4 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 5 }, { ptr, i64 } { ptr @tn.str.216, i64 4 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 3 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 4 }, { ptr, i64 } { ptr @tn.str.224, i64 16 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 8 }, { ptr, i64 } { ptr @tn.str.227, i64 11 }, { ptr, i64 } { ptr @tn.str.228, i64 14 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 13 }, { ptr, i64 } { ptr @tn.str.231, i64 9 }, { ptr, i64 } { ptr @tn.str.232, i64 8 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 16 }, { ptr, i64 } { ptr @tn.str.239, i64 13 }, { ptr, i64 } { ptr @tn.str.240, i64 14 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 9 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 11 }, { ptr, i64 } { ptr @tn.str.247, i64 10 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 12 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 10 }, { ptr, i64 } { ptr @tn.str.254, i64 19 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 5 }, { ptr, i64 } { ptr @tn.str.257, i64 10 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 9 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 10 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 8 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 10 }, { ptr, i64 } { ptr @tn.str.270, i64 8 }, { ptr, i64 } { ptr @tn.str.271, i64 12 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 13 }, { ptr, i64 } { ptr @tn.str.274, i64 7 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 4 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 9 }, { ptr, i64 } { ptr @tn.str.285, i64 15 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }] -@str.287 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.294 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.295 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.296 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.297 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.298 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.299 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.301 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.302 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.303 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.304 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.305 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.307 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.308 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1 -@str.309 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [5 x i8] c"*f32\00" +@tn.str.228 = private constant [8 x i8] c"*string\00" +@tn.str.229 = private constant [6 x i8] c"[]Any\00" +@tn.str.230 = private constant [5 x i8] c"*Any\00" +@tn.str.231 = private constant [7 x i8] c"[1]Any\00" +@tn.str.232 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.233 = private constant [7 x i8] c"*[]Any\00" +@tn.str.234 = private constant [4 x i8] c"*u8\00" +@tn.str.235 = private constant [6 x i8] c"*bool\00" +@tn.str.236 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.237 = private constant [5 x i8] c"*f64\00" +@tn.str.238 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.239 = private constant [11 x i8] c"*Allocator\00" +@tn.str.240 = private constant [9 x i8] c"*Context\00" +@tn.str.241 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.242 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.243 = private constant [8 x i8] c"*Member\00" +@tn.str.244 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.245 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.246 = private constant [9 x i8] c"*Command\00" +@tn.str.247 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.248 = private constant [7 x i8] c"*Event\00" +@tn.str.249 = private constant [8 x i8] c"*Config\00" +@tn.str.250 = private constant [6 x i8] c"*Conn\00" +@tn.str.251 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.252 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.253 = private constant [7 x i8] c"*Value\00" +@tn.str.254 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.255 = private constant [14 x i8] c"*Architecture\00" +@tn.str.256 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.257 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.258 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.259 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.260 = private constant [10 x i8] c"*[]string\00" +@tn.str.261 = private constant [6 x i8] c"*[]u8\00" +@tn.str.262 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.263 = private constant [11 x i8] c"*[]Command\00" +@tn.str.264 = private constant [9 x i8] c"*[]Event\00" +@tn.str.265 = private constant [6 x i8] c"**GPA\00" +@tn.str.266 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.267 = private constant [8 x i8] c"**Arena\00" +@tn.str.268 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.269 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.270 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.271 = private constant [7 x i8] c"**File\00" +@tn.str.272 = private constant [6 x i8] c"**i32\00" +@tn.str.273 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.274 = private constant [6 x i8] c"**u32\00" +@tn.str.275 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.276 = private constant [8 x i8] c"**Array\00" +@tn.str.277 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.278 = private constant [9 x i8] c"**Object\00" +@tn.str.279 = private constant [7 x i8] c"**Sink\00" +@tn.str.280 = private constant [9 x i8] c"**Parser\00" +@tn.str.281 = private constant [6 x i8] c"**i64\00" +@tn.str.282 = private constant [9 x i8] c"**Parsed\00" +@tn.str.283 = private constant [7 x i8] c"**Diag\00" +@tn.str.284 = private constant [9 x i8] c"**Sha256\00" +@tn.str.285 = private constant [11 x i8] c"**Timespec\00" +@tn.str.286 = private constant [9 x i8] c"**Kevent\00" +@tn.str.287 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.288 = private constant [7 x i8] c"**Loop\00" +@tn.str.289 = private constant [10 x i8] c"**Request\00" +@tn.str.290 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.291 = private constant [11 x i8] c"**Response\00" +@tn.str.292 = private constant [9 x i8] c"**Server\00" +@tn.str.293 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.294 = private constant [8 x i8] c"***void\00" +@tn.str.295 = private constant [6 x i8] c"**f32\00" +@tn.str.296 = private constant [9 x i8] c"**string\00" +@tn.str.297 = private constant [6 x i8] c"**Any\00" +@tn.str.298 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.299 = private constant [8 x i8] c"**[]Any\00" +@tn.str.300 = private constant [5 x i8] c"**u8\00" +@tn.str.301 = private constant [7 x i8] c"**bool\00" +@tn.str.302 = private constant [7 x i8] c"*?File\00" +@tn.str.303 = private constant [9 x i8] c"*?string\00" +@tn.str.304 = private constant [10 x i8] c"*?cstring\00" +@tn.str.305 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.306 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [204 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 4 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 4 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 3 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 4 }, { ptr, i64 } { ptr @tn.str.238, i64 16 }, { ptr, i64 } { ptr @tn.str.239, i64 10 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 11 }, { ptr, i64 } { ptr @tn.str.242, i64 14 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 10 }, { ptr, i64 } { ptr @tn.str.248, i64 6 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 9 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 16 }, { ptr, i64 } { ptr @tn.str.255, i64 13 }, { ptr, i64 } { ptr @tn.str.256, i64 14 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 11 }, { ptr, i64 } { ptr @tn.str.263, i64 10 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 12 }, { ptr, i64 } { ptr @tn.str.267, i64 7 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 10 }, { ptr, i64 } { ptr @tn.str.270, i64 19 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 5 }, { ptr, i64 } { ptr @tn.str.273, i64 10 }, { ptr, i64 } { ptr @tn.str.274, i64 5 }, { ptr, i64 } { ptr @tn.str.275, i64 9 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.280, i64 8 }, { ptr, i64 } { ptr @tn.str.281, i64 5 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 10 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 12 }, { ptr, i64 } { ptr @tn.str.288, i64 6 }, { ptr, i64 } { ptr @tn.str.289, i64 9 }, { ptr, i64 } { ptr @tn.str.290, i64 8 }, { ptr, i64 } { ptr @tn.str.291, i64 10 }, { ptr, i64 } { ptr @tn.str.292, i64 8 }, { ptr, i64 } { ptr @tn.str.293, i64 13 }, { ptr, i64 } { ptr @tn.str.294, i64 7 }, { ptr, i64 } { ptr @tn.str.295, i64 5 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 5 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 7 }, { ptr, i64 } { ptr @tn.str.300, i64 4 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 6 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 9 }, { ptr, i64 } { ptr @tn.str.305, i64 15 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }] +@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 -@str.312 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.313 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.314 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.314 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.315 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str = private constant [5 x i8] c"file\00" -@fld.str.316 = private constant [5 x i8] c"line\00" -@fld.str.317 = private constant [4 x i8] c"col\00" -@fld.str.318 = 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.316, i64 4 }, { ptr, i64 } { ptr @fld.str.317, i64 3 }, { ptr, i64 } { ptr @fld.str.318, i64 4 }] -@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.320 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.321 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.322 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.316 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.317 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.318 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.319 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.321 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.322 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.323 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.324 = private constant [4 x i8] c"ctx\00" -@fld.str.325 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.326 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.327 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 3 }, { ptr, i64 } { ptr @fld.str.325, i64 11 }, { ptr, i64 } { ptr @fld.str.326, i64 13 }] -@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.329 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.330 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.331 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.332 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.333 = private constant [10 x i8] c"allocator\00" -@fld.str.334 = private constant [5 x i8] c"data\00" -@field_names.335 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 9 }, { ptr, i64 } { ptr @fld.str.334, i64 4 }] -@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.337 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.338 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.339 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.340 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.341 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.347 = private constant [12 x i8] c"alloc_count\00" -@field_names.348 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 11 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [5 x i8] c"next\00" -@fld.str.355 = private constant [4 x i8] c"cap\00" -@field_names.356 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 4 }, { ptr, i64 } { ptr @fld.str.355, i64 3 }] -@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.358 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.361 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.362 = private constant [6 x i8] c"first\00" -@fld.str.363 = private constant [10 x i8] c"end_index\00" -@fld.str.364 = private constant [7 x i8] c"parent\00" -@field_names.365 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 5 }, { ptr, i64 } { ptr @fld.str.363, i64 9 }, { ptr, i64 } { ptr @fld.str.364, i64 6 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.368 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.370 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.371 = private constant [4 x i8] c"buf\00" -@fld.str.372 = private constant [4 x i8] c"len\00" -@fld.str.373 = private constant [4 x i8] c"pos\00" -@field_names.374 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 3 }, { ptr, i64 } { ptr @fld.str.372, i64 3 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }] -@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.376 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.377 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.378 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.379 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.380 = private constant [7 x i8] c"parent\00" -@fld.str.381 = private constant [12 x i8] c"alloc_count\00" -@fld.str.382 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.383 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.384 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 6 }, { ptr, i64 } { ptr @fld.str.381, i64 11 }, { ptr, i64 } { ptr @fld.str.382, i64 13 }, { ptr, i64 } { ptr @fld.str.383, i64 17 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.387 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.388 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.389 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.390 = private constant [3 x i8] c"fd\00" -@field_names.391 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 2 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.397 = private constant [5 x i8] c"file\00" -@fld.str.398 = private constant [5 x i8] c"line\00" -@fld.str.399 = private constant [4 x i8] c"col\00" -@fld.str.400 = private constant [5 x i8] c"func\00" -@fld.str.401 = private constant [10 x i8] c"line_text\00" -@field_names.402 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 4 }, { ptr, i64 } { ptr @fld.str.398, i64 4 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 4 }, { ptr, i64 } { ptr @fld.str.401, i64 9 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.405 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.406 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.407 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.408 = private constant [10 x i8] c"exit_code\00" -@fld.str.409 = private constant [7 x i8] c"stdout\00" -@field_names.410 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 9 }, { ptr, i64 } { ptr @fld.str.409, i64 6 }] -@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.412 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.414 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.415 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.416 = private constant [8 x i8] c"sin_len\00" -@fld.str.417 = private constant [11 x i8] c"sin_family\00" -@fld.str.418 = private constant [9 x i8] c"sin_port\00" -@fld.str.419 = private constant [9 x i8] c"sin_addr\00" -@fld.str.420 = private constant [9 x i8] c"sin_zero\00" -@field_names.421 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 7 }, { ptr, i64 } { ptr @fld.str.417, i64 10 }, { ptr, i64 } { ptr @fld.str.418, i64 8 }, { ptr, i64 } { ptr @fld.str.419, i64 8 }, { ptr, i64 } { ptr @fld.str.420, i64 8 }] -@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.423 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.424 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.425 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.426 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.427 = private constant [6 x i8] c"items\00" -@fld.str.428 = private constant [4 x i8] c"len\00" -@fld.str.429 = private constant [4 x i8] c"cap\00" -@field_names.430 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 5 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 3 }] +@str.324 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.325 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.326 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.327 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.328 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1 +@str.329 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 +@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.331 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 +@str.332 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.333 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.334 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.335 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str = private constant [5 x i8] c"file\00" +@fld.str.336 = private constant [5 x i8] c"line\00" +@fld.str.337 = private constant [4 x i8] c"col\00" +@fld.str.338 = 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.336, i64 4 }, { ptr, i64 } { ptr @fld.str.337, i64 3 }, { ptr, i64 } { ptr @fld.str.338, i64 4 }] +@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.340 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.341 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.342 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.343 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.344 = private constant [4 x i8] c"ctx\00" +@fld.str.345 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.346 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.347 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 11 }, { ptr, i64 } { ptr @fld.str.346, i64 13 }] +@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.349 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.353 = private constant [10 x i8] c"allocator\00" +@fld.str.354 = private constant [5 x i8] c"data\00" +@field_names.355 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 9 }, { ptr, i64 } { ptr @fld.str.354, i64 4 }] +@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.357 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.361 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.367 = private constant [12 x i8] c"alloc_count\00" +@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 11 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [5 x i8] c"next\00" +@fld.str.375 = private constant [4 x i8] c"cap\00" +@field_names.376 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 3 }] +@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.378 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.381 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.382 = private constant [6 x i8] c"first\00" +@fld.str.383 = private constant [10 x i8] c"end_index\00" +@fld.str.384 = private constant [7 x i8] c"parent\00" +@field_names.385 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 5 }, { ptr, i64 } { ptr @fld.str.383, i64 9 }, { ptr, i64 } { ptr @fld.str.384, i64 6 }] +@str.386 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.387 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.388 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.389 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.390 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.391 = private constant [4 x i8] c"buf\00" +@fld.str.392 = private constant [4 x i8] c"len\00" +@fld.str.393 = private constant [4 x i8] c"pos\00" +@field_names.394 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 3 }, { ptr, i64 } { ptr @fld.str.392, i64 3 }, { ptr, i64 } { ptr @fld.str.393, i64 3 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.397 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.398 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.399 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.400 = private constant [7 x i8] c"parent\00" +@fld.str.401 = private constant [12 x i8] c"alloc_count\00" +@fld.str.402 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.403 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.404 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 6 }, { ptr, i64 } { ptr @fld.str.401, i64 11 }, { ptr, i64 } { ptr @fld.str.402, i64 13 }, { ptr, i64 } { ptr @fld.str.403, i64 17 }] +@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.406 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.407 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.408 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.409 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.410 = private constant [3 x i8] c"fd\00" +@field_names.411 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 2 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.417 = private constant [5 x i8] c"file\00" +@fld.str.418 = private constant [5 x i8] c"line\00" +@fld.str.419 = private constant [4 x i8] c"col\00" +@fld.str.420 = private constant [5 x i8] c"func\00" +@fld.str.421 = private constant [10 x i8] c"line_text\00" +@field_names.422 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 4 }, { ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 4 }, { ptr, i64 } { ptr @fld.str.421, i64 9 }] +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.428 = private constant [10 x i8] c"exit_code\00" +@fld.str.429 = private constant [7 x i8] c"stdout\00" +@field_names.430 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 9 }, { ptr, i64 } { ptr @fld.str.429, i64 6 }] @str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.432 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.433 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.434 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.435 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.436 = private constant [6 x i8] c"items\00" -@fld.str.437 = private constant [4 x i8] c"len\00" -@fld.str.438 = private constant [4 x i8] c"cap\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 5 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.443 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.444 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.445 = private constant [4 x i8] c"key\00" -@fld.str.446 = private constant [4 x i8] c"val\00" -@field_names.447 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 3 }, { ptr, i64 } { ptr @fld.str.446, i64 3 }] -@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.449 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.450 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.451 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.452 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.453 = private constant [4 x i8] c"dst\00" -@fld.str.454 = private constant [4 x i8] c"pos\00" -@fld.str.455 = private constant [5 x i8] c"file\00" -@field_names.456 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.453, i64 3 }, { ptr, i64 } { ptr @fld.str.454, i64 3 }, { ptr, i64 } { ptr @fld.str.455, i64 4 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.459 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.460 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.461 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.462 = private constant [4 x i8] c"src\00" -@fld.str.463 = private constant [4 x i8] c"pos\00" -@fld.str.464 = private constant [6 x i8] c"alloc\00" -@field_names.465 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }, { ptr, i64 } { ptr @fld.str.464, i64 5 }] -@str.466 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.467 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.468 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.469 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.470 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.471 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.473 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.477 = private constant [5 x i8] c"name\00" -@fld.str.478 = private constant [12 x i8] c"takes_value\00" -@fld.str.479 = private constant [9 x i8] c"required\00" -@field_names.480 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 4 }, { ptr, i64 } { ptr @fld.str.478, i64 11 }, { ptr, i64 } { ptr @fld.str.479, i64 8 }] -@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.482 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.485 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.486 = private constant [6 x i8] c"group\00" -@fld.str.487 = private constant [8 x i8] c"command\00" -@fld.str.488 = private constant [6 x i8] c"flags\00" -@field_names.489 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.486, i64 5 }, { ptr, i64 } { ptr @fld.str.487, i64 7 }, { ptr, i64 } { ptr @fld.str.488, i64 5 }] -@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.495 = private constant [4 x i8] c"set\00" -@fld.str.496 = private constant [6 x i8] c"value\00" -@field_names.497 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 5 }] -@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.499 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.500 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.502 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.503 = private constant [6 x i8] c"index\00" -@fld.str.504 = private constant [6 x i8] c"token\00" -@field_names.505 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 5 }, { ptr, i64 } { ptr @fld.str.504, i64 5 }] -@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.507 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.511 = private constant [6 x i8] c"group\00" -@fld.str.512 = private constant [8 x i8] c"command\00" -@fld.str.513 = private constant [10 x i8] c"cmd_index\00" -@fld.str.514 = private constant [5 x i8] c"json\00" -@fld.str.515 = private constant [5 x i8] c"rest\00" -@fld.str.516 = private constant [5 x i8] c"spec\00" -@fld.str.517 = private constant [7 x i8] c"values\00" -@field_names.518 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 5 }, { ptr, i64 } { ptr @fld.str.512, i64 7 }, { ptr, i64 } { ptr @fld.str.513, i64 9 }, { ptr, i64 } { ptr @fld.str.514, i64 4 }, { ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 4 }, { ptr, i64 } { ptr @fld.str.517, i64 6 }] -@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.520 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.524 = private constant [2 x i8] c"h\00" -@fld.str.525 = private constant [4 x i8] c"buf\00" -@fld.str.526 = private constant [8 x i8] c"buf_len\00" -@fld.str.527 = private constant [10 x i8] c"total_len\00" -@field_names.528 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 1 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 7 }, { ptr, i64 } { ptr @fld.str.527, i64 9 }] -@str.529 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.530 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.531 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.532 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.533 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.534 = private constant [4 x i8] c"sec\00" -@fld.str.535 = private constant [5 x i8] c"nsec\00" -@field_names.536 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }] -@str.537 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.538 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.539 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.540 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.541 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.542 = private constant [6 x i8] c"ident\00" -@fld.str.543 = private constant [7 x i8] c"filter\00" -@fld.str.544 = private constant [6 x i8] c"flags\00" -@fld.str.545 = private constant [7 x i8] c"fflags\00" -@fld.str.546 = private constant [5 x i8] c"data\00" -@fld.str.547 = private constant [6 x i8] c"udata\00" -@field_names.548 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.542, i64 5 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 5 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 4 }, { ptr, i64 } { ptr @fld.str.547, i64 5 }] +@fld.str.436 = private constant [8 x i8] c"sin_len\00" +@fld.str.437 = private constant [11 x i8] c"sin_family\00" +@fld.str.438 = private constant [9 x i8] c"sin_port\00" +@fld.str.439 = private constant [9 x i8] c"sin_addr\00" +@fld.str.440 = private constant [9 x i8] c"sin_zero\00" +@field_names.441 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 7 }, { ptr, i64 } { ptr @fld.str.437, i64 10 }, { ptr, i64 } { ptr @fld.str.438, i64 8 }, { ptr, i64 } { ptr @fld.str.439, i64 8 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }] +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.444 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.445 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.446 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.447 = private constant [6 x i8] c"items\00" +@fld.str.448 = private constant [4 x i8] c"len\00" +@fld.str.449 = private constant [4 x i8] c"cap\00" +@field_names.450 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 5 }, { ptr, i64 } { ptr @fld.str.448, i64 3 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }] +@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.452 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.453 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.454 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.455 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.456 = private constant [6 x i8] c"items\00" +@fld.str.457 = private constant [4 x i8] c"len\00" +@fld.str.458 = private constant [4 x i8] c"cap\00" +@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 5 }, { ptr, i64 } { ptr @fld.str.457, i64 3 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.462 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.463 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.464 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.465 = private constant [4 x i8] c"key\00" +@fld.str.466 = private constant [4 x i8] c"val\00" +@field_names.467 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 3 }, { ptr, i64 } { ptr @fld.str.466, i64 3 }] +@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.469 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.470 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.471 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.472 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.473 = private constant [4 x i8] c"dst\00" +@fld.str.474 = private constant [4 x i8] c"pos\00" +@fld.str.475 = private constant [5 x i8] c"file\00" +@field_names.476 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 3 }, { ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 4 }] +@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.478 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.479 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.480 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.481 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.482 = private constant [4 x i8] c"src\00" +@fld.str.483 = private constant [4 x i8] c"pos\00" +@fld.str.484 = private constant [6 x i8] c"alloc\00" +@field_names.485 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 5 }] +@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.487 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.491 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.492 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.493 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.496 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.497 = private constant [5 x i8] c"name\00" +@fld.str.498 = private constant [12 x i8] c"takes_value\00" +@fld.str.499 = private constant [9 x i8] c"required\00" +@field_names.500 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 11 }, { ptr, i64 } { ptr @fld.str.499, i64 8 }] +@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.502 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.506 = private constant [6 x i8] c"group\00" +@fld.str.507 = private constant [8 x i8] c"command\00" +@fld.str.508 = private constant [6 x i8] c"flags\00" +@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.515 = private constant [4 x i8] c"set\00" +@fld.str.516 = private constant [6 x i8] c"value\00" +@field_names.517 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }] +@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.519 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.520 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.522 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.523 = private constant [6 x i8] c"index\00" +@fld.str.524 = private constant [6 x i8] c"token\00" +@field_names.525 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }] +@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.527 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.531 = private constant [6 x i8] c"group\00" +@fld.str.532 = private constant [8 x i8] c"command\00" +@fld.str.533 = private constant [10 x i8] c"cmd_index\00" +@fld.str.534 = private constant [5 x i8] c"json\00" +@fld.str.535 = private constant [5 x i8] c"rest\00" +@fld.str.536 = private constant [5 x i8] c"spec\00" +@fld.str.537 = private constant [7 x i8] c"values\00" +@field_names.538 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 9 }, { ptr, i64 } { ptr @fld.str.534, i64 4 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }] +@str.539 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.540 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.544 = private constant [2 x i8] c"h\00" +@fld.str.545 = private constant [4 x i8] c"buf\00" +@fld.str.546 = private constant [8 x i8] c"buf_len\00" +@fld.str.547 = private constant [10 x i8] c"total_len\00" +@field_names.548 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 1 }, { ptr, i64 } { ptr @fld.str.545, i64 3 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 9 }] @str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.550 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -489,217 +489,313 @@ @fld.str.555 = private constant [5 x i8] c"nsec\00" @field_names.556 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 3 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }] @str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.558 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.559 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.560 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.561 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.562 = private constant [3 x i8] c"fd\00" -@fld.str.563 = private constant [6 x i8] c"udata\00" -@fld.str.564 = private constant [9 x i8] c"readable\00" -@fld.str.565 = private constant [9 x i8] c"writable\00" -@fld.str.566 = private constant [4 x i8] c"eof\00" -@fld.str.567 = private constant [4 x i8] c"err\00" -@fld.str.568 = private constant [7 x i8] c"nbytes\00" -@field_names.569 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 2 }, { ptr, i64 } { ptr @fld.str.563, i64 5 }, { ptr, i64 } { ptr @fld.str.564, i64 8 }, { ptr, i64 } { ptr @fld.str.565, i64 8 }, { ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 6 }] -@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.572 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.573 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.574 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.575 = private constant [3 x i8] c"kq\00" -@field_names.576 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 2 }] +@fld.str.562 = private constant [6 x i8] c"ident\00" +@fld.str.563 = private constant [7 x i8] c"filter\00" +@fld.str.564 = private constant [6 x i8] c"flags\00" +@fld.str.565 = private constant [7 x i8] c"fflags\00" +@fld.str.566 = private constant [5 x i8] c"data\00" +@fld.str.567 = private constant [6 x i8] c"udata\00" +@field_names.568 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 5 }, { ptr, i64 } { ptr @fld.str.563, i64 6 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 6 }, { ptr, i64 } { ptr @fld.str.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }] +@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.570 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.574 = private constant [4 x i8] c"sec\00" +@fld.str.575 = private constant [5 x i8] c"nsec\00" +@field_names.576 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }] @str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.579 = private constant [5 x i8] c"read\00" -@fld.str.580 = private constant [6 x i8] c"write\00" -@fld.str.581 = private constant [7 x i8] c"append\00" -@fld.str.582 = private constant [11 x i8] c"read_write\00" -@field_names.583 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.579, i64 4 }, { ptr, i64 } { ptr @fld.str.580, i64 5 }, { ptr, i64 } { ptr @fld.str.581, i64 6 }, { ptr, i64 } { ptr @fld.str.582, i64 10 }] -@str.584 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.586 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.587 = private constant [4 x i8] c"set\00" -@fld.str.588 = private constant [8 x i8] c"current\00" -@fld.str.589 = private constant [4 x i8] c"end\00" -@field_names.590 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 7 }, { ptr, i64 } { ptr @fld.str.589, i64 3 }] -@str.591 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.594 = private constant [6 x i8] c"null_\00" -@fld.str.595 = private constant [6 x i8] c"bool_\00" -@fld.str.596 = private constant [5 x i8] c"int_\00" -@fld.str.597 = private constant [4 x i8] c"str\00" -@fld.str.598 = private constant [6 x i8] c"array\00" -@fld.str.599 = private constant [7 x i8] c"object\00" -@field_names.600 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 5 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }, { ptr, i64 } { ptr @fld.str.597, i64 3 }, { ptr, i64 } { ptr @fld.str.598, i64 5 }, { ptr, i64 } { ptr @fld.str.599, i64 6 }] -@str.601 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.602 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.603 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.604 = private constant [6 x i8] c"macos\00" -@fld.str.605 = private constant [6 x i8] c"linux\00" -@fld.str.606 = private constant [8 x i8] c"windows\00" -@fld.str.607 = private constant [5 x i8] c"wasm\00" -@fld.str.608 = private constant [4 x i8] c"ios\00" -@fld.str.609 = private constant [8 x i8] c"android\00" -@fld.str.610 = private constant [8 x i8] c"unknown\00" -@field_names.611 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 7 }, { ptr, i64 } { ptr @fld.str.607, i64 4 }, { ptr, i64 } { ptr @fld.str.608, i64 3 }, { ptr, i64 } { ptr @fld.str.609, i64 7 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }] -@str.612 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.613 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.615 = private constant [8 x i8] c"aarch64\00" -@fld.str.616 = private constant [7 x i8] c"x86_64\00" -@fld.str.617 = private constant [7 x i8] c"wasm32\00" -@fld.str.618 = private constant [7 x i8] c"wasm64\00" -@fld.str.619 = private constant [8 x i8] c"unknown\00" -@field_names.620 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 7 }, { ptr, i64 } { ptr @fld.str.616, i64 6 }, { ptr, i64 } { ptr @fld.str.617, i64 6 }, { ptr, i64 } { ptr @fld.str.618, i64 6 }, { ptr, i64 } { ptr @fld.str.619, i64 7 }] -@str.621 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.624 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.625 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.626 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.628 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.659 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.660 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.661 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.662 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.663 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.664 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.665 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.666 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.667 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.668 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.669 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.670 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.671 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.672 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.673 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.674 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.675 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.676 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.678 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.679 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.681 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.682 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.685 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.686 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.688 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.691 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.694 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.696 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.697 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.698 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.699 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.700 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.702 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.703 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.704 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.705 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.706 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.708 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.709 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.710 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.711 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.712 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.713 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.715 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.716 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.717 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.718 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.719 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.720 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.721 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.723 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.724 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.725 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.726 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.727 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.578 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.582 = private constant [3 x i8] c"fd\00" +@fld.str.583 = private constant [6 x i8] c"udata\00" +@fld.str.584 = private constant [9 x i8] c"readable\00" +@fld.str.585 = private constant [9 x i8] c"writable\00" +@fld.str.586 = private constant [4 x i8] c"eof\00" +@fld.str.587 = private constant [4 x i8] c"err\00" +@fld.str.588 = private constant [7 x i8] c"nbytes\00" +@field_names.589 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }, { ptr, i64 } { ptr @fld.str.583, i64 5 }, { ptr, i64 } { ptr @fld.str.584, i64 8 }, { ptr, i64 } { ptr @fld.str.585, i64 8 }, { ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }] +@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.591 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.595 = private constant [3 x i8] c"kq\00" +@field_names.596 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 2 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.602 = private constant [5 x i8] c"port\00" +@fld.str.603 = private constant [8 x i8] c"backlog\00" +@fld.str.604 = private constant [9 x i8] c"max_conn\00" +@fld.str.605 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.606 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.607 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.608 = private constant [14 x i8] c"request_count\00" +@field_names.609 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 4 }, { ptr, i64 } { ptr @fld.str.603, i64 7 }, { ptr, i64 } { ptr @fld.str.604, i64 8 }, { ptr, i64 } { ptr @fld.str.605, i64 12 }, { ptr, i64 } { ptr @fld.str.606, i64 18 }, { ptr, i64 } { ptr @fld.str.607, i64 20 }, { ptr, i64 } { ptr @fld.str.608, i64 13 }] +@str.610 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.611 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.612 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.614 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.615 = private constant [7 x i8] c"method\00" +@fld.str.616 = private constant [5 x i8] c"path\00" +@fld.str.617 = private constant [8 x i8] c"version\00" +@fld.str.618 = private constant [12 x i8] c"headers_raw\00" +@fld.str.619 = private constant [5 x i8] c"body\00" +@fld.str.620 = private constant [11 x i8] c"keep_alive\00" +@field_names.621 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 6 }, { ptr, i64 } { ptr @fld.str.616, i64 4 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }, { ptr, i64 } { ptr @fld.str.618, i64 11 }, { ptr, i64 } { ptr @fld.str.619, i64 4 }, { ptr, i64 } { ptr @fld.str.620, i64 10 }] +@str.622 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.623 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.624 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.625 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.626 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.627 = private constant [7 x i8] c"status\00" +@fld.str.628 = private constant [13 x i8] c"content_type\00" +@fld.str.629 = private constant [14 x i8] c"extra_headers\00" +@fld.str.630 = private constant [5 x i8] c"body\00" +@field_names.631 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 6 }, { ptr, i64 } { ptr @fld.str.628, i64 12 }, { ptr, i64 } { ptr @fld.str.629, i64 13 }, { ptr, i64 } { ptr @fld.str.630, i64 4 }] +@str.632 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.633 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.635 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.636 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.637 = private constant [3 x i8] c"fd\00" +@fld.str.638 = private constant [6 x i8] c"state\00" +@fld.str.639 = private constant [9 x i8] c"read_buf\00" +@fld.str.640 = private constant [9 x i8] c"read_len\00" +@fld.str.641 = private constant [8 x i8] c"out_buf\00" +@fld.str.642 = private constant [8 x i8] c"out_len\00" +@fld.str.643 = private constant [9 x i8] c"out_sent\00" +@fld.str.644 = private constant [9 x i8] c"deadline\00" +@fld.str.645 = private constant [7 x i8] c"served\00" +@fld.str.646 = private constant [12 x i8] c"close_after\00" +@fld.str.647 = private constant [12 x i8] c"write_armed\00" +@field_names.648 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.637, i64 2 }, { ptr, i64 } { ptr @fld.str.638, i64 5 }, { ptr, i64 } { ptr @fld.str.639, i64 8 }, { ptr, i64 } { ptr @fld.str.640, i64 8 }, { ptr, i64 } { ptr @fld.str.641, i64 7 }, { ptr, i64 } { ptr @fld.str.642, i64 7 }, { ptr, i64 } { ptr @fld.str.643, i64 8 }, { ptr, i64 } { ptr @fld.str.644, i64 8 }, { ptr, i64 } { ptr @fld.str.645, i64 6 }, { ptr, i64 } { ptr @fld.str.646, i64 11 }, { ptr, i64 } { ptr @fld.str.647, i64 11 }] +@str.649 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.650 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.651 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.652 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.654 = private constant [4 x i8] c"cfg\00" +@fld.str.655 = private constant [5 x i8] c"loop\00" +@fld.str.656 = private constant [4 x i8] c"lfd\00" +@fld.str.657 = private constant [6 x i8] c"conns\00" +@fld.str.658 = private constant [10 x i8] c"own_alloc\00" +@fld.str.659 = private constant [8 x i8] c"handler\00" +@field_names.660 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.654, i64 3 }, { ptr, i64 } { ptr @fld.str.655, i64 4 }, { ptr, i64 } { ptr @fld.str.656, i64 3 }, { ptr, i64 } { ptr @fld.str.657, i64 5 }, { ptr, i64 } { ptr @fld.str.658, i64 9 }, { ptr, i64 } { ptr @fld.str.659, i64 7 }] +@str.661 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.662 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.663 = private constant [5 x i8] c"read\00" +@fld.str.664 = private constant [6 x i8] c"write\00" +@fld.str.665 = private constant [7 x i8] c"append\00" +@fld.str.666 = private constant [11 x i8] c"read_write\00" +@field_names.667 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 4 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }, { ptr, i64 } { ptr @fld.str.666, i64 10 }] +@str.668 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.670 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.671 = private constant [4 x i8] c"set\00" +@fld.str.672 = private constant [8 x i8] c"current\00" +@fld.str.673 = private constant [4 x i8] c"end\00" +@field_names.674 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.671, i64 3 }, { ptr, i64 } { ptr @fld.str.672, i64 7 }, { ptr, i64 } { ptr @fld.str.673, i64 3 }] +@str.675 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.678 = private constant [6 x i8] c"null_\00" +@fld.str.679 = private constant [6 x i8] c"bool_\00" +@fld.str.680 = private constant [5 x i8] c"int_\00" +@fld.str.681 = private constant [4 x i8] c"str\00" +@fld.str.682 = private constant [6 x i8] c"array\00" +@fld.str.683 = private constant [7 x i8] c"object\00" +@field_names.684 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 5 }, { ptr, i64 } { ptr @fld.str.680, i64 4 }, { ptr, i64 } { ptr @fld.str.681, i64 3 }, { ptr, i64 } { ptr @fld.str.682, i64 5 }, { ptr, i64 } { ptr @fld.str.683, i64 6 }] +@str.685 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.687 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.688 = private constant [6 x i8] c"macos\00" +@fld.str.689 = private constant [6 x i8] c"linux\00" +@fld.str.690 = private constant [8 x i8] c"windows\00" +@fld.str.691 = private constant [5 x i8] c"wasm\00" +@fld.str.692 = private constant [4 x i8] c"ios\00" +@fld.str.693 = private constant [8 x i8] c"android\00" +@fld.str.694 = private constant [8 x i8] c"unknown\00" +@field_names.695 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.688, i64 5 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 7 }, { ptr, i64 } { ptr @fld.str.691, i64 4 }, { ptr, i64 } { ptr @fld.str.692, i64 3 }, { ptr, i64 } { ptr @fld.str.693, i64 7 }, { ptr, i64 } { ptr @fld.str.694, i64 7 }] +@str.696 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.699 = private constant [8 x i8] c"aarch64\00" +@fld.str.700 = private constant [7 x i8] c"x86_64\00" +@fld.str.701 = private constant [7 x i8] c"wasm32\00" +@fld.str.702 = private constant [7 x i8] c"wasm64\00" +@fld.str.703 = private constant [8 x i8] c"unknown\00" +@field_names.704 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.699, i64 7 }, { ptr, i64 } { ptr @fld.str.700, i64 6 }, { ptr, i64 } { ptr @fld.str.701, i64 6 }, { ptr, i64 } { ptr @fld.str.702, i64 6 }, { ptr, i64 } { ptr @fld.str.703, i64 7 }] +@str.705 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.708 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.709 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.710 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.712 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.716 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.717 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.718 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.719 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \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 +@str.737 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \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 @str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.744 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.747 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.750 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.753 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.756 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.759 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.762 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.765 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.768 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.771 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.774 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.777 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.780 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.783 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.786 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.789 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.792 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.795 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.798 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.801 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.804 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.807 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.813 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.816 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.819 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.822 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.825 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.828 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.831 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.834 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.837 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1137,38 +1233,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.416 + br label %while.hdr.450 -while.hdr.416: ; preds = %if.merge.421, %entry +while.hdr.450: ; preds = %if.merge.455, %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.417, label %while.exit.418 + br i1 %icmp, label %while.body.451, label %while.exit.452 -while.body.417: ; preds = %while.hdr.416 +while.body.451: ; preds = %while.hdr.450 %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.419, label %if.else.420 + br i1 %icmpN, label %if.then.453, label %if.else.454 -while.exit.418: ; preds = %while.hdr.416 +while.exit.452: ; preds = %while.hdr.450 ret void -if.then.419: ; preds = %while.body.417 +if.then.453: ; preds = %while.body.451 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.421 + br label %if.merge.455 -if.else.420: ; preds = %while.body.417 +if.else.454: ; preds = %while.body.451 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.421 + br label %if.merge.455 -if.merge.421: ; preds = %if.else.420, %if.then.419 - %bp = phi i64 [ %addN, %if.then.419 ], [ %addN, %if.else.420 ] +if.merge.455: ; preds = %if.else.454, %if.then.453 + %bp = phi i64 [ %addN, %if.then.453 ], [ %addN, %if.else.454 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1181,7 +1277,7 @@ if.merge.421: ; preds = %if.else.420, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.416 + br label %while.hdr.450 } ; Function Attrs: nounwind @@ -1294,12 +1390,12 @@ entry: 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.414, label %if.merge.415 + br i1 %icmp, label %if.then.448, label %if.merge.449 -if.then.414: ; preds = %entry +if.then.448: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.415: ; preds = %entry +if.merge.449: ; 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 @@ -1322,14 +1418,14 @@ if.merge.415: ; preds = %entry %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.422 + br label %while.hdr.456 -while.hdr.422: ; preds = %if.merge.426, %if.merge.415 +while.hdr.456: ; preds = %if.merge.460, %if.merge.449 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.423, label %while.exit.424 + br i1 %icmpN, label %while.body.457, label %while.exit.458 -while.body.423: ; preds = %while.hdr.422 +while.body.457: ; preds = %while.hdr.456 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1337,9 +1433,9 @@ while.body.423: ; preds = %while.hdr.422 %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.425, label %if.merge.426 + br i1 %icmpN, label %if.then.459, label %if.merge.460 -while.exit.424: ; preds = %if.then.425, %while.hdr.422 +while.exit.458: ; preds = %if.then.459, %while.hdr.456 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1347,14 +1443,14 @@ while.exit.424: ; preds = %if.then.425, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.425: ; preds = %while.body.423 - br label %while.exit.424 +if.then.459: ; preds = %while.body.457 + br label %while.exit.458 -if.merge.426: ; preds = %while.body.423 +if.merge.460: ; preds = %while.body.457 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.422 + br label %while.hdr.456 } ; Function Attrs: nounwind @@ -1502,6 +1598,11 @@ entry: i64 100, label %match.arm.48 i64 104, label %match.arm.48 i64 105, label %match.arm.48 + i64 111, label %match.arm.48 + i64 112, label %match.arm.48 + i64 113, label %match.arm.48 + i64 115, label %match.arm.48 + i64 119, label %match.arm.48 i64 38, label %match.arm.49 i64 39, label %match.arm.49 i64 58, label %match.arm.49 @@ -1512,18 +1613,19 @@ entry: i64 68, label %match.arm.50 i64 79, label %match.arm.50 i64 103, label %match.arm.50 + i64 110, label %match.arm.50 i64 23, label %match.arm.52 i64 85, label %match.arm.52 i64 91, label %match.arm.52 i64 92, label %match.arm.52 i64 96, label %match.arm.52 - i64 116, label %match.arm.52 + i64 128, label %match.arm.52 i64 24, label %match.arm.53 i64 64, label %match.arm.53 i64 81, label %match.arm.53 i64 89, label %match.arm.53 i64 109, label %match.arm.53 - i64 114, label %match.arm.53 + i64 126, label %match.arm.53 i64 19, label %match.arm.54 i64 26, label %match.arm.54 i64 28, label %match.arm.54 @@ -1550,15 +1652,19 @@ entry: i64 101, label %match.arm.54 i64 102, label %match.arm.54 i64 107, label %match.arm.54 - i64 110, label %match.arm.54 - i64 111, label %match.arm.54 - i64 112, label %match.arm.54 - i64 113, label %match.arm.54 - i64 115, label %match.arm.54 + i64 114, label %match.arm.54 + i64 116, label %match.arm.54 i64 117, label %match.arm.54 - i64 118, label %match.arm.54 - i64 119, label %match.arm.54 - i64 120, label %match.arm.54 + i64 121, label %match.arm.54 + i64 122, label %match.arm.54 + i64 123, label %match.arm.54 + i64 124, label %match.arm.54 + i64 125, label %match.arm.54 + i64 127, label %match.arm.54 + i64 129, label %match.arm.54 + i64 130, label %match.arm.54 + i64 131, label %match.arm.54 + i64 132, label %match.arm.54 i64 42, label %match.arm.55 i64 43, label %match.arm.55 i64 45, label %match.arm.55 @@ -1567,7 +1673,7 @@ entry: i64 13, label %match.arm.56 ] -match.merge.42: ; preds = %dispatch.merge.529, %dispatch.merge.374, %dispatch.merge.336, %dispatch.merge.298, %dispatch.merge.281, %dispatch.merge.99, %float.merge.88, %if.merge.60, %match.unr.57, %match.arm.56, %match.arm.50, %match.arm.46, %match.arm.45, %match.arm.43 +match.merge.42: ; preds = %dispatch.merge.575, %dispatch.merge.404, %dispatch.merge.366, %dispatch.merge.328, %dispatch.merge.311, %dispatch.merge.99, %float.merge.88, %if.merge.60, %match.unr.57, %match.arm.56, %match.arm.50, %match.arm.46, %match.arm.45, %match.arm.43 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1581,7 +1687,7 @@ match.arm.44: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [186 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [204 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.58, label %if.else.59 @@ -1609,7 +1715,7 @@ match.arm.47: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.86, label %fN.unbox.87 -match.arm.48: ; 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 +match.arm.48: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1644,28 +1750,33 @@ match.arm.48: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.128 i64 104, label %dispatch.case.129 i64 105, label %dispatch.case.130 + i64 111, label %dispatch.case.131 + i64 112, label %dispatch.case.132 + i64 113, label %dispatch.case.133 + i64 115, label %dispatch.case.134 + i64 119, label %dispatch.case.135 ] match.arm.49: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.282 [ - i64 38, label %dispatch.case.283 - i64 39, label %dispatch.case.284 - i64 58, label %dispatch.case.285 - i64 74, label %dispatch.case.286 - i64 75, label %dispatch.case.287 + switch i64 %ua.raw20, label %dispatch.default.312 [ + i64 38, label %dispatch.case.313 + i64 39, label %dispatch.case.314 + i64 58, label %dispatch.case.315 + i64 74, label %dispatch.case.316 + i64 75, label %dispatch.case.317 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.42 @@ -1677,80 +1788,84 @@ match.arm.52: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.299 [ - i64 23, label %dispatch.case.300 - i64 85, label %dispatch.case.301 - i64 91, label %dispatch.case.302 - i64 92, label %dispatch.case.303 - i64 96, label %dispatch.case.304 - i64 116, label %dispatch.case.305 + switch i64 %ua.raw29, label %dispatch.default.329 [ + i64 23, label %dispatch.case.330 + i64 85, label %dispatch.case.331 + i64 91, label %dispatch.case.332 + i64 92, label %dispatch.case.333 + i64 96, label %dispatch.case.334 + i64 128, label %dispatch.case.335 ] match.arm.53: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.337 [ - i64 24, label %dispatch.case.338 - i64 64, label %dispatch.case.339 - i64 81, label %dispatch.case.340 - i64 89, label %dispatch.case.341 - i64 109, label %dispatch.case.342 - i64 114, label %dispatch.case.343 + switch i64 %ua.raw33, label %dispatch.default.367 [ + i64 24, label %dispatch.case.368 + i64 64, label %dispatch.case.369 + i64 81, label %dispatch.case.370 + i64 89, label %dispatch.case.371 + i64 109, label %dispatch.case.372 + i64 126, label %dispatch.case.373 ] -match.arm.54: ; 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 +match.arm.54: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.375 [ - i64 19, label %dispatch.case.376 - i64 26, label %dispatch.case.377 - i64 28, label %dispatch.case.378 - i64 30, label %dispatch.case.379 - i64 32, label %dispatch.case.380 - i64 33, label %dispatch.case.381 - i64 35, label %dispatch.case.382 - i64 37, label %dispatch.case.383 - i64 41, label %dispatch.case.384 - i64 48, label %dispatch.case.385 - i64 50, label %dispatch.case.386 - i64 51, label %dispatch.case.387 - i64 60, label %dispatch.case.388 - i64 61, label %dispatch.case.389 - i64 62, label %dispatch.case.390 - i64 63, label %dispatch.case.391 - i64 66, label %dispatch.case.392 - i64 71, label %dispatch.case.393 - i64 78, label %dispatch.case.394 - i64 87, label %dispatch.case.395 - i64 90, label %dispatch.case.396 - i64 94, label %dispatch.case.397 - i64 98, label %dispatch.case.398 - i64 101, label %dispatch.case.399 - i64 102, label %dispatch.case.400 - i64 107, label %dispatch.case.401 - i64 110, label %dispatch.case.402 - i64 111, label %dispatch.case.403 - i64 112, label %dispatch.case.404 - i64 113, label %dispatch.case.405 - i64 115, label %dispatch.case.406 - i64 117, label %dispatch.case.407 - i64 118, label %dispatch.case.408 - i64 119, label %dispatch.case.409 - i64 120, label %dispatch.case.410 + switch i64 %ua.raw37, label %dispatch.default.405 [ + i64 19, label %dispatch.case.406 + i64 26, label %dispatch.case.407 + i64 28, label %dispatch.case.408 + i64 30, label %dispatch.case.409 + i64 32, label %dispatch.case.410 + i64 33, label %dispatch.case.411 + i64 35, label %dispatch.case.412 + i64 37, label %dispatch.case.413 + i64 41, label %dispatch.case.414 + i64 48, label %dispatch.case.415 + i64 50, label %dispatch.case.416 + i64 51, label %dispatch.case.417 + i64 60, label %dispatch.case.418 + i64 61, label %dispatch.case.419 + i64 62, label %dispatch.case.420 + i64 63, label %dispatch.case.421 + i64 66, label %dispatch.case.422 + i64 71, label %dispatch.case.423 + i64 78, label %dispatch.case.424 + i64 87, label %dispatch.case.425 + i64 90, label %dispatch.case.426 + i64 94, label %dispatch.case.427 + i64 98, label %dispatch.case.428 + i64 101, label %dispatch.case.429 + i64 102, label %dispatch.case.430 + i64 107, label %dispatch.case.431 + i64 114, label %dispatch.case.432 + i64 116, label %dispatch.case.433 + i64 117, label %dispatch.case.434 + i64 121, label %dispatch.case.435 + i64 122, label %dispatch.case.436 + i64 123, label %dispatch.case.437 + i64 124, label %dispatch.case.438 + i64 125, label %dispatch.case.439 + i64 127, label %dispatch.case.440 + i64 129, label %dispatch.case.441 + i64 130, label %dispatch.case.442 + i64 131, label %dispatch.case.443 + i64 132, label %dispatch.case.444 ] match.arm.55: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.530 [ - i64 42, label %dispatch.case.531 - i64 43, label %dispatch.case.532 - i64 45, label %dispatch.case.533 - i64 47, label %dispatch.case.534 - i64 95, label %dispatch.case.535 + switch i64 %ua.raw41, label %dispatch.default.576 [ + i64 42, label %dispatch.case.577 + i64 43, label %dispatch.case.578 + i64 45, label %dispatch.case.579 + i64 47, label %dispatch.case.580 + i64 95, label %dispatch.case.581 ] match.arm.56: ; preds = %entry @@ -1759,7 +1874,7 @@ match.arm.56: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [186 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [204 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.42 @@ -1804,13 +1919,13 @@ float.merge.88: ; preds = %fN.unbox.87, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.merge.99: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.default.100 +dispatch.merge.99: ; preds = %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.default.100 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 dispatch.default.100: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.287, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.99 dispatch.case.101: ; preds = %match.arm.48 @@ -2053,462 +2168,530 @@ dispatch.case.130: ; preds = %match.arm.48 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.99 -dispatch.merge.281: ; preds = %dispatch.case.287, %dispatch.case.286, %dispatch.case.285, %dispatch.case.284, %dispatch.case.283, %dispatch.default.282 +dispatch.case.131: ; preds = %match.arm.48 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.99 + +dispatch.case.132: ; preds = %match.arm.48 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.99 + +dispatch.case.133: ; preds = %match.arm.48 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.99 + +dispatch.case.134: ; preds = %match.arm.48 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.99 + +dispatch.case.135: ; preds = %match.arm.48 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.99 + +dispatch.merge.311: ; preds = %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.case.313, %dispatch.default.312 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.default.282: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.281 +dispatch.default.312: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.311 -dispatch.case.283: ; preds = %match.arm.49 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.313: ; preds = %match.arm.49 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.281 + br label %dispatch.merge.311 -dispatch.case.284: ; preds = %match.arm.49 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.314: ; preds = %match.arm.49 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.281 + br label %dispatch.merge.311 -dispatch.case.285: ; preds = %match.arm.49 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.315: ; preds = %match.arm.49 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.281 + br label %dispatch.merge.311 -dispatch.case.286: ; preds = %match.arm.49 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.316: ; preds = %match.arm.49 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.281 + br label %dispatch.merge.311 -dispatch.case.287: ; preds = %match.arm.49 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.317: ; preds = %match.arm.49 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.281 + br label %dispatch.merge.311 -dispatch.merge.298: ; preds = %dispatch.case.305, %dispatch.case.304, %dispatch.case.303, %dispatch.case.302, %dispatch.case.301, %dispatch.case.300, %dispatch.default.299 +dispatch.merge.328: ; preds = %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.case.330, %dispatch.default.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.default.299: ; preds = %match.arm.52 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.298 +dispatch.default.329: ; preds = %match.arm.52 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.328 -dispatch.case.300: ; preds = %match.arm.52 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 - -dispatch.case.301: ; preds = %match.arm.52 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 - -dispatch.case.302: ; preds = %match.arm.52 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 - -dispatch.case.303: ; preds = %match.arm.52 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 - -dispatch.case.304: ; preds = %match.arm.52 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 - -dispatch.case.305: ; preds = %match.arm.52 +dispatch.case.330: ; preds = %match.arm.52 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.298 + br label %dispatch.merge.328 -dispatch.merge.336: ; preds = %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.default.337 +dispatch.case.331: ; preds = %match.arm.52 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.328 + +dispatch.case.332: ; preds = %match.arm.52 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.328 + +dispatch.case.333: ; preds = %match.arm.52 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.328 + +dispatch.case.334: ; preds = %match.arm.52 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.328 + +dispatch.case.335: ; preds = %match.arm.52 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.328 + +dispatch.merge.366: ; preds = %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.case.368, %dispatch.default.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.default.337: ; preds = %match.arm.53 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.336 +dispatch.default.367: ; preds = %match.arm.53 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.366 -dispatch.case.338: ; preds = %match.arm.53 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 - -dispatch.case.339: ; preds = %match.arm.53 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 - -dispatch.case.340: ; preds = %match.arm.53 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 - -dispatch.case.341: ; preds = %match.arm.53 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 - -dispatch.case.342: ; preds = %match.arm.53 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 - -dispatch.case.343: ; preds = %match.arm.53 +dispatch.case.368: ; preds = %match.arm.53 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.merge.374: ; preds = %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.default.375 +dispatch.case.369: ; preds = %match.arm.53 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.366 + +dispatch.case.370: ; preds = %match.arm.53 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.366 + +dispatch.case.371: ; preds = %match.arm.53 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.366 + +dispatch.case.372: ; preds = %match.arm.53 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.366 + +dispatch.case.373: ; preds = %match.arm.53 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.366 + +dispatch.merge.404: ; preds = %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.default.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.default.375: ; preds = %match.arm.54 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.376: ; preds = %match.arm.54 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.377: ; preds = %match.arm.54 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.378: ; preds = %match.arm.54 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.379: ; preds = %match.arm.54 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.380: ; preds = %match.arm.54 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.381: ; preds = %match.arm.54 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.382: ; preds = %match.arm.54 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.383: ; preds = %match.arm.54 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.384: ; preds = %match.arm.54 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.385: ; preds = %match.arm.54 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.386: ; preds = %match.arm.54 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.387: ; preds = %match.arm.54 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.388: ; preds = %match.arm.54 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.389: ; preds = %match.arm.54 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.390: ; preds = %match.arm.54 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.391: ; preds = %match.arm.54 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.392: ; preds = %match.arm.54 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.393: ; preds = %match.arm.54 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.394: ; preds = %match.arm.54 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.395: ; preds = %match.arm.54 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.396: ; preds = %match.arm.54 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.397: ; preds = %match.arm.54 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.398: ; preds = %match.arm.54 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.399: ; preds = %match.arm.54 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.400: ; preds = %match.arm.54 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.401: ; preds = %match.arm.54 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.402: ; preds = %match.arm.54 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.403: ; preds = %match.arm.54 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.404: ; preds = %match.arm.54 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 - -dispatch.case.405: ; preds = %match.arm.54 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 +dispatch.default.405: ; preds = %match.arm.54 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.404 dispatch.case.406: ; preds = %match.arm.54 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 + br label %dispatch.merge.404 dispatch.case.407: ; preds = %match.arm.54 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 + br label %dispatch.merge.404 dispatch.case.408: ; preds = %match.arm.54 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 + br label %dispatch.merge.404 dispatch.case.409: ; preds = %match.arm.54 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 + br label %dispatch.merge.404 dispatch.case.410: ; preds = %match.arm.54 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.374 + br label %dispatch.merge.404 -dispatch.merge.529: ; preds = %dispatch.case.535, %dispatch.case.534, %dispatch.case.533, %dispatch.case.532, %dispatch.case.531, %dispatch.default.530 +dispatch.case.411: ; preds = %match.arm.54 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.412: ; preds = %match.arm.54 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.413: ; preds = %match.arm.54 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.414: ; preds = %match.arm.54 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.415: ; preds = %match.arm.54 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.416: ; preds = %match.arm.54 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.417: ; preds = %match.arm.54 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.418: ; preds = %match.arm.54 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.419: ; preds = %match.arm.54 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.420: ; preds = %match.arm.54 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.421: ; preds = %match.arm.54 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.422: ; preds = %match.arm.54 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.423: ; preds = %match.arm.54 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.424: ; preds = %match.arm.54 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.425: ; preds = %match.arm.54 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.426: ; preds = %match.arm.54 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.427: ; preds = %match.arm.54 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.428: ; preds = %match.arm.54 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.429: ; preds = %match.arm.54 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.430: ; preds = %match.arm.54 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.431: ; preds = %match.arm.54 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.432: ; preds = %match.arm.54 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.433: ; preds = %match.arm.54 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.434: ; preds = %match.arm.54 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.435: ; preds = %match.arm.54 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.436: ; preds = %match.arm.54 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.437: ; preds = %match.arm.54 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.438: ; preds = %match.arm.54 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.439: ; preds = %match.arm.54 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.440: ; preds = %match.arm.54 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.441: ; preds = %match.arm.54 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.442: ; preds = %match.arm.54 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.443: ; preds = %match.arm.54 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.case.444: ; preds = %match.arm.54 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.404 + +dispatch.merge.575: ; preds = %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.case.577, %dispatch.default.576 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 -dispatch.default.530: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.529 +dispatch.default.576: ; preds = %match.arm.55 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.575 -dispatch.case.531: ; preds = %match.arm.55 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.577: ; preds = %match.arm.55 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.529 + br label %dispatch.merge.575 -dispatch.case.532: ; preds = %match.arm.55 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.578: ; preds = %match.arm.55 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.529 + br label %dispatch.merge.575 -dispatch.case.533: ; preds = %match.arm.55 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.579: ; preds = %match.arm.55 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.529 + br label %dispatch.merge.575 -dispatch.case.534: ; preds = %match.arm.55 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.580: ; preds = %match.arm.55 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.529 + br label %dispatch.merge.575 -dispatch.case.535: ; preds = %match.arm.55 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.581: ; preds = %match.arm.55 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.529 + br label %dispatch.merge.575 } ; Function Attrs: nounwind @@ -2517,7 +2700,7 @@ 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.293, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.313, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2613,7 +2796,7 @@ if.merge.16: ; preds = %if.merge.30, %if.me if.then.17: ; preds = %if.then.14 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, 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 @@ -2621,7 +2804,7 @@ if.then.17: ; preds = %if.then.14 %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.295, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, 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 @@ -2631,13 +2814,13 @@ if.then.17: ; preds = %if.then.14 %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.296, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.18 if.merge.18: ; preds = %if.then.17, %if.then.14 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, 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 @@ -2645,7 +2828,7 @@ if.merge.18: ; preds = %if.then.17, %if.the %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.298, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2659,7 +2842,7 @@ if.merge.18: ; preds = %if.then.17, %if.the if.then.28: ; preds = %if.else.15 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2667,7 +2850,7 @@ if.then.28: ; preds = %if.else.15 %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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2678,7 +2861,7 @@ if.then.28: ; preds = %if.else.15 %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.301, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2735,7 +2918,7 @@ if.merge.36: ; preds = %if.merge.39, %if.el if.then.37: ; preds = %if.then.34 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2743,7 +2926,7 @@ if.then.37: ; preds = %if.then.34 %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.303, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2754,7 +2937,7 @@ if.then.37: ; preds = %if.then.34 %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.304, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2774,7 +2957,7 @@ if.merge.39: ; preds = %if.else.38, %if.the if.then.40: ; preds = %while.exit.7 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.305, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2782,7 +2965,7 @@ if.then.40: ; preds = %while.exit.7 %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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2793,7 +2976,7 @@ if.then.40: ; preds = %while.exit.7 %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.307, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.41 @@ -3626,6 +3809,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: @@ -3637,7 +3868,7 @@ entry: br i1 %icmp, label %if.then.0, label %if.merge.1 if.then.0: ; preds = %entry - %0 = call i64 @write(i32 1, ptr @str.308, i64 3) + %0 = call i64 @write(i32 1, ptr @str.328, i64 3) br label %if.merge.1 if.merge.1: ; preds = %if.then.0, %entry @@ -3678,7 +3909,7 @@ entry: define internal void @print__ct_sb195ea381495f949__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.309, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.329, i64 12 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3695,7 +3926,7 @@ entry: %gepN = getelementptr inbounds { 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.310, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.330, 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 9) @@ -3724,7 +3955,7 @@ entry: ; 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.311, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.331, i64 12 }) ret { ptr, i64 } %call } @@ -3735,35 +3966,35 @@ entry: %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.312, i64 15 }, { ptr, i64 } { ptr @str.313, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.332, i64 15 }, { ptr, i64 } { ptr @str.333, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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 @@ -3771,7 +4002,7 @@ if.merge.135: ; preds = %if.then.134, %while %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.319, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, 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 @@ -3791,31 +4022,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %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.135 +fv.case17: ; preds = %if.merge.140 %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.135 +fv.case20: ; preds = %if.merge.140 %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.135 +fv.case24: ; preds = %if.merge.140 %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 @@ -3828,43 +4059,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.320, i64 9 }, { ptr, i64 } { ptr @str.321, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.340, i64 9 }, { ptr, i64 } { ptr @str.341, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.327, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.347, 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.328, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, 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 @@ -3883,24 +4114,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.140 +fv.case21: ; preds = %if.merge.145 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3913,43 +4144,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.329, i64 7 }, { ptr, i64 } { ptr @str.330, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 7 }, { ptr, i64 } { ptr @str.350, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %fv.merge, %entry +while.hdr.146: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.335, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.355, 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.336, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, 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 %alloca, align 8 @@ -3967,19 +4198,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 -fv.default: ; preds = %if.merge.145 +fv.default: ; preds = %if.merge.150 br label %fv.merge -fv.case: ; preds = %if.merge.145 +fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.145 +fv.case17: ; preds = %if.merge.150 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -3991,43 +4222,43 @@ 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.337, i64 10 }, { ptr, i64 } { ptr @str.338, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.357, i64 10 }, { ptr, i64 } { ptr @str.358, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %if.merge.150, %entry +while.hdr.151: ; preds = %if.merge.155, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.361, 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.342, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4038,7 +4269,7 @@ if.merge.150: ; preds = %if.then.149, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 } ; Function Attrs: nounwind @@ -4046,43 +4277,43 @@ 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.343, i64 3 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 3 }, { ptr, i64 } { ptr @str.364, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, 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 @@ -4099,12 +4330,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4115,43 +4346,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.350, i64 10 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 10 }, { ptr, i64 } { ptr @str.371, 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.156 + br label %while.hdr.161 -while.hdr.156: ; preds = %fv.merge, %entry +while.hdr.161: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.157, label %while.exit.158 + br i1 %icmp, label %while.body.162, label %while.exit.163 -while.body.157: ; preds = %while.hdr.156 +while.body.162: ; preds = %while.hdr.161 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 + br i1 %icmpN, label %if.then.164, label %if.merge.165 -while.exit.158: ; preds = %while.hdr.156 +while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.159: ; preds = %while.body.157 +if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 + br label %if.merge.165 -if.merge.160: ; preds = %if.then.159, %while.body.157 +if.merge.165: ; preds = %if.then.164, %while.body.162 %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.356, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.376, 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.357, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, 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 @@ -4169,18 +4400,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.156 + br label %while.hdr.161 -fv.default: ; preds = %if.merge.160 +fv.default: ; preds = %if.merge.165 br label %fv.merge -fv.case: ; preds = %if.merge.160 +fv.case: ; preds = %if.merge.165 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.160 +fv.case17: ; preds = %if.merge.165 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4192,91 +4423,7 @@ 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.358, i64 5 }, { ptr, i64 } { ptr @str.359, 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.161 - -while.hdr.161: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.162, label %while.exit.163 - -while.body.162: ; preds = %while.hdr.161 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.164, label %if.merge.165 - -while.exit.163: ; preds = %while.hdr.161 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 1 }) - ret { ptr, i64 } %callN - -if.then.164: ; preds = %while.body.162 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.165 - -if.merge.165: ; preds = %if.then.164, %while.body.162 - %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.365, 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.366, 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.161 - -fv.default: ; preds = %if.merge.165 - br label %fv.merge - -fv.case: ; preds = %if.merge.165 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.165 - %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.165 - %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 21, 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.367, i64 8 }, { ptr, i64 } { ptr @str.368, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.378, i64 5 }, { ptr, i64 } { ptr @str.379, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4295,27 +4442,27 @@ while.body.167: ; preds = %while.hdr.166 while.exit.168: ; preds = %while.hdr.166 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 1 }) ret { ptr, i64 } %callN if.then.169: ; preds = %while.body.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.170 if.merge.170: ; preds = %if.then.169, %while.body.167 %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.374, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.385, 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.375, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, 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 { 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 @@ -4337,17 +4484,101 @@ fv.default: ; preds = %if.merge.170 br label %fv.merge fv.case: ; preds = %if.merge.170 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.170 + %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.170 + %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 21, 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.387, i64 8 }, { ptr, i64 } { ptr @str.388, 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.171 + +while.hdr.171: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.172, label %while.exit.173 + +while.body.172: ; preds = %while.hdr.171 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.174, label %if.merge.175 + +while.exit.173: ; preds = %while.hdr.171 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 1 }) + ret { ptr, i64 } %callN + +if.then.174: ; preds = %while.body.172 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.175 + +if.merge.175: ; preds = %if.then.174, %while.body.172 + %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.394, 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.395, 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.171 + +fv.default: ; preds = %if.merge.175 + br label %fv.merge + +fv.case: ; preds = %if.merge.175 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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 @@ -4359,43 +4590,43 @@ 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.376, i64 17 }, { ptr, i64 } { ptr @str.377, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.396, i64 17 }, { ptr, i64 } { ptr @str.397, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.404, 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.385, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, 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 @@ -4415,29 +4646,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.175 +fv.case17: ; preds = %if.merge.180 %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.175 +fv.case20: ; preds = %if.merge.180 %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.175 +fv.case23: ; preds = %if.merge.180 %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 @@ -4448,43 +4679,43 @@ 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.386, i64 4 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.406, i64 4 }, { ptr, i64 } { ptr @str.407, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.411, 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.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, 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 @@ -4501,12 +4732,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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 @@ -4521,43 +4752,43 @@ entry: %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.393, i64 10 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 10 }, { ptr, i64 } { ptr @str.414, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.402, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.422, 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.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, 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 @@ -4578,38 +4809,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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.185 +fv.case20: ; preds = %if.merge.190 %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.185 +fv.case24: ; preds = %if.merge.190 %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.185 +fv.case29: ; preds = %if.merge.190 %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 @@ -4623,43 +4854,43 @@ 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.404, i64 13 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 13 }, { ptr, i64 } { ptr @str.425, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.410, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.430, 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.411, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, 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 @@ -4677,18 +4908,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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 @@ -4701,43 +4932,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.412, i64 8 }, { ptr, i64 } { ptr @str.413, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.432, i64 8 }, { ptr, i64 } { ptr @str.433, 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.191 + br label %while.hdr.196 -while.hdr.191: ; preds = %fv.merge, %entry +while.hdr.196: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.192, label %while.exit.193 + br i1 %icmp, label %while.body.197, label %while.exit.198 -while.body.192: ; preds = %while.hdr.191 +while.body.197: ; preds = %while.hdr.196 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 + br i1 %icmpN, label %if.then.199, label %if.merge.200 -while.exit.193: ; preds = %while.hdr.191 +while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) ret { ptr, i64 } %callN -if.then.194: ; preds = %while.body.192 +if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 + br label %if.merge.200 -if.merge.195: ; preds = %if.then.194, %while.body.192 +if.merge.200: ; preds = %if.then.199, %while.body.197 %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.421, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.441, 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.422, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, 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 @@ -4758,36 +4989,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.191 + br label %while.hdr.196 -fv.default: ; preds = %if.merge.195 +fv.default: ; preds = %if.merge.200 br label %fv.merge -fv.case: ; preds = %if.merge.195 +fv.case: ; preds = %if.merge.200 %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.195 +fv.case17: ; preds = %if.merge.200 %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.195 +fv.case21: ; preds = %if.merge.200 %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.195 +fv.case25: ; preds = %if.merge.200 %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.195 +fv.case29: ; preds = %if.merge.200 %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 @@ -4798,89 +5029,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.423, i64 5 }, { ptr, i64 } { ptr @str.424, 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.196 - -while.hdr.196: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.197, label %while.exit.198 - -while.body.197: ; preds = %while.hdr.196 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.199, label %if.merge.200 - -while.exit.198: ; preds = %while.hdr.196 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, i64 1 }) - ret { ptr, i64 } %callN - -if.then.199: ; preds = %while.body.197 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.200 - -if.merge.200: ; preds = %if.then.199, %while.body.197 - %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.430, 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.431, 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.196 - -fv.default: ; preds = %if.merge.200 - br label %fv.merge - -fv.case: ; preds = %if.merge.200 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.200 - %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.200 - %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.432, i64 6 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 5 }, { ptr, i64 } { ptr @str.444, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4899,24 +5048,24 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.439, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.450, 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.440, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, 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 @@ -4943,7 +5092,7 @@ fv.default: ; preds = %if.merge.205 fv.case: ; preds = %if.merge.205 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4958,13 +5107,11 @@ fv.case20: ; preds = %if.merge.205 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.441, i64 6 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %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.452, i64 6 }, { ptr, i64 } { ptr @str.453, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4973,7 +5120,7 @@ entry: while.hdr.206: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.207, label %while.exit.208 while.body.207: ; preds = %while.hdr.206 @@ -4983,24 +5130,108 @@ while.body.207: ; preds = %while.hdr.206 while.exit.208: ; preds = %while.hdr.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) ret { ptr, i64 } %callN if.then.209: ; preds = %while.body.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.210 if.merge.210: ; preds = %if.then.209, %while.body.207 %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.447, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.459, 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.448, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, 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.206 + +fv.default: ; preds = %if.merge.210 + br label %fv.merge + +fv.case: ; preds = %if.merge.210 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.210 + %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.210 + %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.461, i64 6 }, { ptr, i64 } { ptr @str.462, 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.211 + +while.hdr.211: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.212, label %while.exit.213 + +while.body.212: ; preds = %while.hdr.211 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.214, label %if.merge.215 + +while.exit.213: ; preds = %while.hdr.211 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, i64 1 }) + ret { ptr, i64 } %callN + +if.then.214: ; preds = %while.body.212 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.215 + +if.merge.215: ; preds = %if.then.214, %while.body.212 + %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.467, 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.468, 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 @@ -5018,19 +5249,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.206 + br label %while.hdr.211 -fv.default: ; preds = %if.merge.210 +fv.default: ; preds = %if.merge.215 br label %fv.merge -fv.case: ; preds = %if.merge.210 +fv.case: ; preds = %if.merge.215 %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.210 +fv.case17: ; preds = %if.merge.215 %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 @@ -5044,93 +5275,7 @@ 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.449, i64 4 }, { ptr, i64 } { ptr @str.450, 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.211 - -while.hdr.211: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.212, label %while.exit.213 - -while.body.212: ; preds = %while.hdr.211 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.214, label %if.merge.215 - -while.exit.213: ; preds = %while.hdr.211 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 1 }) - ret { ptr, i64 } %callN - -if.then.214: ; preds = %while.body.212 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.215 - -if.merge.215: ; preds = %if.then.214, %while.body.212 - %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.456, 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.457, 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.211 - -fv.default: ; preds = %if.merge.215 - br label %fv.merge - -fv.case: ; preds = %if.merge.215 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.215 - %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.215 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.458, i64 6 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.469, i64 4 }, { ptr, i64 } { ptr @str.470, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5149,24 +5294,110 @@ while.body.217: ; preds = %while.hdr.216 while.exit.218: ; preds = %while.hdr.216 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 1 }) ret { ptr, i64 } %callN if.then.219: ; preds = %while.body.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.220 if.merge.220: ; preds = %if.then.219, %while.body.217 %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.465, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.476, 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.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, 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.216 + +fv.default: ; preds = %if.merge.220 + br label %fv.merge + +fv.case: ; preds = %if.merge.220 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.220 + %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.220 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.478, i64 6 }, { ptr, i64 } { ptr @str.479, 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.221 + +while.hdr.221: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.222, label %while.exit.223 + +while.body.222: ; preds = %while.hdr.221 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.224, label %if.merge.225 + +while.exit.223: ; preds = %while.hdr.221 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, i64 1 }) + ret { ptr, i64 } %callN + +if.then.224: ; preds = %while.body.222 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.225 + +if.merge.225: ; preds = %if.then.224, %while.body.222 + %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.485, 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.486, 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 @@ -5185,24 +5416,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 -fv.default: ; preds = %if.merge.220 +fv.default: ; preds = %if.merge.225 br label %fv.merge -fv.case: ; preds = %if.merge.220 +fv.case: ; preds = %if.merge.225 %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.220 +fv.case17: ; preds = %if.merge.225 %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.220 +fv.case20: ; preds = %if.merge.225 %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 @@ -5215,43 +5446,43 @@ 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.467, i64 12 }, { ptr, i64 } { ptr @str.468, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.487, i64 12 }, { ptr, i64 } { ptr @str.488, 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.221 + br label %while.hdr.226 -while.hdr.221: ; preds = %if.merge.225, %entry +while.hdr.226: ; preds = %if.merge.230, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.222, label %while.exit.223 + br i1 %icmp, label %while.body.227, label %while.exit.228 -while.body.222: ; preds = %while.hdr.221 +while.body.227: ; preds = %while.hdr.226 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 + br i1 %icmpN, label %if.then.229, label %if.merge.230 -while.exit.223: ; preds = %while.hdr.221 +while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) ret { ptr, i64 } %callN -if.then.224: ; preds = %while.body.222 +if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 + br label %if.merge.230 -if.merge.225: ; preds = %if.then.224, %while.body.222 +if.merge.230: ; preds = %if.then.229, %while.body.227 %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.471, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.491, 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.472, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5262,7 +5493,7 @@ if.merge.225: ; preds = %if.then.224, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.221 + br label %while.hdr.226 } ; Function Attrs: nounwind @@ -5271,95 +5502,7 @@ 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.473, i64 8 }, { ptr, i64 } { ptr @str.474, 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.226 - -while.hdr.226: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.227, label %while.exit.228 - -while.body.227: ; preds = %while.hdr.226 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.229, label %if.merge.230 - -while.exit.228: ; preds = %while.hdr.226 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) - ret { ptr, i64 } %callN - -if.then.229: ; preds = %while.body.227 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.230 - -if.merge.230: ; preds = %if.then.229, %while.body.227 - %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.480, 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.481, 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.226 - -fv.default: ; preds = %if.merge.230 - br label %fv.merge - -fv.case: ; preds = %if.merge.230 - %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.230 - %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.230 - %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.482, i64 7 }, { ptr, i64 } { ptr @str.483, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.493, i64 8 }, { ptr, i64 } { ptr @str.494, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5378,24 +5521,112 @@ while.body.232: ; preds = %while.hdr.231 while.exit.233: ; preds = %while.hdr.231 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) ret { ptr, i64 } %callN if.then.234: ; preds = %while.body.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.235 if.merge.235: ; preds = %if.then.234, %while.body.232 %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.489, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.500, 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.490, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, 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.231 + +fv.default: ; preds = %if.merge.235 + br label %fv.merge + +fv.case: ; preds = %if.merge.235 + %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.235 + %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.235 + %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.502, i64 7 }, { ptr, i64 } { ptr @str.503, 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.236 + +while.hdr.236: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.237, label %while.exit.238 + +while.body.237: ; preds = %while.hdr.236 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.239, label %if.merge.240 + +while.exit.238: ; preds = %while.hdr.236 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) + ret { ptr, i64 } %callN + +if.then.239: ; preds = %while.body.237 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.240 + +if.merge.240: ; preds = %if.then.239, %while.body.237 + %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.509, 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.510, 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 @@ -5414,26 +5645,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.231 + br label %while.hdr.236 -fv.default: ; preds = %if.merge.235 +fv.default: ; preds = %if.merge.240 br label %fv.merge -fv.case: ; preds = %if.merge.235 +fv.case: ; preds = %if.merge.240 %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.235 +fv.case17: ; preds = %if.merge.240 %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.235 +fv.case22: ; preds = %if.merge.240 %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 @@ -5447,86 +5678,7 @@ 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.491, i64 9 }, { ptr, i64 } { ptr @str.492, 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.236 - -while.hdr.236: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.237, label %while.exit.238 - -while.body.237: ; preds = %while.hdr.236 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.239, label %if.merge.240 - -while.exit.238: ; preds = %while.hdr.236 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) - ret { ptr, i64 } %callN - -if.then.239: ; preds = %while.body.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.240 - -if.merge.240: ; preds = %if.then.239, %while.body.237 - %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.497, 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.498, 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.236 - -fv.default: ; preds = %if.merge.240 - br label %fv.merge - -fv.case: ; preds = %if.merge.240 - %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.240 - %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.499, i64 4 }, { ptr, i64 } { ptr @str.500, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.511, i64 9 }, { ptr, i64 } { ptr @str.512, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5545,27 +5697,27 @@ while.body.242: ; preds = %while.hdr.241 while.exit.243: ; preds = %while.hdr.241 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) ret { ptr, i64 } %callN if.then.244: ; preds = %while.body.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.245 if.merge.245: ; preds = %if.then.244, %while.body.242 %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.505, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.517, 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.506, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, 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 { 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 @@ -5586,11 +5738,90 @@ fv.default: ; preds = %if.merge.245 br label %fv.merge fv.case: ; preds = %if.merge.245 + %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.245 + %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.519, i64 4 }, { ptr, i64 } { ptr @str.520, 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.246 + +while.hdr.246: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.247, label %while.exit.248 + +while.body.247: ; preds = %while.hdr.246 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.249, label %if.merge.250 + +while.exit.248: ; preds = %while.hdr.246 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 1 }) + ret { ptr, i64 } %callN + +if.then.249: ; preds = %while.body.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.250 + +if.merge.250: ; preds = %if.then.249, %while.body.247 + %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.525, 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.526, 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.246 + +fv.default: ; preds = %if.merge.250 + br label %fv.merge + +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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 @@ -5608,43 +5839,43 @@ entry: %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.507, i64 6 }, { ptr, i64 } { ptr @str.508, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, i64 6 }, { ptr, i64 } { ptr @str.528, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.518, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.538, 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.519, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, 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 @@ -5667,51 +5898,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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.250 +fv.case17: ; preds = %if.merge.255 %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.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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.250 +fv.case28: ; preds = %if.merge.255 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.250 +fv.case33: ; preds = %if.merge.255 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.250 +fv.case38: ; preds = %if.merge.255 %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 @@ -5726,43 +5957,43 @@ entry: %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.520, i64 6 }, { ptr, i64 } { ptr @str.521, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.540, i64 6 }, { ptr, i64 } { ptr @str.541, 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.251 + br label %while.hdr.256 -while.hdr.251: ; preds = %fv.merge, %entry +while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.252, label %while.exit.253 + br i1 %icmp, label %while.body.257, label %while.exit.258 -while.body.252: ; preds = %while.hdr.251 +while.body.257: ; preds = %while.hdr.256 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 + br i1 %icmpN, label %if.then.259, label %if.merge.260 -while.exit.253: ; preds = %while.hdr.251 +while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 1 }) ret { ptr, i64 } %callN -if.then.254: ; preds = %while.body.252 +if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + %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 - br label %if.merge.255 + br label %if.merge.260 -if.merge.255: ; preds = %if.then.254, %while.body.252 +if.merge.260: ; preds = %if.then.259, %while.body.257 %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.528, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.548, 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.529, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, 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 @@ -5782,31 +6013,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.251 + br label %while.hdr.256 -fv.default: ; preds = %if.merge.255 +fv.default: ; preds = %if.merge.260 br label %fv.merge -fv.case: ; preds = %if.merge.255 +fv.case: ; preds = %if.merge.260 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.255 +fv.case17: ; preds = %if.merge.260 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.255 +fv.case22: ; preds = %if.merge.260 %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.255 +fv.case25: ; preds = %if.merge.260 %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 @@ -5817,82 +6048,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.530, i64 8 }, { ptr, i64 } { ptr @str.531, 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.256 - -while.hdr.256: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.257, label %while.exit.258 - -while.body.257: ; preds = %while.hdr.256 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.259, label %if.merge.260 - -while.exit.258: ; preds = %while.hdr.256 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 1 }) - ret { ptr, i64 } %callN - -if.then.259: ; preds = %while.body.257 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.260 - -if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.536, 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.537, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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__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.538, i64 6 }, { ptr, i64 } { ptr @str.539, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, i64 8 }, { ptr, i64 } { ptr @str.551, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5901,7 +6057,7 @@ entry: while.hdr.261: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.262, label %while.exit.263 while.body.262: ; preds = %while.hdr.261 @@ -5911,118 +6067,16 @@ while.body.262: ; preds = %while.hdr.261 while.exit.263: ; preds = %while.hdr.261 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) ret { ptr, i64 } %callN if.then.264: ; preds = %while.body.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.265 if.merge.265: ; preds = %if.then.264, %while.body.262 - %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.548, 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.549, 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.261 - -fv.default: ; preds = %if.merge.265 - br label %fv.merge - -fv.case: ; preds = %if.merge.265 - %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.265 - %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.265 - %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.265 - %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.265 - %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.265 - %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.550, i64 10 }, { ptr, i64 } { ptr @str.551, 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.266 - -while.hdr.266: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.267, label %while.exit.268 - -while.body.267: ; preds = %while.hdr.266 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 - -while.exit.268: ; preds = %while.hdr.266 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) - ret { ptr, i64 } %callN - -if.then.269: ; preds = %while.body.267 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 - -if.merge.270: ; preds = %if.then.269, %while.body.267 %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.556, i64 0, i64 %loadN @@ -6048,17 +6102,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.261 + +fv.default: ; preds = %if.merge.265 + br label %fv.merge + +fv.case: ; preds = %if.merge.265 + %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.265 + %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__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.558, i64 6 }, { ptr, i64 } { ptr @str.559, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.568, 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.569, 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.266 fv.default: ; preds = %if.merge.270 br label %fv.merge fv.case: ; preds = %if.merge.270 + %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.270 + %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.270 + %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.270 + %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.270 + %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.270 + %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.570, i64 10 }, { ptr, i64 } { ptr @str.571, 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.271 + +while.hdr.271: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.272, label %while.exit.273 + +while.body.272: ; preds = %while.hdr.271 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.274, label %if.merge.275 + +while.exit.273: ; preds = %while.hdr.271 + %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 }) + ret { ptr, i64 } %callN + +if.then.274: ; preds = %while.body.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.275 + +if.merge.275: ; preds = %if.then.274, %while.body.272 + %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.576, 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.577, 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.271 + +fv.default: ; preds = %if.merge.275 + br label %fv.merge + +fv.case: ; preds = %if.merge.275 %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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6069,43 +6300,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.558, i64 5 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, i64 5 }, { ptr, i64 } { ptr @str.579, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.569, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.589, 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.570, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, 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, i64 }, ptr %alloca, align 8 @@ -6128,47 +6359,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %fv.field = extractvalue { i32, i64, 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.275 +fv.case17: ; preds = %if.merge.280 %fv.field18 = extractvalue { i32, i64, 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.275 +fv.case20: ; preds = %if.merge.280 %fv.field21 = extractvalue { i32, i64, 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.275 +fv.case23: ; preds = %if.merge.280 %fv.field24 = extractvalue { i32, i64, 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.275 +fv.case27: ; preds = %if.merge.280 %fv.field28 = extractvalue { i32, i64, 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.275 +fv.case31: ; preds = %if.merge.280 %fv.field32 = extractvalue { i32, i64, 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.275 +fv.case35: ; preds = %if.merge.280 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6179,43 +6410,43 @@ 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.571, i64 4 }, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 4 }, { ptr, i64 } { ptr @str.592, 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.276 + br label %while.hdr.281 -while.hdr.276: ; preds = %fv.merge, %entry +while.hdr.281: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.277, label %while.exit.278 + br i1 %icmp, label %while.body.282, label %while.exit.283 -while.body.277: ; preds = %while.hdr.276 +while.body.282: ; preds = %while.hdr.281 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.279, label %if.merge.280 + br i1 %icmpN, label %if.then.284, label %if.merge.285 -while.exit.278: ; preds = %while.hdr.276 +while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 1 }) ret { ptr, i64 } %callN -if.then.279: ; preds = %while.body.277 +if.then.284: ; preds = %while.body.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.280 + br label %if.merge.285 -if.merge.280: ; preds = %if.then.279, %while.body.277 +if.merge.285: ; preds = %if.then.284, %while.body.282 %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.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.596, 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.577, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.597, 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 @@ -6232,18 +6463,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.276 + br label %while.hdr.281 -fv.default: ; preds = %if.merge.280 +fv.default: ; preds = %if.merge.285 br label %fv.merge -fv.case: ; preds = %if.merge.280 +fv.case: ; preds = %if.merge.285 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 6 }, { ptr, i64 } { ptr @str.599, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.609, 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.610, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %fv.field = extractvalue { i64, i32, 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.290 + %fv.field18 = extractvalue { i64, i32, 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.290 + %fv.field21 = extractvalue { i64, i32, 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.290 + %fv.field24 = extractvalue { i64, i32, 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.290 + %fv.field27 = extractvalue { i64, i32, 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.290 + %fv.field30 = extractvalue { i64, i32, 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.290 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.611, i64 7 }, { ptr, i64 } { ptr @str.612, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.621, 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.622, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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.295 + %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.295 + %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.623, i64 8 }, { ptr, i64 } { ptr @str.624, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %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.631, 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.632, 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %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.300 + %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.300 + %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.300 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 4 }, { ptr, i64 } { ptr @str.634, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.648, 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.649, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.305 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.305 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.305 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.305 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.305 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.305 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.305 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.305 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.305 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 6 }, { ptr, i64 } { ptr @str.651, 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.306 + +while.hdr.306: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.307, label %while.exit.308 + +while.body.307: ; preds = %while.hdr.306 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.309, label %if.merge.310 + +while.exit.308: ; preds = %while.hdr.306 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + ret { ptr, i64 } %callN + +if.then.309: ; preds = %while.body.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.310 + +if.merge.310: ; preds = %if.then.309, %while.body.307 + %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.660, 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.661, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.306 + +fv.default: ; preds = %if.merge.310 + br label %fv.merge + +fv.case: ; preds = %if.merge.310 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.310 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.310 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.310 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.310 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.310 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6253,9 +7047,9 @@ entry: %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.667, 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.578, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, 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 @@ -6269,18 +7063,18 @@ entry: %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.288, label %if.merge.289 + br i1 %icmp, label %if.then.318, label %if.merge.319 -if.then.288: ; preds = %entry +if.then.318: ; 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.585, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, 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.289 + br label %if.merge.319 -if.merge.289: ; preds = %if.then.288, %entry +if.merge.319: ; preds = %if.then.318, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6294,9 +7088,9 @@ entry: %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.674, 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.586, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, 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 @@ -6310,18 +7104,18 @@ entry: %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.290, label %if.merge.291 + br i1 %icmp, label %if.then.320, label %if.merge.321 -if.then.290: ; preds = %entry +if.then.320: ; 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.592, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, 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.291 + br label %if.merge.321 -if.merge.291: ; preds = %if.then.290, %entry +if.merge.321: ; preds = %if.then.320, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6346,9 +7140,9 @@ entry: %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.600, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.684, 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.593, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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 @@ -6362,16 +7156,16 @@ entry: i64 5, label %fv.case24 ] -if.then.292: ; preds = %fv.merge +if.then.322: ; 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.602, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, 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.293 + br label %if.merge.323 -if.merge.293: ; preds = %if.then.292, %fv.merge +if.merge.323: ; preds = %if.then.322, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6384,7 +7178,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.292, label %if.merge.293 + br i1 %icmp, label %if.then.322, label %if.merge.323 fv.default: ; preds = %entry br label %fv.merge @@ -6444,9 +7238,9 @@ entry: %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.695, 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.603, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, 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 @@ -6460,18 +7254,18 @@ entry: %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.294, label %if.merge.295 + br i1 %icmp, label %if.then.324, label %if.merge.325 -if.then.294: ; preds = %entry +if.then.324: ; 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.613, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, 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.295 + br label %if.merge.325 -if.merge.295: ; preds = %if.then.294, %entry +if.merge.325: ; preds = %if.then.324, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6485,9 +7279,9 @@ entry: %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.620, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.704, 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.614, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, 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 @@ -6501,18 +7295,18 @@ entry: %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.296, label %if.merge.297 + br i1 %icmp, label %if.then.326, label %if.merge.327 -if.then.296: ; preds = %entry +if.then.326: ; 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.622, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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.297 + br label %if.merge.327 -if.merge.297: ; preds = %if.then.296, %entry +if.merge.327: ; preds = %if.then.326, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6524,33 +7318,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.623, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.707, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 -while.hdr.306: ; preds = %if.merge.310, %entry +while.hdr.336: ; preds = %if.merge.340, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.307, label %while.exit.308 + br i1 %icmp, label %while.body.337, label %while.exit.338 -while.body.307: ; preds = %while.hdr.306 +while.body.337: ; preds = %while.hdr.336 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.309, label %if.merge.310 + br i1 %icmpN, label %if.then.339, label %if.merge.340 -while.exit.308: ; preds = %while.hdr.306 +while.exit.338: ; preds = %while.hdr.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 1 }) ret { ptr, i64 } %call -if.then.309: ; preds = %while.body.307 +if.then.339: ; preds = %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %while.body.307 +if.merge.340: ; preds = %if.then.339, %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6564,7 +7358,7 @@ if.merge.310: ; preds = %if.then.309, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 } ; Function Attrs: nounwind @@ -6575,33 +7369,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.626, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.710, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 -while.hdr.311: ; preds = %if.merge.315, %entry +while.hdr.341: ; preds = %if.merge.345, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.312, label %while.exit.313 + br i1 %icmp, label %while.body.342, label %while.exit.343 -while.body.312: ; preds = %while.hdr.311 +while.body.342: ; preds = %while.hdr.341 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.314, label %if.merge.315 + br i1 %icmpN, label %if.then.344, label %if.merge.345 -while.exit.313: ; preds = %while.hdr.311 +while.exit.343: ; preds = %while.hdr.341 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) ret { ptr, i64 } %call -if.then.314: ; preds = %while.body.312 +if.then.344: ; preds = %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %while.body.312 +if.merge.345: ; preds = %if.then.344, %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6617,7 +7411,7 @@ if.merge.315: ; preds = %if.then.314, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 } ; Function Attrs: nounwind @@ -6627,33 +7421,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.629, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.713, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 -while.hdr.316: ; preds = %if.merge.320, %entry +while.hdr.346: ; preds = %if.merge.350, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.317, label %while.exit.318 + br i1 %icmp, label %while.body.347, label %while.exit.348 -while.body.317: ; preds = %while.hdr.316 +while.body.347: ; preds = %while.hdr.346 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.319, label %if.merge.320 + br i1 %icmpN, label %if.then.349, label %if.merge.350 -while.exit.318: ; preds = %while.hdr.316 +while.exit.348: ; preds = %while.hdr.346 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) ret { ptr, i64 } %call -if.then.319: ; preds = %while.body.317 +if.then.349: ; preds = %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + %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 - br label %if.merge.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %while.body.317 +if.merge.350: ; preds = %if.then.349, %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6667,7 +7461,7 @@ if.merge.320: ; preds = %if.then.319, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 } ; Function Attrs: nounwind @@ -6677,33 +7471,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.632, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.716, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %if.merge.325, %entry +while.hdr.351: ; preds = %if.merge.355, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 1 }) ret { ptr, i64 } %call -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6718,7 +7512,7 @@ if.merge.325: ; preds = %if.then.324, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 } ; Function Attrs: nounwind @@ -6728,33 +7522,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.719, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6768,7 +7562,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -6779,33 +7573,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.722, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 -while.hdr.331: ; preds = %if.merge.335, %entry +while.hdr.361: ; preds = %if.merge.365, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.332, label %while.exit.333 + br i1 %icmp, label %while.body.362, label %while.exit.363 -while.body.332: ; preds = %while.hdr.331 +while.body.362: ; preds = %while.hdr.361 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.334, label %if.merge.335 + br i1 %icmpN, label %if.then.364, label %if.merge.365 -while.exit.333: ; preds = %while.hdr.331 +while.exit.363: ; preds = %while.hdr.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %call -if.then.334: ; preds = %while.body.332 +if.then.364: ; preds = %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %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 - br label %if.merge.335 + br label %if.merge.365 -if.merge.335: ; preds = %if.then.334, %while.body.332 +if.merge.365: ; preds = %if.then.364, %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6821,7 +7615,7 @@ if.merge.335: ; preds = %if.then.334, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 } ; Function Attrs: nounwind @@ -6831,35 +7625,35 @@ entry: %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.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.725, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %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.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6875,7 +7669,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -6884,35 +7678,35 @@ 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.644, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.728, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 -while.hdr.349: ; preds = %if.merge.353, %entry +while.hdr.379: ; preds = %if.merge.383, %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.350, label %while.exit.351 + br i1 %icmp, label %while.body.380, label %while.exit.381 -while.body.350: ; preds = %while.hdr.349 +while.body.380: ; preds = %while.hdr.379 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.352, label %if.merge.353 + br i1 %icmpN, label %if.then.382, label %if.merge.383 -while.exit.351: ; preds = %while.hdr.349 +while.exit.381: ; preds = %while.hdr.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %call -if.then.352: ; preds = %while.body.350 +if.then.382: ; preds = %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.353 + br label %if.merge.383 -if.merge.353: ; preds = %if.then.352, %while.body.350 +if.merge.383: ; preds = %if.then.382, %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6927,7 +7721,7 @@ if.merge.353: ; preds = %if.then.352, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 } ; Function Attrs: nounwind @@ -6937,35 +7731,35 @@ entry: %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.647, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.731, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 -while.hdr.354: ; preds = %if.merge.358, %entry +while.hdr.384: ; preds = %if.merge.388, %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.355, label %while.exit.356 + br i1 %icmp, label %while.body.385, label %while.exit.386 -while.body.355: ; preds = %while.hdr.354 +while.body.385: ; preds = %while.hdr.384 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.357, label %if.merge.358 + br i1 %icmpN, label %if.then.387, label %if.merge.388 -while.exit.356: ; preds = %while.hdr.354 +while.exit.386: ; preds = %while.hdr.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %call -if.then.357: ; preds = %while.body.355 +if.then.387: ; preds = %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.358 + br label %if.merge.388 -if.merge.358: ; preds = %if.then.357, %while.body.355 +if.merge.388: ; preds = %if.then.387, %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6981,7 +7775,7 @@ if.merge.358: ; preds = %if.then.357, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 } ; Function Attrs: nounwind @@ -6991,35 +7785,35 @@ entry: %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.650, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.734, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 -while.hdr.359: ; preds = %if.merge.363, %entry +while.hdr.389: ; preds = %if.merge.393, %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.360, label %while.exit.361 + br i1 %icmp, label %while.body.390, label %while.exit.391 -while.body.360: ; preds = %while.hdr.359 +while.body.390: ; preds = %while.hdr.389 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.362, label %if.merge.363 + br i1 %icmpN, label %if.then.392, label %if.merge.393 -while.exit.361: ; preds = %while.hdr.359 +while.exit.391: ; preds = %while.hdr.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) ret { ptr, i64 } %call -if.then.362: ; preds = %while.body.360 +if.then.392: ; preds = %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + %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.363 + br label %if.merge.393 -if.merge.363: ; preds = %if.then.362, %while.body.360 +if.merge.393: ; preds = %if.then.392, %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7035,7 +7829,7 @@ if.merge.363: ; preds = %if.then.362, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 } ; Function Attrs: nounwind @@ -7045,35 +7839,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.653, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.737, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 -while.hdr.364: ; preds = %if.merge.368, %entry +while.hdr.394: ; preds = %if.merge.398, %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.365, label %while.exit.366 + br i1 %icmp, label %while.body.395, label %while.exit.396 -while.body.365: ; preds = %while.hdr.364 +while.body.395: ; preds = %while.hdr.394 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.367, label %if.merge.368 + br i1 %icmpN, label %if.then.397, label %if.merge.398 -while.exit.366: ; preds = %while.hdr.364 +while.exit.396: ; preds = %while.hdr.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %call -if.then.367: ; preds = %while.body.365 +if.then.397: ; preds = %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.368 + br label %if.merge.398 -if.merge.368: ; preds = %if.then.367, %while.body.365 +if.merge.398: ; preds = %if.then.397, %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7089,7 +7883,7 @@ if.merge.368: ; preds = %if.then.367, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 } ; Function Attrs: nounwind @@ -7099,35 +7893,35 @@ entry: %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.656, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.740, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 -while.hdr.369: ; preds = %if.merge.373, %entry +while.hdr.399: ; preds = %if.merge.403, %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.370, label %while.exit.371 + br i1 %icmp, label %while.body.400, label %while.exit.401 -while.body.370: ; preds = %while.hdr.369 +while.body.400: ; preds = %while.hdr.399 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.372, label %if.merge.373 + br i1 %icmpN, label %if.then.402, label %if.merge.403 -while.exit.371: ; preds = %while.hdr.369 +while.exit.401: ; preds = %while.hdr.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) ret { ptr, i64 } %call -if.then.372: ; preds = %while.body.370 +if.then.402: ; preds = %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + %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.373 + br label %if.merge.403 -if.merge.373: ; preds = %if.then.372, %while.body.370 +if.merge.403: ; preds = %if.then.402, %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7143,206 +7937,11 @@ if.merge.373: ; preds = %if.then.372, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 } ; 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.411, label %if.else.412 - -if.then.411: ; preds = %entry - br label %if.merge.413 - -if.else.412: ; 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.413 - -if.merge.413: ; preds = %if.else.412, %if.then.411 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] - 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.427, label %if.else.428 - -if.then.427: ; preds = %entry - br label %if.merge.429 - -if.else.428: ; 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.429 - -if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] - 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.430, label %if.else.431 - -if.then.430: ; preds = %entry - br label %if.merge.432 - -if.else.431: ; 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.432 - -if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] - 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.433, label %if.else.434 - -if.then.433: ; preds = %entry - br label %if.merge.435 - -if.else.434: ; 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.435 - -if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] - 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.436, label %if.else.437 - -if.then.436: ; preds = %entry - br label %if.merge.438 - -if.else.437: ; 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.438 - -if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] - ret { ptr, i64 } %bp -} - -; 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.439, label %if.else.440 - -if.then.439: ; preds = %entry - br label %if.merge.441 - -if.else.440: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.441 - -if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] - 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.442, label %if.else.443 - -if.then.442: ; preds = %entry - br label %if.merge.444 - -if.else.443: ; 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.444 - -if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] - 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 @@ -7360,12 +7959,207 @@ if.then.445: ; preds = %entry if.else.446: ; 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 5 }, { ptr, i64 } %callN) br label %if.merge.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + 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.461, label %if.else.462 + +if.then.461: ; preds = %entry + br label %if.merge.463 + +if.else.462: ; 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.748, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.463 + +if.merge.463: ; preds = %if.else.462, %if.then.461 + %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] + 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.464, label %if.else.465 + +if.then.464: ; preds = %entry + br label %if.merge.466 + +if.else.465: ; 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.751, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.466 + +if.merge.466: ; preds = %if.else.465, %if.then.464 + %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + 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.467, label %if.else.468 + +if.then.467: ; preds = %entry + br label %if.merge.469 + +if.else.468: ; 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.754, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.469 + +if.merge.469: ; preds = %if.else.468, %if.then.467 + %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + 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.470, label %if.else.471 + +if.then.470: ; preds = %entry + br label %if.merge.472 + +if.else.471: ; 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.757, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.472 + +if.merge.472: ; preds = %if.else.471, %if.then.470 + %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + ret { ptr, i64 } %bp +} + +; 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.473, label %if.else.474 + +if.then.473: ; preds = %entry + br label %if.merge.475 + +if.else.474: ; 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.760, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.475 + +if.merge.475: ; preds = %if.else.474, %if.then.473 + %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + 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.476, label %if.else.477 + +if.then.476: ; preds = %entry + br label %if.merge.478 + +if.else.477: ; 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.763, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.478 + +if.merge.478: ; preds = %if.else.477, %if.then.476 + %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + 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.479, label %if.else.480 + +if.then.479: ; preds = %entry + br label %if.merge.481 + +if.else.480: ; 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.766, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.481 + +if.merge.481: ; preds = %if.else.480, %if.then.479 + %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] ret { ptr, i64 } %bp } @@ -7380,20 +8174,20 @@ entry: 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.448, label %if.else.449 + br i1 %icmp, label %if.then.482, label %if.else.483 -if.then.448: ; preds = %entry - br label %if.merge.450 +if.then.482: ; preds = %entry + br label %if.merge.484 -if.else.449: ; preds = %entry +if.else.483: ; 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.685, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.450 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.484 -if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] +if.merge.484: ; preds = %if.else.483, %if.then.482 + %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] ret { ptr, i64 } %bp } @@ -7408,20 +8202,20 @@ entry: 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.451, label %if.else.452 + br i1 %icmp, label %if.then.485, label %if.else.486 -if.then.451: ; preds = %entry - br label %if.merge.453 +if.then.485: ; preds = %entry + br label %if.merge.487 -if.else.452: ; preds = %entry +if.else.486: ; 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.688, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.453 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.487 -if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] +if.merge.487: ; preds = %if.else.486, %if.then.485 + %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] ret { ptr, i64 } %bp } @@ -7436,20 +8230,20 @@ entry: 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.454, label %if.else.455 + br i1 %icmp, label %if.then.488, label %if.else.489 -if.then.454: ; preds = %entry - br label %if.merge.456 +if.then.488: ; preds = %entry + br label %if.merge.490 -if.else.455: ; preds = %entry +if.else.489: ; 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.456 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.490 -if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] ret { ptr, i64 } %bp } @@ -7464,20 +8258,20 @@ entry: 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.457, label %if.else.458 + br i1 %icmp, label %if.then.491, label %if.else.492 -if.then.457: ; preds = %entry - br label %if.merge.459 +if.then.491: ; preds = %entry + br label %if.merge.493 -if.else.458: ; preds = %entry +if.else.492: ; 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.459 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.493 -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] ret { ptr, i64 } %bp } @@ -7491,20 +8285,20 @@ entry: 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.460, label %if.else.461 + br i1 %icmp, label %if.then.494, label %if.else.495 -if.then.460: ; preds = %entry - br label %if.merge.462 +if.then.494: ; preds = %entry + br label %if.merge.496 -if.else.461: ; preds = %entry +if.else.495: ; 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.462 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.496 -if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } @@ -7519,20 +8313,20 @@ entry: 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.463, label %if.else.464 + br i1 %icmp, label %if.then.497, label %if.else.498 -if.then.463: ; preds = %entry - br label %if.merge.465 +if.then.497: ; preds = %entry + br label %if.merge.499 -if.else.464: ; preds = %entry +if.else.498: ; 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.700, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.465 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.499 -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } @@ -7546,20 +8340,20 @@ entry: 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.466, label %if.else.467 + br i1 %icmp, label %if.then.500, label %if.else.501 -if.then.466: ; preds = %entry - br label %if.merge.468 +if.then.500: ; preds = %entry + br label %if.merge.502 -if.else.467: ; preds = %entry +if.else.501: ; 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.468 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.502 -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } @@ -7574,20 +8368,20 @@ entry: 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.469, label %if.else.470 + br i1 %icmp, label %if.then.503, label %if.else.504 -if.then.469: ; preds = %entry - br label %if.merge.471 +if.then.503: ; preds = %entry + br label %if.merge.505 -if.else.470: ; preds = %entry +if.else.504: ; 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.471 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.505 -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } @@ -7602,20 +8396,20 @@ entry: 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.472, label %if.else.473 + br i1 %icmp, label %if.then.506, label %if.else.507 -if.then.472: ; preds = %entry - br label %if.merge.474 +if.then.506: ; preds = %entry + br label %if.merge.508 -if.else.473: ; preds = %entry +if.else.507: ; 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.474 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.508 -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } @@ -7630,20 +8424,20 @@ entry: 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.475, label %if.else.476 + br i1 %icmp, label %if.then.509, label %if.else.510 -if.then.475: ; preds = %entry - br label %if.merge.477 +if.then.509: ; preds = %entry + br label %if.merge.511 -if.else.476: ; preds = %entry +if.else.510: ; 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.477 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.511 -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } @@ -7658,20 +8452,20 @@ entry: 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.478, label %if.else.479 + br i1 %icmp, label %if.then.512, label %if.else.513 -if.then.478: ; preds = %entry - br label %if.merge.480 +if.then.512: ; preds = %entry + br label %if.merge.514 -if.else.479: ; preds = %entry +if.else.513: ; 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.480 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.514 -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } @@ -7686,20 +8480,20 @@ entry: 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.481, label %if.else.482 + br i1 %icmp, label %if.then.515, label %if.else.516 -if.then.481: ; preds = %entry - br label %if.merge.483 +if.then.515: ; preds = %entry + br label %if.merge.517 -if.else.482: ; preds = %entry +if.else.516: ; 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.483 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.517 -if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -7714,20 +8508,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -7742,20 +8536,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -7770,20 +8564,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -7798,20 +8592,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -7826,20 +8620,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -7854,20 +8648,131 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] + 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.536, label %if.else.537 + +if.then.536: ; preds = %entry + br label %if.merge.538 + +if.else.537: ; 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.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.538 + +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] + 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.539, label %if.else.540 + +if.then.539: ; preds = %entry + br label %if.merge.541 + +if.else.540: ; 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.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.541 + +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] + 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.542, label %if.else.543 + +if.then.542: ; preds = %entry + br label %if.merge.544 + +if.else.543: ; 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.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.544 + +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] + 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.545, label %if.else.546 + +if.then.545: ; preds = %entry + br label %if.merge.547 + +if.else.546: ; 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.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.547 + +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -7882,20 +8787,20 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.503: ; preds = %entry +if.else.549: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -7910,20 +8815,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.551, label %if.else.552 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.551: ; preds = %entry + br label %if.merge.553 -if.else.506: ; preds = %entry +if.else.552: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.553 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -7938,20 +8843,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.554, label %if.else.555 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.554: ; preds = %entry + br label %if.merge.556 -if.else.509: ; preds = %entry +if.else.555: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.556 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -7966,20 +8871,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.557, label %if.else.558 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.557: ; preds = %entry + br label %if.merge.559 -if.else.512: ; preds = %entry +if.else.558: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.559 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -7994,20 +8899,20 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.560, label %if.else.561 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.560: ; preds = %entry + br label %if.merge.562 -if.else.515: ; preds = %entry +if.else.561: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.562 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -8022,20 +8927,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.518: ; preds = %entry +if.else.564: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -8050,20 +8955,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.521: ; preds = %entry +if.else.567: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -8078,20 +8983,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.524: ; preds = %entry +if.else.570: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] ret { ptr, i64 } %bp } @@ -8106,20 +9011,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.572, label %if.else.573 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.572: ; preds = %entry + br label %if.merge.574 -if.else.527: ; preds = %entry +if.else.573: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.574 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] ret { ptr, i64 } %bp } @@ -8132,12 +9037,12 @@ entry: %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.536, label %if.merge.537 + br i1 %lnot, label %if.then.582, label %if.merge.583 -if.then.536: ; preds = %entry - ret { ptr, i64 } { ptr @str.764, i64 4 } +if.then.582: ; preds = %entry + ret { ptr, i64 } { ptr @str.860, i64 4 } -if.merge.537: ; preds = %entry +if.merge.583: ; 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 @@ -8156,12 +9061,12 @@ entry: %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.538, label %if.merge.539 + br i1 %lnot, label %if.then.584, label %if.merge.585 -if.then.538: ; preds = %entry - ret { ptr, i64 } { ptr @str.765, i64 4 } +if.then.584: ; preds = %entry + ret { ptr, i64 } { ptr @str.861, i64 4 } -if.merge.539: ; preds = %entry +if.merge.585: ; 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 @@ -8179,12 +9084,12 @@ entry: %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.540, label %if.merge.541 + br i1 %lnot, label %if.then.586, label %if.merge.587 -if.then.540: ; preds = %entry - ret { ptr, i64 } { ptr @str.766, i64 4 } +if.then.586: ; preds = %entry + ret { ptr, i64 } { ptr @str.862, i64 4 } -if.merge.541: ; preds = %entry +if.merge.587: ; 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 @@ -8201,12 +9106,12 @@ entry: %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.542, label %if.merge.543 + br i1 %lnot, label %if.then.588, label %if.merge.589 -if.then.542: ; preds = %entry - ret { ptr, i64 } { ptr @str.767, i64 4 } +if.then.588: ; preds = %entry + ret { ptr, i64 } { ptr @str.863, i64 4 } -if.merge.543: ; preds = %entry +if.merge.589: ; 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 @@ -8225,12 +9130,12 @@ entry: %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.544, label %if.merge.545 + br i1 %lnot, label %if.then.590, label %if.merge.591 -if.then.544: ; preds = %entry - ret { ptr, i64 } { ptr @str.768, i64 4 } +if.then.590: ; preds = %entry + ret { ptr, i64 } { ptr @str.864, i64 4 } -if.merge.545: ; preds = %entry +if.merge.591: ; 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 diff --git a/examples/expected/0200-generics-generic.ir b/examples/expected/0200-generics-generic.ir index 422f1b9..99dbd70 100644 --- a/examples/expected/0200-generics-generic.ir +++ b/examples/expected/0200-generics-generic.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [185 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] +@__sx_type_is_unsigned = private constant [203 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,461 +28,461 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [8 x i8] c"*string\00" -@tn.str.214 = private constant [6 x i8] c"[]Any\00" -@tn.str.215 = private constant [5 x i8] c"*Any\00" -@tn.str.216 = private constant [7 x i8] c"[1]Any\00" -@tn.str.217 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.218 = private constant [7 x i8] c"*[]Any\00" -@tn.str.219 = private constant [4 x i8] c"*u8\00" -@tn.str.220 = private constant [6 x i8] c"*bool\00" -@tn.str.221 = private constant [5 x i8] c"*f64\00" -@tn.str.222 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.223 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.224 = private constant [11 x i8] c"*Allocator\00" -@tn.str.225 = private constant [9 x i8] c"*Context\00" -@tn.str.226 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.227 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.228 = private constant [8 x i8] c"*Member\00" -@tn.str.229 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.230 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.231 = private constant [9 x i8] c"*Command\00" -@tn.str.232 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.233 = private constant [7 x i8] c"*Event\00" -@tn.str.234 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.235 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.236 = private constant [7 x i8] c"*Value\00" -@tn.str.237 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.238 = private constant [14 x i8] c"*Architecture\00" -@tn.str.239 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.240 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.241 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.242 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.243 = private constant [10 x i8] c"*[]string\00" -@tn.str.244 = private constant [6 x i8] c"*[]u8\00" -@tn.str.245 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.246 = private constant [11 x i8] c"*[]Command\00" -@tn.str.247 = private constant [9 x i8] c"*[]Event\00" -@tn.str.248 = private constant [6 x i8] c"**GPA\00" -@tn.str.249 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.250 = private constant [8 x i8] c"**Arena\00" -@tn.str.251 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.252 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.253 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.254 = private constant [7 x i8] c"**File\00" -@tn.str.255 = private constant [6 x i8] c"**i32\00" -@tn.str.256 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.257 = private constant [6 x i8] c"**u32\00" -@tn.str.258 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.259 = private constant [8 x i8] c"**Array\00" -@tn.str.260 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.261 = private constant [9 x i8] c"**Object\00" -@tn.str.262 = private constant [7 x i8] c"**Sink\00" -@tn.str.263 = private constant [9 x i8] c"**Parser\00" -@tn.str.264 = private constant [6 x i8] c"**i64\00" -@tn.str.265 = private constant [9 x i8] c"**Parsed\00" -@tn.str.266 = private constant [7 x i8] c"**Diag\00" -@tn.str.267 = private constant [9 x i8] c"**Sha256\00" -@tn.str.268 = private constant [11 x i8] c"**Timespec\00" -@tn.str.269 = private constant [9 x i8] c"**Kevent\00" -@tn.str.270 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.271 = private constant [7 x i8] c"**Loop\00" -@tn.str.272 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.273 = private constant [8 x i8] c"***void\00" -@tn.str.274 = private constant [9 x i8] c"**string\00" -@tn.str.275 = private constant [6 x i8] c"**Any\00" -@tn.str.276 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.277 = private constant [8 x i8] c"**[]Any\00" -@tn.str.278 = private constant [5 x i8] c"**u8\00" -@tn.str.279 = private constant [7 x i8] c"**bool\00" -@tn.str.280 = private constant [6 x i8] c"**f64\00" -@tn.str.281 = private constant [7 x i8] c"*?File\00" -@tn.str.282 = private constant [9 x i8] c"*?string\00" -@tn.str.283 = private constant [10 x i8] c"*?cstring\00" -@tn.str.284 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.285 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [185 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 5 }, { ptr, i64 } { ptr @tn.str.215, i64 4 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 3 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 16 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 8 }, { ptr, i64 } { ptr @tn.str.226, i64 11 }, { ptr, i64 } { ptr @tn.str.227, i64 14 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 13 }, { ptr, i64 } { ptr @tn.str.230, i64 9 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 16 }, { ptr, i64 } { ptr @tn.str.238, i64 13 }, { ptr, i64 } { ptr @tn.str.239, i64 14 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 9 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 11 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 12 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 19 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 9 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 6 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 12 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 13 }, { ptr, i64 } { ptr @tn.str.273, i64 7 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 4 }, { ptr, i64 } { ptr @tn.str.279, i64 6 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 9 }, { ptr, i64 } { ptr @tn.str.284, i64 15 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }] -@str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.287 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.293 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.295 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.296 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.297 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.298 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.300 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.301 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.303 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.304 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.306 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.307 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [8 x i8] c"*string\00" +@tn.str.228 = private constant [6 x i8] c"[]Any\00" +@tn.str.229 = private constant [5 x i8] c"*Any\00" +@tn.str.230 = private constant [7 x i8] c"[1]Any\00" +@tn.str.231 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.232 = private constant [7 x i8] c"*[]Any\00" +@tn.str.233 = private constant [4 x i8] c"*u8\00" +@tn.str.234 = private constant [6 x i8] c"*bool\00" +@tn.str.235 = private constant [5 x i8] c"*f64\00" +@tn.str.236 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.237 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.238 = private constant [11 x i8] c"*Allocator\00" +@tn.str.239 = private constant [9 x i8] c"*Context\00" +@tn.str.240 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.241 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.242 = private constant [8 x i8] c"*Member\00" +@tn.str.243 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.244 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.245 = private constant [9 x i8] c"*Command\00" +@tn.str.246 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.247 = private constant [7 x i8] c"*Event\00" +@tn.str.248 = private constant [8 x i8] c"*Config\00" +@tn.str.249 = private constant [6 x i8] c"*Conn\00" +@tn.str.250 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.251 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.252 = private constant [7 x i8] c"*Value\00" +@tn.str.253 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.254 = private constant [14 x i8] c"*Architecture\00" +@tn.str.255 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.256 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.257 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.258 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.259 = private constant [10 x i8] c"*[]string\00" +@tn.str.260 = private constant [6 x i8] c"*[]u8\00" +@tn.str.261 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.262 = private constant [11 x i8] c"*[]Command\00" +@tn.str.263 = private constant [9 x i8] c"*[]Event\00" +@tn.str.264 = private constant [6 x i8] c"**GPA\00" +@tn.str.265 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.266 = private constant [8 x i8] c"**Arena\00" +@tn.str.267 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.268 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.269 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.270 = private constant [7 x i8] c"**File\00" +@tn.str.271 = private constant [6 x i8] c"**i32\00" +@tn.str.272 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.273 = private constant [6 x i8] c"**u32\00" +@tn.str.274 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.275 = private constant [8 x i8] c"**Array\00" +@tn.str.276 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.277 = private constant [9 x i8] c"**Object\00" +@tn.str.278 = private constant [7 x i8] c"**Sink\00" +@tn.str.279 = private constant [9 x i8] c"**Parser\00" +@tn.str.280 = private constant [6 x i8] c"**i64\00" +@tn.str.281 = private constant [9 x i8] c"**Parsed\00" +@tn.str.282 = private constant [7 x i8] c"**Diag\00" +@tn.str.283 = private constant [9 x i8] c"**Sha256\00" +@tn.str.284 = private constant [11 x i8] c"**Timespec\00" +@tn.str.285 = private constant [9 x i8] c"**Kevent\00" +@tn.str.286 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.287 = private constant [7 x i8] c"**Loop\00" +@tn.str.288 = private constant [10 x i8] c"**Request\00" +@tn.str.289 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.290 = private constant [11 x i8] c"**Response\00" +@tn.str.291 = private constant [9 x i8] c"**Server\00" +@tn.str.292 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.293 = private constant [8 x i8] c"***void\00" +@tn.str.294 = private constant [9 x i8] c"**string\00" +@tn.str.295 = private constant [6 x i8] c"**Any\00" +@tn.str.296 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.297 = private constant [8 x i8] c"**[]Any\00" +@tn.str.298 = private constant [5 x i8] c"**u8\00" +@tn.str.299 = private constant [7 x i8] c"**bool\00" +@tn.str.300 = private constant [6 x i8] c"**f64\00" +@tn.str.301 = private constant [7 x i8] c"*?File\00" +@tn.str.302 = private constant [9 x i8] c"*?string\00" +@tn.str.303 = private constant [10 x i8] c"*?cstring\00" +@tn.str.304 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.305 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [203 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 3 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 16 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 11 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 9 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 9 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 16 }, { ptr, i64 } { ptr @tn.str.254, i64 13 }, { ptr, i64 } { ptr @tn.str.255, i64 14 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 9 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 11 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 12 }, { ptr, i64 } { ptr @tn.str.266, i64 7 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 19 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 5 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 9 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 6 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 10 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 12 }, { ptr, i64 } { ptr @tn.str.287, i64 6 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 13 }, { ptr, i64 } { ptr @tn.str.293, i64 7 }, { ptr, i64 } { ptr @tn.str.294, i64 8 }, { ptr, i64 } { ptr @tn.str.295, i64 5 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 4 }, { ptr, i64 } { ptr @tn.str.299, i64 6 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 9 }, { ptr, i64 } { ptr @tn.str.304, i64 15 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }] +@str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.309 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 -@str.310 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.312 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 -@str.313 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.314 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.315 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.316 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.312 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.313 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.315 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.316 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.317 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.318 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.320 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.321 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.323 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.324 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.326 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.327 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.328 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.329 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.330 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.332 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.333 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.334 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.335 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.336 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.317 = private constant [5 x i8] c"line\00" -@fld.str.318 = private constant [4 x i8] c"col\00" -@fld.str.319 = 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.317, i64 4 }, { ptr, i64 } { ptr @fld.str.318, i64 3 }, { ptr, i64 } { ptr @fld.str.319, i64 4 }] -@str.320 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.321 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.322 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.323 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.325 = private constant [4 x i8] c"ctx\00" -@fld.str.326 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.327 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.328 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.325, i64 3 }, { ptr, i64 } { ptr @fld.str.326, i64 11 }, { ptr, i64 } { ptr @fld.str.327, i64 13 }] -@str.329 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.330 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.331 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.332 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.333 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.334 = private constant [10 x i8] c"allocator\00" -@fld.str.335 = private constant [5 x i8] c"data\00" -@field_names.336 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.334, i64 9 }, { ptr, i64 } { ptr @fld.str.335, i64 4 }] -@str.337 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.338 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.339 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.340 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.342 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.344 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.348 = private constant [12 x i8] c"alloc_count\00" -@field_names.349 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 11 }] -@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.351 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.353 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.354 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.355 = private constant [5 x i8] c"next\00" -@fld.str.356 = private constant [4 x i8] c"cap\00" -@field_names.357 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 4 }, { ptr, i64 } { ptr @fld.str.356, i64 3 }] -@str.358 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.359 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.361 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.362 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.363 = private constant [6 x i8] c"first\00" -@fld.str.364 = private constant [10 x i8] c"end_index\00" -@fld.str.365 = private constant [7 x i8] c"parent\00" -@field_names.366 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.363, i64 5 }, { ptr, i64 } { ptr @fld.str.364, i64 9 }, { ptr, i64 } { ptr @fld.str.365, i64 6 }] -@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.368 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.370 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.371 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.372 = private constant [4 x i8] c"buf\00" -@fld.str.373 = private constant [4 x i8] c"len\00" -@fld.str.374 = private constant [4 x i8] c"pos\00" -@field_names.375 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 3 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }, { ptr, i64 } { ptr @fld.str.374, i64 3 }] -@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.377 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.381 = private constant [7 x i8] c"parent\00" -@fld.str.382 = private constant [12 x i8] c"alloc_count\00" -@fld.str.383 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.384 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.385 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 6 }, { ptr, i64 } { ptr @fld.str.382, i64 11 }, { ptr, i64 } { ptr @fld.str.383, i64 13 }, { ptr, i64 } { ptr @fld.str.384, i64 17 }] -@str.386 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.387 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.388 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.390 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.391 = private constant [3 x i8] c"fd\00" -@field_names.392 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 2 }] -@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.394 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.396 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.397 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.398 = private constant [5 x i8] c"file\00" -@fld.str.399 = private constant [5 x i8] c"line\00" -@fld.str.400 = private constant [4 x i8] c"col\00" -@fld.str.401 = private constant [5 x i8] c"func\00" -@fld.str.402 = private constant [10 x i8] c"line_text\00" -@field_names.403 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 4 }, { ptr, i64 } { ptr @fld.str.399, i64 4 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }, { ptr, i64 } { ptr @fld.str.401, i64 4 }, { ptr, i64 } { ptr @fld.str.402, i64 9 }] -@str.404 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.405 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.406 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.407 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.408 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.409 = private constant [10 x i8] c"exit_code\00" -@fld.str.410 = private constant [7 x i8] c"stdout\00" -@field_names.411 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 9 }, { ptr, i64 } { ptr @fld.str.410, i64 6 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.417 = private constant [8 x i8] c"sin_len\00" -@fld.str.418 = private constant [11 x i8] c"sin_family\00" -@fld.str.419 = private constant [9 x i8] c"sin_port\00" -@fld.str.420 = private constant [9 x i8] c"sin_addr\00" -@fld.str.421 = private constant [9 x i8] c"sin_zero\00" -@field_names.422 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 7 }, { ptr, i64 } { ptr @fld.str.418, i64 10 }, { ptr, i64 } { ptr @fld.str.419, i64 8 }, { ptr, i64 } { ptr @fld.str.420, i64 8 }, { ptr, i64 } { ptr @fld.str.421, i64 8 }] -@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.424 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.428 = private constant [6 x i8] c"items\00" -@fld.str.429 = private constant [4 x i8] c"len\00" -@fld.str.430 = private constant [4 x i8] c"cap\00" -@field_names.431 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 5 }, { ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }] +@fld.str.337 = private constant [5 x i8] c"line\00" +@fld.str.338 = private constant [4 x i8] c"col\00" +@fld.str.339 = 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.337, i64 4 }, { ptr, i64 } { ptr @fld.str.338, i64 3 }, { ptr, i64 } { ptr @fld.str.339, i64 4 }] +@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.341 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.342 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.343 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.344 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.345 = private constant [4 x i8] c"ctx\00" +@fld.str.346 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.347 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.348 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.345, i64 3 }, { ptr, i64 } { ptr @fld.str.346, i64 11 }, { ptr, i64 } { ptr @fld.str.347, i64 13 }] +@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.350 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.354 = private constant [10 x i8] c"allocator\00" +@fld.str.355 = private constant [5 x i8] c"data\00" +@field_names.356 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 9 }, { ptr, i64 } { ptr @fld.str.355, i64 4 }] +@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.358 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.359 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.360 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.361 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.362 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.364 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.368 = private constant [12 x i8] c"alloc_count\00" +@field_names.369 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 11 }] +@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.371 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.375 = private constant [5 x i8] c"next\00" +@fld.str.376 = private constant [4 x i8] c"cap\00" +@field_names.377 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 4 }, { ptr, i64 } { ptr @fld.str.376, i64 3 }] +@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.379 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.383 = private constant [6 x i8] c"first\00" +@fld.str.384 = private constant [10 x i8] c"end_index\00" +@fld.str.385 = private constant [7 x i8] c"parent\00" +@field_names.386 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 5 }, { ptr, i64 } { ptr @fld.str.384, i64 9 }, { ptr, i64 } { ptr @fld.str.385, i64 6 }] +@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.388 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.389 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.390 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.391 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.392 = private constant [4 x i8] c"buf\00" +@fld.str.393 = private constant [4 x i8] c"len\00" +@fld.str.394 = private constant [4 x i8] c"pos\00" +@field_names.395 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 3 }, { ptr, i64 } { ptr @fld.str.393, i64 3 }, { ptr, i64 } { ptr @fld.str.394, i64 3 }] +@str.396 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.397 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.398 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.399 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.400 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.401 = private constant [7 x i8] c"parent\00" +@fld.str.402 = private constant [12 x i8] c"alloc_count\00" +@fld.str.403 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.404 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.405 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.401, i64 6 }, { ptr, i64 } { ptr @fld.str.402, i64 11 }, { ptr, i64 } { ptr @fld.str.403, i64 13 }, { ptr, i64 } { ptr @fld.str.404, i64 17 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.408 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.410 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.411 = private constant [3 x i8] c"fd\00" +@field_names.412 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 2 }] +@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.414 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.416 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.417 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.418 = private constant [5 x i8] c"file\00" +@fld.str.419 = private constant [5 x i8] c"line\00" +@fld.str.420 = private constant [4 x i8] c"col\00" +@fld.str.421 = private constant [5 x i8] c"func\00" +@fld.str.422 = private constant [10 x i8] c"line_text\00" +@field_names.423 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 4 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 4 }, { ptr, i64 } { ptr @fld.str.422, i64 9 }] +@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.425 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.426 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.427 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.428 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.429 = private constant [10 x i8] c"exit_code\00" +@fld.str.430 = private constant [7 x i8] c"stdout\00" +@field_names.431 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 9 }, { ptr, i64 } { ptr @fld.str.430, i64 6 }] @str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.433 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.433 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.434 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.435 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.436 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.437 = private constant [6 x i8] c"items\00" -@fld.str.438 = private constant [4 x i8] c"len\00" -@fld.str.439 = private constant [4 x i8] c"cap\00" -@field_names.440 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 5 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 3 }] -@str.441 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.442 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.443 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.444 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.445 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.446 = private constant [4 x i8] c"key\00" -@fld.str.447 = private constant [4 x i8] c"val\00" -@field_names.448 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.446, i64 3 }, { ptr, i64 } { ptr @fld.str.447, i64 3 }] -@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.450 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.451 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.452 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.453 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.454 = private constant [4 x i8] c"dst\00" -@fld.str.455 = private constant [4 x i8] c"pos\00" -@fld.str.456 = private constant [5 x i8] c"file\00" -@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 3 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }, { ptr, i64 } { ptr @fld.str.456, i64 4 }] -@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.459 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.460 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.461 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.462 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.463 = private constant [4 x i8] c"src\00" -@fld.str.464 = private constant [4 x i8] c"pos\00" -@fld.str.465 = private constant [6 x i8] c"alloc\00" -@field_names.466 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.463, i64 3 }, { ptr, i64 } { ptr @fld.str.464, i64 3 }, { ptr, i64 } { ptr @fld.str.465, i64 5 }] -@str.467 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.468 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.469 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.470 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.471 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.472 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.478 = private constant [5 x i8] c"name\00" -@fld.str.479 = private constant [12 x i8] c"takes_value\00" -@fld.str.480 = private constant [9 x i8] c"required\00" -@field_names.481 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 4 }, { ptr, i64 } { ptr @fld.str.479, i64 11 }, { ptr, i64 } { ptr @fld.str.480, i64 8 }] -@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.483 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.487 = private constant [6 x i8] c"group\00" -@fld.str.488 = private constant [8 x i8] c"command\00" -@fld.str.489 = private constant [6 x i8] c"flags\00" -@field_names.490 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 5 }, { ptr, i64 } { ptr @fld.str.488, i64 7 }, { ptr, i64 } { ptr @fld.str.489, i64 5 }] -@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.492 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.494 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.495 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.496 = private constant [4 x i8] c"set\00" -@fld.str.497 = private constant [6 x i8] c"value\00" -@field_names.498 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 5 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.504 = private constant [6 x i8] c"index\00" -@fld.str.505 = private constant [6 x i8] c"token\00" -@field_names.506 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 5 }, { ptr, i64 } { ptr @fld.str.505, i64 5 }] -@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.508 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.510 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.511 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.512 = private constant [6 x i8] c"group\00" -@fld.str.513 = private constant [8 x i8] c"command\00" -@fld.str.514 = private constant [10 x i8] c"cmd_index\00" -@fld.str.515 = private constant [5 x i8] c"json\00" -@fld.str.516 = private constant [5 x i8] c"rest\00" -@fld.str.517 = private constant [5 x i8] c"spec\00" -@fld.str.518 = private constant [7 x i8] c"values\00" -@field_names.519 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 5 }, { ptr, i64 } { ptr @fld.str.513, i64 7 }, { ptr, i64 } { ptr @fld.str.514, i64 9 }, { ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 4 }, { ptr, i64 } { ptr @fld.str.517, i64 4 }, { ptr, i64 } { ptr @fld.str.518, i64 6 }] -@str.520 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.521 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.523 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.524 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.525 = private constant [2 x i8] c"h\00" -@fld.str.526 = private constant [4 x i8] c"buf\00" -@fld.str.527 = private constant [8 x i8] c"buf_len\00" -@fld.str.528 = private constant [10 x i8] c"total_len\00" -@field_names.529 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 1 }, { ptr, i64 } { ptr @fld.str.526, i64 3 }, { ptr, i64 } { ptr @fld.str.527, i64 7 }, { ptr, i64 } { ptr @fld.str.528, i64 9 }] -@str.530 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.531 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.532 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.533 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.534 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.535 = private constant [4 x i8] c"sec\00" -@fld.str.536 = private constant [5 x i8] c"nsec\00" -@field_names.537 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 3 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }] -@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.539 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.540 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.541 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.542 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.543 = private constant [6 x i8] c"ident\00" -@fld.str.544 = private constant [7 x i8] c"filter\00" -@fld.str.545 = private constant [6 x i8] c"flags\00" -@fld.str.546 = private constant [7 x i8] c"fflags\00" -@fld.str.547 = private constant [5 x i8] c"data\00" -@fld.str.548 = private constant [6 x i8] c"udata\00" -@field_names.549 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 5 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 4 }, { ptr, i64 } { ptr @fld.str.548, i64 5 }] +@fld.str.437 = private constant [8 x i8] c"sin_len\00" +@fld.str.438 = private constant [11 x i8] c"sin_family\00" +@fld.str.439 = private constant [9 x i8] c"sin_port\00" +@fld.str.440 = private constant [9 x i8] c"sin_addr\00" +@fld.str.441 = private constant [9 x i8] c"sin_zero\00" +@field_names.442 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 7 }, { ptr, i64 } { ptr @fld.str.438, i64 10 }, { ptr, i64 } { ptr @fld.str.439, i64 8 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }, { ptr, i64 } { ptr @fld.str.441, i64 8 }] +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.445 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.446 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.447 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.448 = private constant [6 x i8] c"items\00" +@fld.str.449 = private constant [4 x i8] c"len\00" +@fld.str.450 = private constant [4 x i8] c"cap\00" +@field_names.451 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 5 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }] +@str.452 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.453 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.454 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.455 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.456 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.457 = private constant [6 x i8] c"items\00" +@fld.str.458 = private constant [4 x i8] c"len\00" +@fld.str.459 = private constant [4 x i8] c"cap\00" +@field_names.460 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.457, i64 5 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }, { ptr, i64 } { ptr @fld.str.459, i64 3 }] +@str.461 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.462 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.463 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.464 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.465 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.466 = private constant [4 x i8] c"key\00" +@fld.str.467 = private constant [4 x i8] c"val\00" +@field_names.468 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.466, i64 3 }, { ptr, i64 } { ptr @fld.str.467, i64 3 }] +@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.470 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.471 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.472 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.473 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.474 = private constant [4 x i8] c"dst\00" +@fld.str.475 = private constant [4 x i8] c"pos\00" +@fld.str.476 = private constant [5 x i8] c"file\00" +@field_names.477 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 3 }, { ptr, i64 } { ptr @fld.str.476, i64 4 }] +@str.478 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.479 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.480 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.481 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.482 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.483 = private constant [4 x i8] c"src\00" +@fld.str.484 = private constant [4 x i8] c"pos\00" +@fld.str.485 = private constant [6 x i8] c"alloc\00" +@field_names.486 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 3 }, { ptr, i64 } { ptr @fld.str.485, i64 5 }] +@str.487 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.488 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.489 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.490 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.491 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.492 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.498 = private constant [5 x i8] c"name\00" +@fld.str.499 = private constant [12 x i8] c"takes_value\00" +@fld.str.500 = private constant [9 x i8] c"required\00" +@field_names.501 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 11 }, { ptr, i64 } { ptr @fld.str.500, i64 8 }] +@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.503 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.505 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.506 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.507 = private constant [6 x i8] c"group\00" +@fld.str.508 = private constant [8 x i8] c"command\00" +@fld.str.509 = private constant [6 x i8] c"flags\00" +@field_names.510 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 5 }, { ptr, i64 } { ptr @fld.str.508, i64 7 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }] +@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.512 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.515 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.516 = private constant [4 x i8] c"set\00" +@fld.str.517 = private constant [6 x i8] c"value\00" +@field_names.518 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.524 = private constant [6 x i8] c"index\00" +@fld.str.525 = private constant [6 x i8] c"token\00" +@field_names.526 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 5 }] +@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.528 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.530 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.531 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.532 = private constant [6 x i8] c"group\00" +@fld.str.533 = private constant [8 x i8] c"command\00" +@fld.str.534 = private constant [10 x i8] c"cmd_index\00" +@fld.str.535 = private constant [5 x i8] c"json\00" +@fld.str.536 = private constant [5 x i8] c"rest\00" +@fld.str.537 = private constant [5 x i8] c"spec\00" +@fld.str.538 = private constant [7 x i8] c"values\00" +@field_names.539 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 5 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }, { ptr, i64 } { ptr @fld.str.534, i64 9 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 4 }, { ptr, i64 } { ptr @fld.str.538, i64 6 }] +@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.541 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.545 = private constant [2 x i8] c"h\00" +@fld.str.546 = private constant [4 x i8] c"buf\00" +@fld.str.547 = private constant [8 x i8] c"buf_len\00" +@fld.str.548 = private constant [10 x i8] c"total_len\00" +@field_names.549 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 1 }, { ptr, i64 } { ptr @fld.str.546, i64 3 }, { ptr, i64 } { ptr @fld.str.547, i64 7 }, { ptr, i64 } { ptr @fld.str.548, i64 9 }] @str.550 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.551 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.551 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.552 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.553 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.554 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -490,217 +490,313 @@ @fld.str.556 = private constant [5 x i8] c"nsec\00" @field_names.557 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.555, i64 3 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }] @str.558 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.559 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.559 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.560 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.561 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.562 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.563 = private constant [3 x i8] c"fd\00" -@fld.str.564 = private constant [6 x i8] c"udata\00" -@fld.str.565 = private constant [9 x i8] c"readable\00" -@fld.str.566 = private constant [9 x i8] c"writable\00" -@fld.str.567 = private constant [4 x i8] c"eof\00" -@fld.str.568 = private constant [4 x i8] c"err\00" -@fld.str.569 = private constant [7 x i8] c"nbytes\00" -@field_names.570 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 2 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 8 }, { ptr, i64 } { ptr @fld.str.566, i64 8 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 3 }, { ptr, i64 } { ptr @fld.str.569, i64 6 }] -@str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.572 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.576 = private constant [3 x i8] c"kq\00" -@field_names.577 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 2 }] +@fld.str.563 = private constant [6 x i8] c"ident\00" +@fld.str.564 = private constant [7 x i8] c"filter\00" +@fld.str.565 = private constant [6 x i8] c"flags\00" +@fld.str.566 = private constant [7 x i8] c"fflags\00" +@fld.str.567 = private constant [5 x i8] c"data\00" +@fld.str.568 = private constant [6 x i8] c"udata\00" +@field_names.569 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 5 }, { ptr, i64 } { ptr @fld.str.564, i64 6 }, { ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 6 }, { ptr, i64 } { ptr @fld.str.567, i64 4 }, { ptr, i64 } { ptr @fld.str.568, i64 5 }] +@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.571 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.572 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.573 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.574 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.575 = private constant [4 x i8] c"sec\00" +@fld.str.576 = private constant [5 x i8] c"nsec\00" +@field_names.577 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 3 }, { ptr, i64 } { ptr @fld.str.576, i64 4 }] @str.578 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.579 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.580 = private constant [5 x i8] c"read\00" -@fld.str.581 = private constant [6 x i8] c"write\00" -@fld.str.582 = private constant [7 x i8] c"append\00" -@fld.str.583 = private constant [11 x i8] c"read_write\00" -@field_names.584 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.580, i64 4 }, { ptr, i64 } { ptr @fld.str.581, i64 5 }, { ptr, i64 } { ptr @fld.str.582, i64 6 }, { ptr, i64 } { ptr @fld.str.583, i64 10 }] -@str.585 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.586 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.587 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.588 = private constant [4 x i8] c"set\00" -@fld.str.589 = private constant [8 x i8] c"current\00" -@fld.str.590 = private constant [4 x i8] c"end\00" -@field_names.591 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 7 }, { ptr, i64 } { ptr @fld.str.590, i64 3 }] -@str.592 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.594 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.595 = private constant [6 x i8] c"null_\00" -@fld.str.596 = private constant [6 x i8] c"bool_\00" -@fld.str.597 = private constant [5 x i8] c"int_\00" -@fld.str.598 = private constant [4 x i8] c"str\00" -@fld.str.599 = private constant [6 x i8] c"array\00" -@fld.str.600 = private constant [7 x i8] c"object\00" -@field_names.601 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 5 }, { ptr, i64 } { ptr @fld.str.596, i64 5 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }, { ptr, i64 } { ptr @fld.str.598, i64 3 }, { ptr, i64 } { ptr @fld.str.599, i64 5 }, { ptr, i64 } { ptr @fld.str.600, i64 6 }] -@str.602 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.603 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.604 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.605 = private constant [6 x i8] c"macos\00" -@fld.str.606 = private constant [6 x i8] c"linux\00" -@fld.str.607 = private constant [8 x i8] c"windows\00" -@fld.str.608 = private constant [5 x i8] c"wasm\00" -@fld.str.609 = private constant [4 x i8] c"ios\00" -@fld.str.610 = private constant [8 x i8] c"android\00" -@fld.str.611 = private constant [8 x i8] c"unknown\00" -@field_names.612 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 5 }, { ptr, i64 } { ptr @fld.str.607, i64 7 }, { ptr, i64 } { ptr @fld.str.608, i64 4 }, { ptr, i64 } { ptr @fld.str.609, i64 3 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }, { ptr, i64 } { ptr @fld.str.611, i64 7 }] -@str.613 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.616 = private constant [8 x i8] c"aarch64\00" -@fld.str.617 = private constant [7 x i8] c"x86_64\00" -@fld.str.618 = private constant [7 x i8] c"wasm32\00" -@fld.str.619 = private constant [7 x i8] c"wasm64\00" -@fld.str.620 = private constant [8 x i8] c"unknown\00" -@field_names.621 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 7 }, { ptr, i64 } { ptr @fld.str.617, i64 6 }, { ptr, i64 } { ptr @fld.str.618, i64 6 }, { ptr, i64 } { ptr @fld.str.619, i64 6 }, { ptr, i64 } { ptr @fld.str.620, i64 7 }] -@str.622 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.624 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.625 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.626 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.629 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.644 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.659 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.660 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.661 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.662 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.663 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.664 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.665 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.666 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.667 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.668 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.669 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.670 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.671 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.672 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.673 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.674 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.675 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.676 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.677 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.678 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.679 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.680 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.681 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.682 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.683 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.685 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.686 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.688 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.689 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.691 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.692 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.695 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.697 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.698 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.700 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.701 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.703 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.704 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.705 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.706 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.707 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.708 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.709 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.710 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.711 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.712 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.713 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.715 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.716 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.718 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.719 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.721 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.722 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.724 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.725 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.726 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.727 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.728 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.730 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.731 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.579 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.581 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.582 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.583 = private constant [3 x i8] c"fd\00" +@fld.str.584 = private constant [6 x i8] c"udata\00" +@fld.str.585 = private constant [9 x i8] c"readable\00" +@fld.str.586 = private constant [9 x i8] c"writable\00" +@fld.str.587 = private constant [4 x i8] c"eof\00" +@fld.str.588 = private constant [4 x i8] c"err\00" +@fld.str.589 = private constant [7 x i8] c"nbytes\00" +@field_names.590 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 2 }, { ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 8 }, { ptr, i64 } { ptr @fld.str.586, i64 8 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 6 }] +@str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.592 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.596 = private constant [3 x i8] c"kq\00" +@field_names.597 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 2 }] +@str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.599 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.601 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.602 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.603 = private constant [5 x i8] c"port\00" +@fld.str.604 = private constant [8 x i8] c"backlog\00" +@fld.str.605 = private constant [9 x i8] c"max_conn\00" +@fld.str.606 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.607 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.608 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.609 = private constant [14 x i8] c"request_count\00" +@field_names.610 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 4 }, { ptr, i64 } { ptr @fld.str.604, i64 7 }, { ptr, i64 } { ptr @fld.str.605, i64 8 }, { ptr, i64 } { ptr @fld.str.606, i64 12 }, { ptr, i64 } { ptr @fld.str.607, i64 18 }, { ptr, i64 } { ptr @fld.str.608, i64 20 }, { ptr, i64 } { ptr @fld.str.609, i64 13 }] +@str.611 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.612 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.614 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.615 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.616 = private constant [7 x i8] c"method\00" +@fld.str.617 = private constant [5 x i8] c"path\00" +@fld.str.618 = private constant [8 x i8] c"version\00" +@fld.str.619 = private constant [12 x i8] c"headers_raw\00" +@fld.str.620 = private constant [5 x i8] c"body\00" +@fld.str.621 = private constant [11 x i8] c"keep_alive\00" +@field_names.622 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 6 }, { ptr, i64 } { ptr @fld.str.617, i64 4 }, { ptr, i64 } { ptr @fld.str.618, i64 7 }, { ptr, i64 } { ptr @fld.str.619, i64 11 }, { ptr, i64 } { ptr @fld.str.620, i64 4 }, { ptr, i64 } { ptr @fld.str.621, i64 10 }] +@str.623 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.624 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.625 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.626 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.627 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.628 = private constant [7 x i8] c"status\00" +@fld.str.629 = private constant [13 x i8] c"content_type\00" +@fld.str.630 = private constant [14 x i8] c"extra_headers\00" +@fld.str.631 = private constant [5 x i8] c"body\00" +@field_names.632 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.628, i64 6 }, { ptr, i64 } { ptr @fld.str.629, i64 12 }, { ptr, i64 } { ptr @fld.str.630, i64 13 }, { ptr, i64 } { ptr @fld.str.631, i64 4 }] +@str.633 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.634 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.635 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.636 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.638 = private constant [3 x i8] c"fd\00" +@fld.str.639 = private constant [6 x i8] c"state\00" +@fld.str.640 = private constant [9 x i8] c"read_buf\00" +@fld.str.641 = private constant [9 x i8] c"read_len\00" +@fld.str.642 = private constant [8 x i8] c"out_buf\00" +@fld.str.643 = private constant [8 x i8] c"out_len\00" +@fld.str.644 = private constant [9 x i8] c"out_sent\00" +@fld.str.645 = private constant [9 x i8] c"deadline\00" +@fld.str.646 = private constant [7 x i8] c"served\00" +@fld.str.647 = private constant [12 x i8] c"close_after\00" +@fld.str.648 = private constant [12 x i8] c"write_armed\00" +@field_names.649 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.638, i64 2 }, { ptr, i64 } { ptr @fld.str.639, i64 5 }, { ptr, i64 } { ptr @fld.str.640, i64 8 }, { ptr, i64 } { ptr @fld.str.641, i64 8 }, { ptr, i64 } { ptr @fld.str.642, i64 7 }, { ptr, i64 } { ptr @fld.str.643, i64 7 }, { ptr, i64 } { ptr @fld.str.644, i64 8 }, { ptr, i64 } { ptr @fld.str.645, i64 8 }, { ptr, i64 } { ptr @fld.str.646, i64 6 }, { ptr, i64 } { ptr @fld.str.647, i64 11 }, { ptr, i64 } { ptr @fld.str.648, i64 11 }] +@str.650 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.651 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.652 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.653 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.655 = private constant [4 x i8] c"cfg\00" +@fld.str.656 = private constant [5 x i8] c"loop\00" +@fld.str.657 = private constant [4 x i8] c"lfd\00" +@fld.str.658 = private constant [6 x i8] c"conns\00" +@fld.str.659 = private constant [10 x i8] c"own_alloc\00" +@fld.str.660 = private constant [8 x i8] c"handler\00" +@field_names.661 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.655, i64 3 }, { ptr, i64 } { ptr @fld.str.656, i64 4 }, { ptr, i64 } { ptr @fld.str.657, i64 3 }, { ptr, i64 } { ptr @fld.str.658, i64 5 }, { ptr, i64 } { ptr @fld.str.659, i64 9 }, { ptr, i64 } { ptr @fld.str.660, i64 7 }] +@str.662 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.663 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.664 = private constant [5 x i8] c"read\00" +@fld.str.665 = private constant [6 x i8] c"write\00" +@fld.str.666 = private constant [7 x i8] c"append\00" +@fld.str.667 = private constant [11 x i8] c"read_write\00" +@field_names.668 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.664, i64 4 }, { ptr, i64 } { ptr @fld.str.665, i64 5 }, { ptr, i64 } { ptr @fld.str.666, i64 6 }, { ptr, i64 } { ptr @fld.str.667, i64 10 }] +@str.669 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.670 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.671 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.672 = private constant [4 x i8] c"set\00" +@fld.str.673 = private constant [8 x i8] c"current\00" +@fld.str.674 = private constant [4 x i8] c"end\00" +@field_names.675 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.672, i64 3 }, { ptr, i64 } { ptr @fld.str.673, i64 7 }, { ptr, i64 } { ptr @fld.str.674, i64 3 }] +@str.676 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.678 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.679 = private constant [6 x i8] c"null_\00" +@fld.str.680 = private constant [6 x i8] c"bool_\00" +@fld.str.681 = private constant [5 x i8] c"int_\00" +@fld.str.682 = private constant [4 x i8] c"str\00" +@fld.str.683 = private constant [6 x i8] c"array\00" +@fld.str.684 = private constant [7 x i8] c"object\00" +@field_names.685 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.679, i64 5 }, { ptr, i64 } { ptr @fld.str.680, i64 5 }, { ptr, i64 } { ptr @fld.str.681, i64 4 }, { ptr, i64 } { ptr @fld.str.682, i64 3 }, { ptr, i64 } { ptr @fld.str.683, i64 5 }, { ptr, i64 } { ptr @fld.str.684, i64 6 }] +@str.686 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.687 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.688 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.689 = private constant [6 x i8] c"macos\00" +@fld.str.690 = private constant [6 x i8] c"linux\00" +@fld.str.691 = private constant [8 x i8] c"windows\00" +@fld.str.692 = private constant [5 x i8] c"wasm\00" +@fld.str.693 = private constant [4 x i8] c"ios\00" +@fld.str.694 = private constant [8 x i8] c"android\00" +@fld.str.695 = private constant [8 x i8] c"unknown\00" +@field_names.696 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 5 }, { ptr, i64 } { ptr @fld.str.691, i64 7 }, { ptr, i64 } { ptr @fld.str.692, i64 4 }, { ptr, i64 } { ptr @fld.str.693, i64 3 }, { ptr, i64 } { ptr @fld.str.694, i64 7 }, { ptr, i64 } { ptr @fld.str.695, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.700 = private constant [8 x i8] c"aarch64\00" +@fld.str.701 = private constant [7 x i8] c"x86_64\00" +@fld.str.702 = private constant [7 x i8] c"wasm32\00" +@fld.str.703 = private constant [7 x i8] c"wasm64\00" +@fld.str.704 = private constant [8 x i8] c"unknown\00" +@field_names.705 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.700, i64 7 }, { ptr, i64 } { ptr @fld.str.701, i64 6 }, { ptr, i64 } { ptr @fld.str.702, i64 6 }, { ptr, i64 } { ptr @fld.str.703, i64 6 }, { ptr, i64 } { ptr @fld.str.704, i64 7 }] +@str.706 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.708 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.709 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.710 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.713 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.716 = private unnamed_addr constant [3 x i8] c", \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 +@str.720 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.725 = private unnamed_addr constant [3 x i8] c", \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 +@str.729 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.734 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.737 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.740 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.743 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.745 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.748 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.751 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.754 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.757 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.760 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.763 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.766 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.769 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.772 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.775 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.778 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.781 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.784 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.787 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.790 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.793 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.796 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.799 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.802 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.805 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.808 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.811 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.814 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.817 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.820 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.823 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.826 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.829 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.832 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.835 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.838 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.841 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.847 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.850 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1138,38 +1234,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 -while.hdr.411: ; preds = %if.merge.416, %entry +while.hdr.445: ; preds = %if.merge.450, %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.412, label %while.exit.413 + br i1 %icmp, label %while.body.446, label %while.exit.447 -while.body.412: ; preds = %while.hdr.411 +while.body.446: ; preds = %while.hdr.445 %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.414, label %if.else.415 + br i1 %icmpN, label %if.then.448, label %if.else.449 -while.exit.413: ; preds = %while.hdr.411 +while.exit.447: ; preds = %while.hdr.445 ret void -if.then.414: ; preds = %while.body.412 +if.then.448: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.416 + br label %if.merge.450 -if.else.415: ; preds = %while.body.412 +if.else.449: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.416 + br label %if.merge.450 -if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi i64 [ %addN, %if.then.414 ], [ %addN, %if.else.415 ] +if.merge.450: ; preds = %if.else.449, %if.then.448 + %bp = phi i64 [ %addN, %if.then.448 ], [ %addN, %if.else.449 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1182,7 +1278,7 @@ if.merge.416: ; preds = %if.else.415, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 } ; Function Attrs: nounwind @@ -1295,12 +1391,12 @@ entry: 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.409, label %if.merge.410 + br i1 %icmp, label %if.then.443, label %if.merge.444 -if.then.409: ; preds = %entry +if.then.443: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.410: ; preds = %entry +if.merge.444: ; 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 @@ -1323,14 +1419,14 @@ if.merge.410: ; preds = %entry %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.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.421, %if.merge.410 +while.hdr.451: ; preds = %if.merge.455, %if.merge.444 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.418, label %while.exit.419 + br i1 %icmpN, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1338,9 +1434,9 @@ while.body.418: ; preds = %while.hdr.417 %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.420, label %if.merge.421 + br i1 %icmpN, label %if.then.454, label %if.merge.455 -while.exit.419: ; preds = %if.then.420, %while.hdr.417 +while.exit.453: ; preds = %if.then.454, %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1348,14 +1444,14 @@ while.exit.419: ; preds = %if.then.420, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.420: ; preds = %while.body.418 - br label %while.exit.419 +if.then.454: ; preds = %while.body.452 + br label %while.exit.453 -if.merge.421: ; preds = %while.body.418 +if.merge.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1503,6 +1599,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1513,18 +1614,19 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 115, label %match.arm.47 + i64 127, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 113, label %match.arm.48 + i64 125, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1551,15 +1653,19 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, label %match.arm.49 - i64 111, label %match.arm.49 - i64 112, label %match.arm.49 i64 114, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 121, label %match.arm.49 + i64 122, label %match.arm.49 + i64 123, label %match.arm.49 + i64 124, label %match.arm.49 + i64 126, label %match.arm.49 + i64 128, label %match.arm.49 + i64 129, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1568,7 +1674,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.524, %dispatch.merge.369, %dispatch.merge.331, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.570, %dispatch.merge.399, %dispatch.merge.361, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1582,7 +1688,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [185 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [203 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1610,7 +1716,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1645,28 +1751,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1678,80 +1789,84 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 115, label %dispatch.case.300 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 127, label %dispatch.case.330 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.332 [ - i64 24, label %dispatch.case.333 - i64 64, label %dispatch.case.334 - i64 81, label %dispatch.case.335 - i64 89, label %dispatch.case.336 - i64 109, label %dispatch.case.337 - i64 113, label %dispatch.case.338 + switch i64 %ua.raw33, label %dispatch.default.362 [ + i64 24, label %dispatch.case.363 + i64 64, label %dispatch.case.364 + i64 81, label %dispatch.case.365 + i64 89, label %dispatch.case.366 + i64 109, label %dispatch.case.367 + i64 125, label %dispatch.case.368 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 19, label %dispatch.case.371 - i64 26, label %dispatch.case.372 - i64 28, label %dispatch.case.373 - i64 30, label %dispatch.case.374 - i64 32, label %dispatch.case.375 - i64 33, label %dispatch.case.376 - i64 35, label %dispatch.case.377 - i64 37, label %dispatch.case.378 - i64 41, label %dispatch.case.379 - i64 48, label %dispatch.case.380 - i64 50, label %dispatch.case.381 - i64 51, label %dispatch.case.382 - i64 60, label %dispatch.case.383 - i64 61, label %dispatch.case.384 - i64 62, label %dispatch.case.385 - i64 63, label %dispatch.case.386 - i64 66, label %dispatch.case.387 - i64 71, label %dispatch.case.388 - i64 78, label %dispatch.case.389 - i64 87, label %dispatch.case.390 - i64 90, label %dispatch.case.391 - i64 94, label %dispatch.case.392 - i64 98, label %dispatch.case.393 - i64 101, label %dispatch.case.394 - i64 102, label %dispatch.case.395 - i64 107, label %dispatch.case.396 - i64 110, label %dispatch.case.397 - i64 111, label %dispatch.case.398 - i64 112, label %dispatch.case.399 - i64 114, label %dispatch.case.400 - i64 116, label %dispatch.case.401 - i64 117, label %dispatch.case.402 - i64 118, label %dispatch.case.403 - i64 119, label %dispatch.case.404 - i64 120, label %dispatch.case.405 + switch i64 %ua.raw37, label %dispatch.default.400 [ + i64 19, label %dispatch.case.401 + i64 26, label %dispatch.case.402 + i64 28, label %dispatch.case.403 + i64 30, label %dispatch.case.404 + i64 32, label %dispatch.case.405 + i64 33, label %dispatch.case.406 + i64 35, label %dispatch.case.407 + i64 37, label %dispatch.case.408 + i64 41, label %dispatch.case.409 + i64 48, label %dispatch.case.410 + i64 50, label %dispatch.case.411 + i64 51, label %dispatch.case.412 + i64 60, label %dispatch.case.413 + i64 61, label %dispatch.case.414 + i64 62, label %dispatch.case.415 + i64 63, label %dispatch.case.416 + i64 66, label %dispatch.case.417 + i64 71, label %dispatch.case.418 + i64 78, label %dispatch.case.419 + i64 87, label %dispatch.case.420 + i64 90, label %dispatch.case.421 + i64 94, label %dispatch.case.422 + i64 98, label %dispatch.case.423 + i64 101, label %dispatch.case.424 + i64 102, label %dispatch.case.425 + i64 107, label %dispatch.case.426 + i64 114, label %dispatch.case.427 + i64 116, label %dispatch.case.428 + i64 117, label %dispatch.case.429 + i64 121, label %dispatch.case.430 + i64 122, label %dispatch.case.431 + i64 123, label %dispatch.case.432 + i64 124, label %dispatch.case.433 + i64 126, label %dispatch.case.434 + i64 128, label %dispatch.case.435 + i64 129, label %dispatch.case.436 + i64 130, label %dispatch.case.437 + i64 131, label %dispatch.case.438 + i64 132, label %dispatch.case.439 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.525 [ - i64 42, label %dispatch.case.526 - i64 43, label %dispatch.case.527 - i64 45, label %dispatch.case.528 - i64 47, label %dispatch.case.529 - i64 95, label %dispatch.case.530 + switch i64 %ua.raw41, label %dispatch.default.571 [ + i64 42, label %dispatch.case.572 + i64 43, label %dispatch.case.573 + i64 45, label %dispatch.case.574 + i64 47, label %dispatch.case.575 + i64 95, label %dispatch.case.576 ] match.arm.51: ; preds = %entry @@ -1760,7 +1875,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [185 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [203 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1805,13 +1920,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.286, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2054,462 +2169,530 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.287, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.331: ; preds = %dispatch.case.338, %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.default.332 +dispatch.case.326: ; preds = %match.arm.47 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.327: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.328: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.361: ; preds = %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.default.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.332: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.331 +dispatch.default.362: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.361 -dispatch.case.333: ; preds = %match.arm.48 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.334: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.335: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.336: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.337: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.338: ; preds = %match.arm.48 +dispatch.case.363: ; preds = %match.arm.48 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 + br label %dispatch.merge.361 -dispatch.merge.369: ; preds = %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.default.370 +dispatch.case.364: ; preds = %match.arm.48 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.365: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.366: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.367: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.368: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.merge.399: ; preds = %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.default.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.370: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.371: ; preds = %match.arm.49 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.372: ; preds = %match.arm.49 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.373: ; preds = %match.arm.49 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.374: ; preds = %match.arm.49 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.375: ; preds = %match.arm.49 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.376: ; preds = %match.arm.49 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 +dispatch.default.400: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.399 dispatch.case.401: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.402: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.403: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.404: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.405: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 -dispatch.merge.524: ; preds = %dispatch.case.530, %dispatch.case.529, %dispatch.case.528, %dispatch.case.527, %dispatch.case.526, %dispatch.default.525 +dispatch.case.406: ; preds = %match.arm.49 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.407: ; preds = %match.arm.49 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.408: ; preds = %match.arm.49 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.409: ; preds = %match.arm.49 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.410: ; preds = %match.arm.49 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.411: ; preds = %match.arm.49 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.merge.570: ; preds = %dispatch.case.576, %dispatch.case.575, %dispatch.case.574, %dispatch.case.573, %dispatch.case.572, %dispatch.default.571 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.525: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.524 +dispatch.default.571: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.570 -dispatch.case.526: ; preds = %match.arm.50 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.572: ; preds = %match.arm.50 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.527: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.573: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.528: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.574: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.529: ; preds = %match.arm.50 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.575: ; preds = %match.arm.50 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.530: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.576: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 } ; Function Attrs: nounwind @@ -2518,7 +2701,7 @@ 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.292, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2614,7 +2797,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, 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 @@ -2622,7 +2805,7 @@ if.then.12: ; preds = %if.then.9 %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.294, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, 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 @@ -2632,13 +2815,13 @@ if.then.12: ; preds = %if.then.9 %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.295, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, 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 @@ -2646,7 +2829,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.297, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2660,7 +2843,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2668,7 +2851,7 @@ if.then.23: ; preds = %if.else.10 %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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2679,7 +2862,7 @@ if.then.23: ; preds = %if.else.10 %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.300, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2736,7 +2919,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2744,7 +2927,7 @@ if.then.32: ; preds = %if.then.29 %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.302, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2755,7 +2938,7 @@ if.then.32: ; preds = %if.then.29 %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.303, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2775,7 +2958,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2783,7 +2966,7 @@ if.then.35: ; preds = %while.exit.2 %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.305, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2794,7 +2977,7 @@ if.then.35: ; preds = %while.exit.2 %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.306, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3627,6 +3810,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: @@ -3673,7 +3904,7 @@ entry: 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.307, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.327, 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 @@ -3688,7 +3919,7 @@ entry: %gepN = getelementptr inbounds { 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.308, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.328, 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) @@ -3715,7 +3946,7 @@ entry: ; 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.309, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.329, i64 8 }) ret { ptr, i64 } %call } @@ -3736,7 +3967,7 @@ entry: define internal void @print__ct_s95dfd2a009f17129__pack_f64(ptr %0, double %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.310, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.330, i64 8 }, ptr %alloca, align 8 %allocaN = alloca double, align 8 store double %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3752,7 +3983,7 @@ entry: %gepN = getelementptr inbounds { 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.311, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.331, 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) @@ -3780,7 +4011,7 @@ entry: ; 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.312, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.332, i64 8 }) ret { ptr, i64 } %call } @@ -3791,35 +4022,35 @@ entry: %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.313, i64 15 }, { ptr, i64 } { ptr @str.314, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.333, i64 15 }, { ptr, i64 } { ptr @str.334, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3827,7 +4058,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.320, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, 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 @@ -3847,31 +4078,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -3884,43 +4115,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.321, i64 9 }, { ptr, i64 } { ptr @str.322, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.341, i64 9 }, { ptr, i64 } { ptr @str.342, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.328, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.348, 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.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, 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 @@ -3939,24 +4170,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3969,43 +4200,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.330, i64 7 }, { ptr, i64 } { ptr @str.331, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.350, i64 7 }, { ptr, i64 } { ptr @str.351, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.333, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.336, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.356, 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.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, 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 %alloca, align 8 @@ -4023,19 +4254,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4047,43 +4278,43 @@ 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.338, i64 10 }, { ptr, i64 } { ptr @str.339, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.358, i64 10 }, { ptr, i64 } { ptr @str.359, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.342, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.362, 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.343, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4094,7 +4325,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4102,43 +4333,43 @@ 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.344, i64 3 }, { ptr, i64 } { ptr @str.345, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.364, i64 3 }, { ptr, i64 } { ptr @str.365, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.349, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.369, 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.350, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 @@ -4155,12 +4386,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4171,43 +4402,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.351, i64 10 }, { ptr, i64 } { ptr @str.352, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.371, i64 10 }, { ptr, i64 } { ptr @str.372, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.357, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.377, 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.358, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, 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 @@ -4225,18 +4456,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4248,91 +4479,7 @@ 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.359, i64 5 }, { ptr, i64 } { ptr @str.360, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.366, 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.367, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.368, i64 8 }, { ptr, i64 } { ptr @str.369, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.379, i64 5 }, { ptr, i64 } { ptr @str.380, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4351,27 +4498,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.375, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.386, 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.376, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, 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 { 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 @@ -4393,17 +4540,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.388, i64 8 }, { ptr, i64 } { ptr @str.389, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.395, 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.396, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4415,43 +4646,43 @@ 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.377, i64 17 }, { ptr, i64 } { ptr @str.378, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.397, i64 17 }, { ptr, i64 } { ptr @str.398, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.385, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.405, 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.386, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, 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 @@ -4471,29 +4702,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4504,43 +4735,43 @@ 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.387, i64 4 }, { ptr, i64 } { ptr @str.388, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.407, i64 4 }, { ptr, i64 } { ptr @str.408, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.392, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.412, 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.393, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, 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 @@ -4557,12 +4788,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4577,43 +4808,43 @@ entry: %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.394, i64 10 }, { ptr, i64 } { ptr @str.395, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.414, i64 10 }, { ptr, i64 } { ptr @str.415, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.403, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.423, 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.404, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, 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 @@ -4634,38 +4865,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4679,43 +4910,43 @@ 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.405, i64 13 }, { ptr, i64 } { ptr @str.406, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.425, i64 13 }, { ptr, i64 } { ptr @str.426, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.411, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.431, 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.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, 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 @@ -4733,18 +4964,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4757,43 +4988,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.413, i64 8 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 8 }, { ptr, i64 } { ptr @str.434, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.422, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.442, 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.423, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, 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 @@ -4814,36 +5045,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4854,89 +5085,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.424, i64 5 }, { ptr, i64 } { ptr @str.425, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.431, 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.432, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.433, i64 6 }, { ptr, i64 } { ptr @str.434, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 5 }, { ptr, i64 } { ptr @str.445, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4955,24 +5104,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.440, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.451, 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.441, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, 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 @@ -4999,7 +5148,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -5014,13 +5163,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.442, i64 6 }, { ptr, i64 } { ptr @str.443, i64 1 }) + %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.453, i64 6 }, { ptr, i64 } { ptr @str.454, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5029,7 +5176,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5039,24 +5186,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.448, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.460, 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.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.462, i64 6 }, { ptr, i64 } { ptr @str.463, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.468, 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.469, 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 @@ -5074,19 +5305,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5100,93 +5331,7 @@ 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.450, i64 4 }, { ptr, i64 } { ptr @str.451, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.457, 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.458, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.459, i64 6 }, { ptr, i64 } { ptr @str.460, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.470, i64 4 }, { ptr, i64 } { ptr @str.471, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5205,24 +5350,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.466, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.477, 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.467, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.479, i64 6 }, { ptr, i64 } { ptr @str.480, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.486, 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.487, 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 @@ -5241,24 +5472,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5271,43 +5502,43 @@ 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.468, i64 12 }, { ptr, i64 } { ptr @str.469, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.488, i64 12 }, { ptr, i64 } { ptr @str.489, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.492, 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.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5318,7 +5549,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5327,95 +5558,7 @@ 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.474, i64 8 }, { ptr, i64 } { ptr @str.475, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.481, 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.482, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.483, i64 7 }, { ptr, i64 } { ptr @str.484, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.494, i64 8 }, { ptr, i64 } { ptr @str.495, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5434,24 +5577,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.490, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.501, 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.491, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.503, i64 7 }, { ptr, i64 } { ptr @str.504, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.510, 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.511, 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 @@ -5470,26 +5701,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5503,86 +5734,7 @@ 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.492, i64 9 }, { ptr, i64 } { ptr @str.493, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.498, 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.499, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.500, i64 4 }, { ptr, i64 } { ptr @str.501, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.512, i64 9 }, { ptr, i64 } { ptr @str.513, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5601,27 +5753,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.506, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.518, 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.507, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, 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 { 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 @@ -5642,11 +5794,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.520, i64 4 }, { ptr, i64 } { ptr @str.521, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.526, 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.527, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5664,43 +5895,43 @@ entry: %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.508, i64 6 }, { ptr, i64 } { ptr @str.509, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.528, i64 6 }, { ptr, i64 } { ptr @str.529, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.519, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.539, 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.520, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, 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 @@ -5723,51 +5954,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5782,43 +6013,43 @@ entry: %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.521, i64 6 }, { ptr, i64 } { ptr @str.522, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.541, i64 6 }, { ptr, i64 } { ptr @str.542, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.529, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.549, 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.530, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, 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 @@ -5838,31 +6069,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -5873,82 +6104,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.531, i64 8 }, { ptr, i64 } { ptr @str.532, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.537, 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.538, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.539, i64 6 }, { ptr, i64 } { ptr @str.540, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.551, i64 8 }, { ptr, i64 } { ptr @str.552, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5957,7 +6113,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -5967,118 +6123,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 2 }) + %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 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.549, 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.550, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.551, i64 10 }, { ptr, i64 } { ptr @str.552, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %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 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.557, i64 0, i64 %loadN @@ -6104,17 +6158,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.559, i64 6 }, { ptr, i64 } { ptr @str.560, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.569, 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.570, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.571, i64 10 }, { ptr, i64 } { ptr @str.572, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.577, 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.578, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6125,43 +6356,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.559, i64 5 }, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, i64 5 }, { ptr, i64 } { ptr @str.580, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.570, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.590, 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.571, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, 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, i64 }, ptr %alloca, align 8 @@ -6184,47 +6415,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6235,43 +6466,43 @@ 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.572, i64 4 }, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 4 }, { ptr, i64 } { ptr @str.593, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.577, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.597, 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.578, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, 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 @@ -6288,18 +6519,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 6 }, { ptr, i64 } { ptr @str.600, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.610, 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.611, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.612, i64 7 }, { ptr, i64 } { ptr @str.613, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.622, 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.623, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.624, i64 8 }, { ptr, i64 } { ptr @str.625, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.632, 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.633, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 4 }, { ptr, i64 } { ptr @str.635, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.649, 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.650, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 6 }, { ptr, i64 } { ptr @str.652, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.661, 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.662, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6309,9 +7103,9 @@ entry: %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.584, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.668, 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.579, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, 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 @@ -6325,18 +7119,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.586, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6350,9 +7144,9 @@ entry: %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.591, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.675, 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.587, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, 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 @@ -6366,18 +7160,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.593, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6402,9 +7196,9 @@ entry: %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.601, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.685, 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.594, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, 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 @@ -6418,16 +7212,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.603, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6440,7 +7234,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6500,9 +7294,9 @@ entry: %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.612, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.696, 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.604, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, 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 @@ -6516,18 +7310,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.614, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6541,9 +7335,9 @@ entry: %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.621, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.705, 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.615, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, 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 @@ -6557,18 +7351,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.623, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6580,33 +7374,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.624, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.708, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 -while.hdr.301: ; preds = %if.merge.305, %entry +while.hdr.331: ; preds = %if.merge.335, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.302, label %while.exit.303 + br i1 %icmp, label %while.body.332, label %while.exit.333 -while.body.302: ; preds = %while.hdr.301 +while.body.332: ; preds = %while.hdr.331 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.304, label %if.merge.305 + br i1 %icmpN, label %if.then.334, label %if.merge.335 -while.exit.303: ; preds = %while.hdr.301 +while.exit.333: ; preds = %while.hdr.331 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 1 }) ret { ptr, i64 } %call -if.then.304: ; preds = %while.body.302 +if.then.334: ; preds = %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.305 + br label %if.merge.335 -if.merge.305: ; preds = %if.then.304, %while.body.302 +if.merge.335: ; preds = %if.then.334, %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6620,7 +7414,7 @@ if.merge.305: ; preds = %if.then.304, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 } ; Function Attrs: nounwind @@ -6631,33 +7425,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.627, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.711, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 -while.hdr.306: ; preds = %if.merge.310, %entry +while.hdr.336: ; preds = %if.merge.340, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.307, label %while.exit.308 + br i1 %icmp, label %while.body.337, label %while.exit.338 -while.body.307: ; preds = %while.hdr.306 +while.body.337: ; preds = %while.hdr.336 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.309, label %if.merge.310 + br i1 %icmpN, label %if.then.339, label %if.merge.340 -while.exit.308: ; preds = %while.hdr.306 +while.exit.338: ; preds = %while.hdr.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 1 }) ret { ptr, i64 } %call -if.then.309: ; preds = %while.body.307 +if.then.339: ; preds = %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %while.body.307 +if.merge.340: ; preds = %if.then.339, %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6673,7 +7467,7 @@ if.merge.310: ; preds = %if.then.309, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 } ; Function Attrs: nounwind @@ -6683,33 +7477,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.714, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 -while.hdr.311: ; preds = %if.merge.315, %entry +while.hdr.341: ; preds = %if.merge.345, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.312, label %while.exit.313 + br i1 %icmp, label %while.body.342, label %while.exit.343 -while.body.312: ; preds = %while.hdr.311 +while.body.342: ; preds = %while.hdr.341 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.314, label %if.merge.315 + br i1 %icmpN, label %if.then.344, label %if.merge.345 -while.exit.313: ; preds = %while.hdr.311 +while.exit.343: ; preds = %while.hdr.341 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %call -if.then.314: ; preds = %while.body.312 +if.then.344: ; preds = %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %while.body.312 +if.merge.345: ; preds = %if.then.344, %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6723,7 +7517,7 @@ if.merge.315: ; preds = %if.then.314, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 } ; Function Attrs: nounwind @@ -6733,33 +7527,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.633, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.717, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 -while.hdr.316: ; preds = %if.merge.320, %entry +while.hdr.346: ; preds = %if.merge.350, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.317, label %while.exit.318 + br i1 %icmp, label %while.body.347, label %while.exit.348 -while.body.317: ; preds = %while.hdr.316 +while.body.347: ; preds = %while.hdr.346 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.319, label %if.merge.320 + br i1 %icmpN, label %if.then.349, label %if.merge.350 -while.exit.318: ; preds = %while.hdr.316 +while.exit.348: ; preds = %while.hdr.346 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) ret { ptr, i64 } %call -if.then.319: ; preds = %while.body.317 +if.then.349: ; preds = %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + %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.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %while.body.317 +if.merge.350: ; preds = %if.then.349, %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6774,7 +7568,7 @@ if.merge.320: ; preds = %if.then.319, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 } ; Function Attrs: nounwind @@ -6784,33 +7578,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.636, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.720, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %if.merge.325, %entry +while.hdr.351: ; preds = %if.merge.355, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) ret { ptr, i64 } %call -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6824,7 +7618,7 @@ if.merge.325: ; preds = %if.then.324, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 } ; Function Attrs: nounwind @@ -6835,33 +7629,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.639, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.723, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6877,7 +7671,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -6887,35 +7681,35 @@ entry: %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.642, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.726, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 -while.hdr.339: ; preds = %if.merge.343, %entry +while.hdr.369: ; preds = %if.merge.373, %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.340, label %while.exit.341 + br i1 %icmp, label %while.body.370, label %while.exit.371 -while.body.340: ; preds = %while.hdr.339 +while.body.370: ; preds = %while.hdr.369 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.342, label %if.merge.343 + br i1 %icmpN, label %if.then.372, label %if.merge.373 -while.exit.341: ; preds = %while.hdr.339 +while.exit.371: ; preds = %while.hdr.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 }) ret { ptr, i64 } %call -if.then.342: ; preds = %while.body.340 +if.then.372: ; preds = %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 2 }) + %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.343 + br label %if.merge.373 -if.merge.343: ; preds = %if.then.342, %while.body.340 +if.merge.373: ; preds = %if.then.372, %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6931,7 +7725,7 @@ if.merge.343: ; preds = %if.then.342, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 } ; Function Attrs: nounwind @@ -6940,35 +7734,35 @@ 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.645, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.729, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %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.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6983,7 +7777,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -6993,35 +7787,35 @@ entry: %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.648, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.732, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 -while.hdr.349: ; preds = %if.merge.353, %entry +while.hdr.379: ; preds = %if.merge.383, %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.350, label %while.exit.351 + br i1 %icmp, label %while.body.380, label %while.exit.381 -while.body.350: ; preds = %while.hdr.349 +while.body.380: ; preds = %while.hdr.379 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.352, label %if.merge.353 + br i1 %icmpN, label %if.then.382, label %if.merge.383 -while.exit.351: ; preds = %while.hdr.349 +while.exit.381: ; preds = %while.hdr.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 1 }) ret { ptr, i64 } %call -if.then.352: ; preds = %while.body.350 +if.then.382: ; preds = %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.353 + br label %if.merge.383 -if.merge.353: ; preds = %if.then.352, %while.body.350 +if.merge.383: ; preds = %if.then.382, %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7037,7 +7831,7 @@ if.merge.353: ; preds = %if.then.352, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 } ; Function Attrs: nounwind @@ -7047,35 +7841,35 @@ entry: %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.651, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.735, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 -while.hdr.354: ; preds = %if.merge.358, %entry +while.hdr.384: ; preds = %if.merge.388, %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.355, label %while.exit.356 + br i1 %icmp, label %while.body.385, label %while.exit.386 -while.body.355: ; preds = %while.hdr.354 +while.body.385: ; preds = %while.hdr.384 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.357, label %if.merge.358 + br i1 %icmpN, label %if.then.387, label %if.merge.388 -while.exit.356: ; preds = %while.hdr.354 +while.exit.386: ; preds = %while.hdr.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.736, i64 1 }) ret { ptr, i64 } %call -if.then.357: ; preds = %while.body.355 +if.then.387: ; preds = %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.358 + br label %if.merge.388 -if.merge.358: ; preds = %if.then.357, %while.body.355 +if.merge.388: ; preds = %if.then.387, %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7091,7 +7885,7 @@ if.merge.358: ; preds = %if.then.357, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 } ; Function Attrs: nounwind @@ -7101,35 +7895,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.654, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.738, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 -while.hdr.359: ; preds = %if.merge.363, %entry +while.hdr.389: ; preds = %if.merge.393, %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.360, label %while.exit.361 + br i1 %icmp, label %while.body.390, label %while.exit.391 -while.body.360: ; preds = %while.hdr.359 +while.body.390: ; preds = %while.hdr.389 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.362, label %if.merge.363 + br i1 %icmpN, label %if.then.392, label %if.merge.393 -while.exit.361: ; preds = %while.hdr.359 +while.exit.391: ; preds = %while.hdr.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 1 }) ret { ptr, i64 } %call -if.then.362: ; preds = %while.body.360 +if.then.392: ; preds = %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.363 + br label %if.merge.393 -if.merge.363: ; preds = %if.then.362, %while.body.360 +if.merge.393: ; preds = %if.then.392, %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7145,7 +7939,7 @@ if.merge.363: ; preds = %if.then.362, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 } ; Function Attrs: nounwind @@ -7155,35 +7949,35 @@ entry: %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.657, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.741, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 -while.hdr.364: ; preds = %if.merge.368, %entry +while.hdr.394: ; preds = %if.merge.398, %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.365, label %while.exit.366 + br i1 %icmp, label %while.body.395, label %while.exit.396 -while.body.365: ; preds = %while.hdr.364 +while.body.395: ; preds = %while.hdr.394 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.367, label %if.merge.368 + br i1 %icmpN, label %if.then.397, label %if.merge.398 -while.exit.366: ; preds = %while.hdr.364 +while.exit.396: ; preds = %while.hdr.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 1 }) ret { ptr, i64 } %call -if.then.367: ; preds = %while.body.365 +if.then.397: ; preds = %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.368 + br label %if.merge.398 -if.merge.368: ; preds = %if.then.367, %while.body.365 +if.merge.398: ; preds = %if.then.397, %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7199,206 +7993,11 @@ if.merge.368: ; preds = %if.then.367, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 } ; 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.406, label %if.else.407 - -if.then.406: ; preds = %entry - br label %if.merge.408 - -if.else.407: ; 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.408 - -if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] - 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.422, label %if.else.423 - -if.then.422: ; preds = %entry - br label %if.merge.424 - -if.else.423: ; 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.424 - -if.merge.424: ; preds = %if.else.423, %if.then.422 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] - 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.425, label %if.else.426 - -if.then.425: ; preds = %entry - br label %if.merge.427 - -if.else.426: ; 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.427 - -if.merge.427: ; preds = %if.else.426, %if.then.425 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - ret { ptr, i64 } %bp -} - -; 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - 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 @@ -7416,12 +8015,207 @@ if.then.440: ; preds = %entry if.else.441: ; 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 5 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + 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.456, label %if.else.457 + +if.then.456: ; preds = %entry + br label %if.merge.458 + +if.else.457: ; 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.749, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.458 + +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + 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.459, label %if.else.460 + +if.then.459: ; preds = %entry + br label %if.merge.461 + +if.else.460: ; 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.752, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.461 + +if.merge.461: ; preds = %if.else.460, %if.then.459 + %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.755, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.758, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + ret { ptr, i64 } %bp +} + +; 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.761, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.764, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.767, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } @@ -7436,20 +8230,20 @@ entry: 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.443, label %if.else.444 + br i1 %icmp, label %if.then.477, label %if.else.478 -if.then.443: ; preds = %entry - br label %if.merge.445 +if.then.477: ; preds = %entry + br label %if.merge.479 -if.else.444: ; preds = %entry +if.else.478: ; 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.445 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.479 -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } @@ -7464,20 +8258,20 @@ entry: 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.446, label %if.else.447 + br i1 %icmp, label %if.then.480, label %if.else.481 -if.then.446: ; preds = %entry - br label %if.merge.448 +if.then.480: ; preds = %entry + br label %if.merge.482 -if.else.447: ; preds = %entry +if.else.481: ; 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.448 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.482 -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7492,20 +8286,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.692, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7520,20 +8314,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7547,20 +8341,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7575,20 +8369,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7602,20 +8396,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7630,20 +8424,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7658,20 +8452,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7686,20 +8480,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7714,20 +8508,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7742,20 +8536,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7770,20 +8564,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7798,20 +8592,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7826,20 +8620,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7854,20 +8648,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7882,20 +8676,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7910,20 +8704,131 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] + 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.531, label %if.else.532 + +if.then.531: ; preds = %entry + br label %if.merge.533 + +if.else.532: ; 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.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.533 + +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] + 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.534, label %if.else.535 + +if.then.534: ; preds = %entry + br label %if.merge.536 + +if.else.535: ; 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.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 + +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -7938,20 +8843,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.498: ; preds = %entry +if.else.544: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -7966,20 +8871,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.501: ; preds = %entry +if.else.547: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -7994,20 +8899,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8022,20 +8927,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8050,20 +8955,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8078,20 +8983,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8106,20 +9011,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8134,20 +9039,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8162,20 +9067,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8188,12 +9093,12 @@ entry: %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.531, label %if.merge.532 + br i1 %lnot, label %if.then.577, label %if.merge.578 -if.then.531: ; preds = %entry - ret { ptr, i64 } { ptr @str.765, i64 4 } +if.then.577: ; preds = %entry + ret { ptr, i64 } { ptr @str.861, i64 4 } -if.merge.532: ; preds = %entry +if.merge.578: ; 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 @@ -8212,12 +9117,12 @@ entry: %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.533, label %if.merge.534 + br i1 %lnot, label %if.then.579, label %if.merge.580 -if.then.533: ; preds = %entry - ret { ptr, i64 } { ptr @str.766, i64 4 } +if.then.579: ; preds = %entry + ret { ptr, i64 } { ptr @str.862, i64 4 } -if.merge.534: ; preds = %entry +if.merge.580: ; 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 @@ -8235,12 +9140,12 @@ entry: %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.535, label %if.merge.536 + br i1 %lnot, label %if.then.581, label %if.merge.582 -if.then.535: ; preds = %entry - ret { ptr, i64 } { ptr @str.767, i64 4 } +if.then.581: ; preds = %entry + ret { ptr, i64 } { ptr @str.863, i64 4 } -if.merge.536: ; preds = %entry +if.merge.582: ; 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 @@ -8257,12 +9162,12 @@ entry: %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.537, label %if.merge.538 + br i1 %lnot, label %if.then.583, label %if.merge.584 -if.then.537: ; preds = %entry - ret { ptr, i64 } { ptr @str.768, i64 4 } +if.then.583: ; preds = %entry + ret { ptr, i64 } { ptr @str.864, i64 4 } -if.merge.538: ; preds = %entry +if.merge.584: ; 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 @@ -8281,12 +9186,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.769, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.865, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 diff --git a/examples/expected/0201-generics-generic-struct.ir b/examples/expected/0201-generics-generic-struct.ir index 6f3b4d5..0fb7f79 100644 --- a/examples/expected/0201-generics-generic-struct.ir +++ b/examples/expected/0201-generics-generic-struct.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [212 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] +@__sx_type_is_unsigned = private constant [230 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,519 +28,519 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [8 x i8] c"[16]f32\00" -@tn.str.212 = private constant [5 x i8] c"Mat4\00" -@tn.str.213 = private constant [5 x i8] c"Vec2\00" -@tn.str.214 = private constant [14 x i8] c"Vector(3,f32)\00" -@tn.str.215 = private constant [12 x i8] c"Vec__3__f32\00" -@tn.str.216 = private constant [5 x i8] c"Vec3\00" -@tn.str.217 = private constant [13 x i8] c"Complex__u32\00" -@tn.str.218 = private constant [4 x i8] c"Foo\00" -@tn.str.219 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.220 = private constant [7 x i8] c"**void\00" -@tn.str.221 = private constant [6 x i8] c"*Vec3\00" -@tn.str.222 = private constant [8 x i8] c"*string\00" -@tn.str.223 = private constant [6 x i8] c"[]Any\00" -@tn.str.224 = private constant [5 x i8] c"*Any\00" -@tn.str.225 = private constant [7 x i8] c"[1]Any\00" -@tn.str.226 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.227 = private constant [7 x i8] c"*[]Any\00" -@tn.str.228 = private constant [4 x i8] c"*u8\00" -@tn.str.229 = private constant [6 x i8] c"*bool\00" -@tn.str.230 = private constant [5 x i8] c"*f32\00" -@tn.str.231 = private constant [15 x i8] c"*Vector(3,f32)\00" -@tn.str.232 = private constant [7 x i8] c"[5]f32\00" -@tn.str.233 = private constant [8 x i8] c"*[5]f32\00" -@tn.str.234 = private constant [5 x i8] c"*Foo\00" -@tn.str.235 = private constant [5 x i8] c"*f64\00" -@tn.str.236 = private constant [8 x i8] c"Sx__f32\00" -@tn.str.237 = private constant [9 x i8] c"*Sx__f32\00" -@tn.str.238 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.239 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.240 = private constant [11 x i8] c"*Allocator\00" -@tn.str.241 = private constant [9 x i8] c"*Context\00" -@tn.str.242 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.243 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.244 = private constant [8 x i8] c"*Member\00" -@tn.str.245 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.246 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.247 = private constant [9 x i8] c"*Command\00" -@tn.str.248 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.249 = private constant [7 x i8] c"*Event\00" -@tn.str.250 = private constant [6 x i8] c"*Mat4\00" -@tn.str.251 = private constant [6 x i8] c"*Vec2\00" -@tn.str.252 = private constant [13 x i8] c"*Vec__3__f32\00" -@tn.str.253 = private constant [14 x i8] c"*Complex__u32\00" -@tn.str.254 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.255 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.256 = private constant [7 x i8] c"*Value\00" -@tn.str.257 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.258 = private constant [14 x i8] c"*Architecture\00" -@tn.str.259 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.260 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.261 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.262 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.263 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.264 = private constant [10 x i8] c"*[]string\00" -@tn.str.265 = private constant [6 x i8] c"*[]u8\00" -@tn.str.266 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.267 = private constant [11 x i8] c"*[]Command\00" -@tn.str.268 = private constant [9 x i8] c"*[]Event\00" -@tn.str.269 = private constant [6 x i8] c"**GPA\00" -@tn.str.270 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.271 = private constant [8 x i8] c"**Arena\00" -@tn.str.272 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.273 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.274 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.275 = private constant [7 x i8] c"**File\00" -@tn.str.276 = private constant [6 x i8] c"**i32\00" -@tn.str.277 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.278 = private constant [6 x i8] c"**u32\00" -@tn.str.279 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.280 = private constant [8 x i8] c"**Array\00" -@tn.str.281 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.282 = private constant [9 x i8] c"**Object\00" -@tn.str.283 = private constant [7 x i8] c"**Sink\00" -@tn.str.284 = private constant [9 x i8] c"**Parser\00" -@tn.str.285 = private constant [6 x i8] c"**i64\00" -@tn.str.286 = private constant [9 x i8] c"**Parsed\00" -@tn.str.287 = private constant [7 x i8] c"**Diag\00" -@tn.str.288 = private constant [9 x i8] c"**Sha256\00" -@tn.str.289 = private constant [11 x i8] c"**Timespec\00" -@tn.str.290 = private constant [9 x i8] c"**Kevent\00" -@tn.str.291 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.292 = private constant [7 x i8] c"**Loop\00" -@tn.str.293 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.294 = private constant [8 x i8] c"***void\00" -@tn.str.295 = private constant [7 x i8] c"**Vec3\00" -@tn.str.296 = private constant [9 x i8] c"**string\00" -@tn.str.297 = private constant [6 x i8] c"**Any\00" -@tn.str.298 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.299 = private constant [8 x i8] c"**[]Any\00" -@tn.str.300 = private constant [5 x i8] c"**u8\00" -@tn.str.301 = private constant [7 x i8] c"**bool\00" -@tn.str.302 = private constant [6 x i8] c"**f32\00" -@tn.str.303 = private constant [16 x i8] c"**Vector(3,f32)\00" -@tn.str.304 = private constant [9 x i8] c"**[5]f32\00" -@tn.str.305 = private constant [6 x i8] c"**Foo\00" -@tn.str.306 = private constant [6 x i8] c"**f64\00" -@tn.str.307 = private constant [10 x i8] c"**Sx__f32\00" -@tn.str.308 = private constant [7 x i8] c"*?File\00" -@tn.str.309 = private constant [9 x i8] c"*?string\00" -@tn.str.310 = private constant [10 x i8] c"*?cstring\00" -@tn.str.311 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.312 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [212 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 4 }, { ptr, i64 } { ptr @tn.str.213, i64 4 }, { ptr, i64 } { ptr @tn.str.214, i64 13 }, { ptr, i64 } { ptr @tn.str.215, i64 11 }, { ptr, i64 } { ptr @tn.str.216, i64 4 }, { ptr, i64 } { ptr @tn.str.217, i64 12 }, { ptr, i64 } { ptr @tn.str.218, i64 3 }, { ptr, i64 } { ptr @tn.str.219, i64 12 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 3 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 4 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 4 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 12 }, { ptr, i64 } { ptr @tn.str.253, i64 13 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 16 }, { ptr, i64 } { ptr @tn.str.258, i64 13 }, { ptr, i64 } { ptr @tn.str.259, i64 14 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 11 }, { ptr, i64 } { ptr @tn.str.267, i64 10 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 5 }, { ptr, i64 } { ptr @tn.str.270, i64 12 }, { ptr, i64 } { ptr @tn.str.271, i64 7 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 10 }, { ptr, i64 } { ptr @tn.str.274, i64 19 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 5 }, { ptr, i64 } { ptr @tn.str.277, i64 10 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 9 }, { ptr, i64 } { ptr @tn.str.280, i64 7 }, { ptr, i64 } { ptr @tn.str.281, i64 10 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 5 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 6 }, { ptr, i64 } { ptr @tn.str.288, i64 8 }, { ptr, i64 } { ptr @tn.str.289, i64 10 }, { ptr, i64 } { ptr @tn.str.290, i64 8 }, { ptr, i64 } { ptr @tn.str.291, i64 12 }, { ptr, i64 } { ptr @tn.str.292, i64 6 }, { ptr, i64 } { ptr @tn.str.293, i64 13 }, { ptr, i64 } { ptr @tn.str.294, i64 7 }, { ptr, i64 } { ptr @tn.str.295, i64 6 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 5 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 7 }, { ptr, i64 } { ptr @tn.str.300, i64 4 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 5 }, { ptr, i64 } { ptr @tn.str.303, i64 15 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 5 }, { ptr, i64 } { ptr @tn.str.306, i64 5 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 6 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }, { ptr, i64 } { ptr @tn.str.310, i64 9 }, { ptr, i64 } { ptr @tn.str.311, i64 15 }, { ptr, i64 } { ptr @tn.str.312, i64 8 }] -@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.317 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.318 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.319 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.320 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.321 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.323 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.324 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.325 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.329 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.331 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.332 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.333 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.334 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.335 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [8 x i8] c"[16]f32\00" +@tn.str.226 = private constant [5 x i8] c"Mat4\00" +@tn.str.227 = private constant [5 x i8] c"Vec2\00" +@tn.str.228 = private constant [14 x i8] c"Vector(3,f32)\00" +@tn.str.229 = private constant [12 x i8] c"Vec__3__f32\00" +@tn.str.230 = private constant [5 x i8] c"Vec3\00" +@tn.str.231 = private constant [13 x i8] c"Complex__u32\00" +@tn.str.232 = private constant [4 x i8] c"Foo\00" +@tn.str.233 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.234 = private constant [7 x i8] c"**void\00" +@tn.str.235 = private constant [6 x i8] c"*Vec3\00" +@tn.str.236 = private constant [8 x i8] c"*string\00" +@tn.str.237 = private constant [6 x i8] c"[]Any\00" +@tn.str.238 = private constant [5 x i8] c"*Any\00" +@tn.str.239 = private constant [7 x i8] c"[1]Any\00" +@tn.str.240 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.241 = private constant [7 x i8] c"*[]Any\00" +@tn.str.242 = private constant [4 x i8] c"*u8\00" +@tn.str.243 = private constant [6 x i8] c"*bool\00" +@tn.str.244 = private constant [5 x i8] c"*f32\00" +@tn.str.245 = private constant [15 x i8] c"*Vector(3,f32)\00" +@tn.str.246 = private constant [7 x i8] c"[5]f32\00" +@tn.str.247 = private constant [8 x i8] c"*[5]f32\00" +@tn.str.248 = private constant [5 x i8] c"*Foo\00" +@tn.str.249 = private constant [5 x i8] c"*f64\00" +@tn.str.250 = private constant [8 x i8] c"Sx__f32\00" +@tn.str.251 = private constant [9 x i8] c"*Sx__f32\00" +@tn.str.252 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.253 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.254 = private constant [11 x i8] c"*Allocator\00" +@tn.str.255 = private constant [9 x i8] c"*Context\00" +@tn.str.256 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.257 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.258 = private constant [8 x i8] c"*Member\00" +@tn.str.259 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.260 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.261 = private constant [9 x i8] c"*Command\00" +@tn.str.262 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.263 = private constant [7 x i8] c"*Event\00" +@tn.str.264 = private constant [8 x i8] c"*Config\00" +@tn.str.265 = private constant [6 x i8] c"*Conn\00" +@tn.str.266 = private constant [6 x i8] c"*Mat4\00" +@tn.str.267 = private constant [6 x i8] c"*Vec2\00" +@tn.str.268 = private constant [13 x i8] c"*Vec__3__f32\00" +@tn.str.269 = private constant [14 x i8] c"*Complex__u32\00" +@tn.str.270 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.271 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.272 = private constant [7 x i8] c"*Value\00" +@tn.str.273 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.274 = private constant [14 x i8] c"*Architecture\00" +@tn.str.275 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.276 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.277 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.278 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.279 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.280 = private constant [10 x i8] c"*[]string\00" +@tn.str.281 = private constant [6 x i8] c"*[]u8\00" +@tn.str.282 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.283 = private constant [11 x i8] c"*[]Command\00" +@tn.str.284 = private constant [9 x i8] c"*[]Event\00" +@tn.str.285 = private constant [6 x i8] c"**GPA\00" +@tn.str.286 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.287 = private constant [8 x i8] c"**Arena\00" +@tn.str.288 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.289 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.290 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.291 = private constant [7 x i8] c"**File\00" +@tn.str.292 = private constant [6 x i8] c"**i32\00" +@tn.str.293 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.294 = private constant [6 x i8] c"**u32\00" +@tn.str.295 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.296 = private constant [8 x i8] c"**Array\00" +@tn.str.297 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.298 = private constant [9 x i8] c"**Object\00" +@tn.str.299 = private constant [7 x i8] c"**Sink\00" +@tn.str.300 = private constant [9 x i8] c"**Parser\00" +@tn.str.301 = private constant [6 x i8] c"**i64\00" +@tn.str.302 = private constant [9 x i8] c"**Parsed\00" +@tn.str.303 = private constant [7 x i8] c"**Diag\00" +@tn.str.304 = private constant [9 x i8] c"**Sha256\00" +@tn.str.305 = private constant [11 x i8] c"**Timespec\00" +@tn.str.306 = private constant [9 x i8] c"**Kevent\00" +@tn.str.307 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.308 = private constant [7 x i8] c"**Loop\00" +@tn.str.309 = private constant [10 x i8] c"**Request\00" +@tn.str.310 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.311 = private constant [11 x i8] c"**Response\00" +@tn.str.312 = private constant [9 x i8] c"**Server\00" +@tn.str.313 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.314 = private constant [8 x i8] c"***void\00" +@tn.str.315 = private constant [7 x i8] c"**Vec3\00" +@tn.str.316 = private constant [9 x i8] c"**string\00" +@tn.str.317 = private constant [6 x i8] c"**Any\00" +@tn.str.318 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.319 = private constant [8 x i8] c"**[]Any\00" +@tn.str.320 = private constant [5 x i8] c"**u8\00" +@tn.str.321 = private constant [7 x i8] c"**bool\00" +@tn.str.322 = private constant [6 x i8] c"**f32\00" +@tn.str.323 = private constant [16 x i8] c"**Vector(3,f32)\00" +@tn.str.324 = private constant [9 x i8] c"**[5]f32\00" +@tn.str.325 = private constant [6 x i8] c"**Foo\00" +@tn.str.326 = private constant [6 x i8] c"**f64\00" +@tn.str.327 = private constant [10 x i8] c"**Sx__f32\00" +@tn.str.328 = private constant [7 x i8] c"*?File\00" +@tn.str.329 = private constant [9 x i8] c"*?string\00" +@tn.str.330 = private constant [10 x i8] c"*?cstring\00" +@tn.str.331 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.332 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [230 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 4 }, { ptr, i64 } { ptr @tn.str.228, i64 13 }, { ptr, i64 } { ptr @tn.str.229, i64 11 }, { ptr, i64 } { ptr @tn.str.230, i64 4 }, { ptr, i64 } { ptr @tn.str.231, i64 12 }, { ptr, i64 } { ptr @tn.str.232, i64 3 }, { ptr, i64 } { ptr @tn.str.233, i64 12 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 5 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 3 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 4 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 4 }, { ptr, i64 } { ptr @tn.str.249, i64 4 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 16 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 11 }, { ptr, i64 } { ptr @tn.str.257, i64 14 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 13 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 5 }, { ptr, i64 } { ptr @tn.str.268, i64 12 }, { ptr, i64 } { ptr @tn.str.269, i64 13 }, { ptr, i64 } { ptr @tn.str.270, i64 9 }, { ptr, i64 } { ptr @tn.str.271, i64 9 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 16 }, { ptr, i64 } { ptr @tn.str.274, i64 13 }, { ptr, i64 } { ptr @tn.str.275, i64 14 }, { ptr, i64 } { ptr @tn.str.276, i64 7 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 9 }, { ptr, i64 } { ptr @tn.str.281, i64 5 }, { ptr, i64 } { ptr @tn.str.282, i64 11 }, { ptr, i64 } { ptr @tn.str.283, i64 10 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 5 }, { ptr, i64 } { ptr @tn.str.286, i64 12 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 6 }, { ptr, i64 } { ptr @tn.str.289, i64 10 }, { ptr, i64 } { ptr @tn.str.290, i64 19 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 5 }, { ptr, i64 } { ptr @tn.str.293, i64 10 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 9 }, { ptr, i64 } { ptr @tn.str.296, i64 7 }, { ptr, i64 } { ptr @tn.str.297, i64 10 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 6 }, { ptr, i64 } { ptr @tn.str.300, i64 8 }, { ptr, i64 } { ptr @tn.str.301, i64 5 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 10 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 12 }, { ptr, i64 } { ptr @tn.str.308, i64 6 }, { ptr, i64 } { ptr @tn.str.309, i64 9 }, { ptr, i64 } { ptr @tn.str.310, i64 8 }, { ptr, i64 } { ptr @tn.str.311, i64 10 }, { ptr, i64 } { ptr @tn.str.312, i64 8 }, { ptr, i64 } { ptr @tn.str.313, i64 13 }, { ptr, i64 } { ptr @tn.str.314, i64 7 }, { ptr, i64 } { ptr @tn.str.315, i64 6 }, { ptr, i64 } { ptr @tn.str.316, i64 8 }, { ptr, i64 } { ptr @tn.str.317, i64 5 }, { ptr, i64 } { ptr @tn.str.318, i64 8 }, { ptr, i64 } { ptr @tn.str.319, i64 7 }, { ptr, i64 } { ptr @tn.str.320, i64 4 }, { ptr, i64 } { ptr @tn.str.321, i64 6 }, { ptr, i64 } { ptr @tn.str.322, i64 5 }, { ptr, i64 } { ptr @tn.str.323, i64 15 }, { ptr, i64 } { ptr @tn.str.324, i64 8 }, { ptr, i64 } { ptr @tn.str.325, i64 5 }, { ptr, i64 } { ptr @tn.str.326, i64 5 }, { ptr, i64 } { ptr @tn.str.327, i64 9 }, { ptr, i64 } { ptr @tn.str.328, i64 6 }, { ptr, i64 } { ptr @tn.str.329, i64 8 }, { ptr, i64 } { ptr @tn.str.330, i64 9 }, { ptr, i64 } { ptr @tn.str.331, i64 15 }, { ptr, i64 } { ptr @tn.str.332, i64 8 }] +@str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.334 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.335 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.337 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 -@str.338 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 +@str.337 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.338 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.339 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.340 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 -@str.341 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 -@str.342 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.343 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 -@str.344 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 -@str.345 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.346 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 -@str.347 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 -@str.348 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.349 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 -@str.350 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 -@str.351 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.352 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 -@str.353 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 -@str.354 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.355 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 -@str.356 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 -@str.357 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.358 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 -@str.359 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 -@str.360 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.361 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 -@str.362 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 -@str.363 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.364 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 -@str.365 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.366 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.367 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.368 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.369 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.370 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.371 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.340 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.341 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.342 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.343 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.344 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.345 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.346 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.348 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.349 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.350 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.351 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.352 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.354 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.355 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 +@str.356 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.357 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 +@str.358 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 +@str.359 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.360 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 +@str.361 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 +@str.362 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.363 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 +@str.364 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 +@str.365 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.366 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 +@str.367 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 +@str.368 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.369 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 +@str.370 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 +@str.371 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.372 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 +@str.373 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 +@str.374 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.375 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 +@str.376 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 +@str.377 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.378 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 +@str.379 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 +@str.380 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.381 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 +@str.382 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 +@str.383 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.384 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 +@str.385 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.386 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.387 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.388 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.389 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.390 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.391 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.394 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.375 = private constant [5 x i8] c"line\00" -@fld.str.376 = private constant [4 x i8] c"col\00" -@fld.str.377 = 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.375, i64 4 }, { ptr, i64 } { ptr @fld.str.376, i64 3 }, { ptr, i64 } { ptr @fld.str.377, i64 4 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.383 = private constant [4 x i8] c"ctx\00" -@fld.str.384 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.385 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.386 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 3 }, { ptr, i64 } { ptr @fld.str.384, i64 11 }, { ptr, i64 } { ptr @fld.str.385, i64 13 }] -@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.388 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.390 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.391 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.392 = private constant [10 x i8] c"allocator\00" -@fld.str.393 = private constant [5 x i8] c"data\00" -@field_names.394 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 9 }, { ptr, i64 } { ptr @fld.str.393, i64 4 }] -@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.396 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.397 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.398 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.399 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.400 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.402 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.403 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.404 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.405 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.406 = private constant [12 x i8] c"alloc_count\00" -@field_names.407 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 11 }] -@str.408 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.409 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.410 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.411 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.412 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.413 = private constant [5 x i8] c"next\00" -@fld.str.414 = private constant [4 x i8] c"cap\00" -@field_names.415 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.413, i64 4 }, { ptr, i64 } { ptr @fld.str.414, i64 3 }] -@str.416 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.417 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.418 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.420 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.421 = private constant [6 x i8] c"first\00" -@fld.str.422 = private constant [10 x i8] c"end_index\00" -@fld.str.423 = private constant [7 x i8] c"parent\00" -@field_names.424 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 5 }, { ptr, i64 } { ptr @fld.str.422, i64 9 }, { ptr, i64 } { ptr @fld.str.423, i64 6 }] -@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.426 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.427 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.428 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.429 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.430 = private constant [4 x i8] c"buf\00" -@fld.str.431 = private constant [4 x i8] c"len\00" -@fld.str.432 = private constant [4 x i8] c"pos\00" -@field_names.433 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 3 }, { ptr, i64 } { ptr @fld.str.432, i64 3 }] -@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.435 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.436 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.437 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.438 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.439 = private constant [7 x i8] c"parent\00" -@fld.str.440 = private constant [12 x i8] c"alloc_count\00" -@fld.str.441 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.442 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.443 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 6 }, { ptr, i64 } { ptr @fld.str.440, i64 11 }, { ptr, i64 } { ptr @fld.str.441, i64 13 }, { ptr, i64 } { ptr @fld.str.442, i64 17 }] -@str.444 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.445 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.446 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.447 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.448 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.449 = private constant [3 x i8] c"fd\00" -@field_names.450 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.449, i64 2 }] -@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.452 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.453 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.454 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.455 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.456 = private constant [5 x i8] c"file\00" -@fld.str.457 = private constant [5 x i8] c"line\00" -@fld.str.458 = private constant [4 x i8] c"col\00" -@fld.str.459 = private constant [5 x i8] c"func\00" -@fld.str.460 = private constant [10 x i8] c"line_text\00" -@field_names.461 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 4 }, { ptr, i64 } { ptr @fld.str.457, i64 4 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }, { ptr, i64 } { ptr @fld.str.459, i64 4 }, { ptr, i64 } { ptr @fld.str.460, i64 9 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [10 x i8] c"exit_code\00" -@fld.str.468 = private constant [7 x i8] c"stdout\00" -@field_names.469 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 9 }, { ptr, i64 } { ptr @fld.str.468, i64 6 }] -@str.470 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.471 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.472 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.473 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.474 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.475 = private constant [8 x i8] c"sin_len\00" -@fld.str.476 = private constant [11 x i8] c"sin_family\00" -@fld.str.477 = private constant [9 x i8] c"sin_port\00" -@fld.str.478 = private constant [9 x i8] c"sin_addr\00" -@fld.str.479 = private constant [9 x i8] c"sin_zero\00" -@field_names.480 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.475, i64 7 }, { ptr, i64 } { ptr @fld.str.476, i64 10 }, { ptr, i64 } { ptr @fld.str.477, i64 8 }, { ptr, i64 } { ptr @fld.str.478, i64 8 }, { ptr, i64 } { ptr @fld.str.479, i64 8 }] -@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.482 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.485 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.486 = private constant [6 x i8] c"items\00" -@fld.str.487 = private constant [4 x i8] c"len\00" -@fld.str.488 = private constant [4 x i8] c"cap\00" -@field_names.489 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.486, i64 5 }, { ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }] +@fld.str.395 = private constant [5 x i8] c"line\00" +@fld.str.396 = private constant [4 x i8] c"col\00" +@fld.str.397 = 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.395, i64 4 }, { ptr, i64 } { ptr @fld.str.396, i64 3 }, { ptr, i64 } { ptr @fld.str.397, i64 4 }] +@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.399 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.400 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.402 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.403 = private constant [4 x i8] c"ctx\00" +@fld.str.404 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.405 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.406 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.403, i64 3 }, { ptr, i64 } { ptr @fld.str.404, i64 11 }, { ptr, i64 } { ptr @fld.str.405, i64 13 }] +@str.407 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.408 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.410 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.411 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.412 = private constant [10 x i8] c"allocator\00" +@fld.str.413 = private constant [5 x i8] c"data\00" +@field_names.414 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 9 }, { ptr, i64 } { ptr @fld.str.413, i64 4 }] +@str.415 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.416 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.417 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.418 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.419 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.420 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.422 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.423 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.424 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.425 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.426 = private constant [12 x i8] c"alloc_count\00" +@field_names.427 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 11 }] +@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.429 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.430 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.431 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.432 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.433 = private constant [5 x i8] c"next\00" +@fld.str.434 = private constant [4 x i8] c"cap\00" +@field_names.435 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.433, i64 4 }, { ptr, i64 } { ptr @fld.str.434, i64 3 }] +@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.437 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.441 = private constant [6 x i8] c"first\00" +@fld.str.442 = private constant [10 x i8] c"end_index\00" +@fld.str.443 = private constant [7 x i8] c"parent\00" +@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 5 }, { ptr, i64 } { ptr @fld.str.442, i64 9 }, { ptr, i64 } { ptr @fld.str.443, i64 6 }] +@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.446 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.450 = private constant [4 x i8] c"buf\00" +@fld.str.451 = private constant [4 x i8] c"len\00" +@fld.str.452 = private constant [4 x i8] c"pos\00" +@field_names.453 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 3 }, { ptr, i64 } { ptr @fld.str.451, i64 3 }, { ptr, i64 } { ptr @fld.str.452, i64 3 }] +@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.455 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.459 = private constant [7 x i8] c"parent\00" +@fld.str.460 = private constant [12 x i8] c"alloc_count\00" +@fld.str.461 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.462 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.463 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 6 }, { ptr, i64 } { ptr @fld.str.460, i64 11 }, { ptr, i64 } { ptr @fld.str.461, i64 13 }, { ptr, i64 } { ptr @fld.str.462, i64 17 }] +@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.465 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.469 = private constant [3 x i8] c"fd\00" +@field_names.470 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 2 }] +@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.472 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.473 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.474 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.475 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.476 = private constant [5 x i8] c"file\00" +@fld.str.477 = private constant [5 x i8] c"line\00" +@fld.str.478 = private constant [4 x i8] c"col\00" +@fld.str.479 = private constant [5 x i8] c"func\00" +@fld.str.480 = private constant [10 x i8] c"line_text\00" +@field_names.481 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 4 }, { ptr, i64 } { ptr @fld.str.477, i64 4 }, { ptr, i64 } { ptr @fld.str.478, i64 3 }, { ptr, i64 } { ptr @fld.str.479, i64 4 }, { ptr, i64 } { ptr @fld.str.480, i64 9 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.487 = private constant [10 x i8] c"exit_code\00" +@fld.str.488 = private constant [7 x i8] c"stdout\00" +@field_names.489 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 9 }, { ptr, i64 } { ptr @fld.str.488, i64 6 }] @str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.491 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.495 = private constant [6 x i8] c"items\00" -@fld.str.496 = private constant [4 x i8] c"len\00" -@fld.str.497 = private constant [4 x i8] c"cap\00" -@field_names.498 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 5 }, { ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 3 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.504 = private constant [4 x i8] c"key\00" -@fld.str.505 = private constant [4 x i8] c"val\00" -@field_names.506 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 3 }] -@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.508 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.510 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.511 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.512 = private constant [4 x i8] c"dst\00" -@fld.str.513 = private constant [4 x i8] c"pos\00" -@fld.str.514 = private constant [5 x i8] c"file\00" -@field_names.515 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 3 }, { ptr, i64 } { ptr @fld.str.513, i64 3 }, { ptr, i64 } { ptr @fld.str.514, i64 4 }] -@str.516 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.517 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.518 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.519 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.520 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.521 = private constant [4 x i8] c"src\00" -@fld.str.522 = private constant [4 x i8] c"pos\00" -@fld.str.523 = private constant [6 x i8] c"alloc\00" -@field_names.524 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.521, i64 3 }, { ptr, i64 } { ptr @fld.str.522, i64 3 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }] -@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.526 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.527 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.529 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.530 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.531 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.532 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.533 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.534 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.535 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.536 = private constant [5 x i8] c"name\00" -@fld.str.537 = private constant [12 x i8] c"takes_value\00" -@fld.str.538 = private constant [9 x i8] c"required\00" -@field_names.539 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 11 }, { ptr, i64 } { ptr @fld.str.538, i64 8 }] -@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.541 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.545 = private constant [6 x i8] c"group\00" -@fld.str.546 = private constant [8 x i8] c"command\00" -@fld.str.547 = private constant [6 x i8] c"flags\00" -@field_names.548 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 5 }] -@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.554 = private constant [4 x i8] c"set\00" -@fld.str.555 = private constant [6 x i8] c"value\00" -@field_names.556 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 3 }, { ptr, i64 } { ptr @fld.str.555, i64 5 }] -@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.559 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.560 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.561 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.562 = private constant [6 x i8] c"index\00" -@fld.str.563 = private constant [6 x i8] c"token\00" -@field_names.564 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 5 }, { ptr, i64 } { ptr @fld.str.563, i64 5 }] -@str.565 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.566 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.567 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.568 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.569 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.570 = private constant [6 x i8] c"group\00" -@fld.str.571 = private constant [8 x i8] c"command\00" -@fld.str.572 = private constant [10 x i8] c"cmd_index\00" -@fld.str.573 = private constant [5 x i8] c"json\00" -@fld.str.574 = private constant [5 x i8] c"rest\00" -@fld.str.575 = private constant [5 x i8] c"spec\00" -@fld.str.576 = private constant [7 x i8] c"values\00" -@field_names.577 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 7 }, { ptr, i64 } { ptr @fld.str.572, i64 9 }, { ptr, i64 } { ptr @fld.str.573, i64 4 }, { ptr, i64 } { ptr @fld.str.574, i64 4 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }, { ptr, i64 } { ptr @fld.str.576, i64 6 }] -@str.578 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.579 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.580 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.581 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.582 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.583 = private constant [2 x i8] c"h\00" -@fld.str.584 = private constant [4 x i8] c"buf\00" -@fld.str.585 = private constant [8 x i8] c"buf_len\00" -@fld.str.586 = private constant [10 x i8] c"total_len\00" -@field_names.587 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 1 }, { ptr, i64 } { ptr @fld.str.584, i64 3 }, { ptr, i64 } { ptr @fld.str.585, i64 7 }, { ptr, i64 } { ptr @fld.str.586, i64 9 }] -@str.588 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.589 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.590 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.591 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.592 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.593 = private constant [4 x i8] c"sec\00" -@fld.str.594 = private constant [5 x i8] c"nsec\00" -@field_names.595 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 4 }] -@str.596 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.597 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.598 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.600 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.601 = private constant [6 x i8] c"ident\00" -@fld.str.602 = private constant [7 x i8] c"filter\00" -@fld.str.603 = private constant [6 x i8] c"flags\00" -@fld.str.604 = private constant [7 x i8] c"fflags\00" -@fld.str.605 = private constant [5 x i8] c"data\00" -@fld.str.606 = private constant [6 x i8] c"udata\00" -@field_names.607 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 5 }, { ptr, i64 } { ptr @fld.str.602, i64 6 }, { ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }, { ptr, i64 } { ptr @fld.str.605, i64 4 }, { ptr, i64 } { ptr @fld.str.606, i64 5 }] +@fld.str.495 = private constant [8 x i8] c"sin_len\00" +@fld.str.496 = private constant [11 x i8] c"sin_family\00" +@fld.str.497 = private constant [9 x i8] c"sin_port\00" +@fld.str.498 = private constant [9 x i8] c"sin_addr\00" +@fld.str.499 = private constant [9 x i8] c"sin_zero\00" +@field_names.500 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 7 }, { ptr, i64 } { ptr @fld.str.496, i64 10 }, { ptr, i64 } { ptr @fld.str.497, i64 8 }, { ptr, i64 } { ptr @fld.str.498, i64 8 }, { ptr, i64 } { ptr @fld.str.499, i64 8 }] +@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.502 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.506 = private constant [6 x i8] c"items\00" +@fld.str.507 = private constant [4 x i8] c"len\00" +@fld.str.508 = private constant [4 x i8] c"cap\00" +@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 3 }, { ptr, i64 } { ptr @fld.str.508, i64 3 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.515 = private constant [6 x i8] c"items\00" +@fld.str.516 = private constant [4 x i8] c"len\00" +@fld.str.517 = private constant [4 x i8] c"cap\00" +@field_names.518 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 5 }, { ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.524 = private constant [4 x i8] c"key\00" +@fld.str.525 = private constant [4 x i8] c"val\00" +@field_names.526 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 3 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }] +@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.528 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.530 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.531 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.532 = private constant [4 x i8] c"dst\00" +@fld.str.533 = private constant [4 x i8] c"pos\00" +@fld.str.534 = private constant [5 x i8] c"file\00" +@field_names.535 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 3 }, { ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 4 }] +@str.536 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.537 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.538 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.539 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.541 = private constant [4 x i8] c"src\00" +@fld.str.542 = private constant [4 x i8] c"pos\00" +@fld.str.543 = private constant [6 x i8] c"alloc\00" +@field_names.544 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 3 }, { ptr, i64 } { ptr @fld.str.543, i64 5 }] +@str.545 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.546 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.547 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.549 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.550 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.552 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.556 = private constant [5 x i8] c"name\00" +@fld.str.557 = private constant [12 x i8] c"takes_value\00" +@fld.str.558 = private constant [9 x i8] c"required\00" +@field_names.559 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 4 }, { ptr, i64 } { ptr @fld.str.557, i64 11 }, { ptr, i64 } { ptr @fld.str.558, i64 8 }] +@str.560 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.561 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.562 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.563 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.564 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.565 = private constant [6 x i8] c"group\00" +@fld.str.566 = private constant [8 x i8] c"command\00" +@fld.str.567 = private constant [6 x i8] c"flags\00" +@field_names.568 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 7 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }] +@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.570 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.574 = private constant [4 x i8] c"set\00" +@fld.str.575 = private constant [6 x i8] c"value\00" +@field_names.576 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 5 }] +@str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.578 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.582 = private constant [6 x i8] c"index\00" +@fld.str.583 = private constant [6 x i8] c"token\00" +@field_names.584 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 5 }] +@str.585 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.586 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.587 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.588 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.589 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.590 = private constant [6 x i8] c"group\00" +@fld.str.591 = private constant [8 x i8] c"command\00" +@fld.str.592 = private constant [10 x i8] c"cmd_index\00" +@fld.str.593 = private constant [5 x i8] c"json\00" +@fld.str.594 = private constant [5 x i8] c"rest\00" +@fld.str.595 = private constant [5 x i8] c"spec\00" +@fld.str.596 = private constant [7 x i8] c"values\00" +@field_names.597 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 7 }, { ptr, i64 } { ptr @fld.str.592, i64 9 }, { ptr, i64 } { ptr @fld.str.593, i64 4 }, { ptr, i64 } { ptr @fld.str.594, i64 4 }, { ptr, i64 } { ptr @fld.str.595, i64 4 }, { ptr, i64 } { ptr @fld.str.596, i64 6 }] +@str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.599 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.601 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.602 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.603 = private constant [2 x i8] c"h\00" +@fld.str.604 = private constant [4 x i8] c"buf\00" +@fld.str.605 = private constant [8 x i8] c"buf_len\00" +@fld.str.606 = private constant [10 x i8] c"total_len\00" +@field_names.607 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 1 }, { ptr, i64 } { ptr @fld.str.604, i64 3 }, { ptr, i64 } { ptr @fld.str.605, i64 7 }, { ptr, i64 } { ptr @fld.str.606, i64 9 }] @str.608 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.609 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.609 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.610 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.611 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.612 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -548,295 +548,391 @@ @fld.str.614 = private constant [5 x i8] c"nsec\00" @field_names.615 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 3 }, { ptr, i64 } { ptr @fld.str.614, i64 4 }] @str.616 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.617 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.617 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.618 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.619 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.620 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.621 = private constant [3 x i8] c"fd\00" -@fld.str.622 = private constant [6 x i8] c"udata\00" -@fld.str.623 = private constant [9 x i8] c"readable\00" -@fld.str.624 = private constant [9 x i8] c"writable\00" -@fld.str.625 = private constant [4 x i8] c"eof\00" -@fld.str.626 = private constant [4 x i8] c"err\00" -@fld.str.627 = private constant [7 x i8] c"nbytes\00" -@field_names.628 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.621, i64 2 }, { ptr, i64 } { ptr @fld.str.622, i64 5 }, { ptr, i64 } { ptr @fld.str.623, i64 8 }, { ptr, i64 } { ptr @fld.str.624, i64 8 }, { ptr, i64 } { ptr @fld.str.625, i64 3 }, { ptr, i64 } { ptr @fld.str.626, i64 3 }, { ptr, i64 } { ptr @fld.str.627, i64 6 }] -@str.629 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.630 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.633 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.634 = private constant [3 x i8] c"kq\00" -@field_names.635 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.634, i64 2 }] +@fld.str.621 = private constant [6 x i8] c"ident\00" +@fld.str.622 = private constant [7 x i8] c"filter\00" +@fld.str.623 = private constant [6 x i8] c"flags\00" +@fld.str.624 = private constant [7 x i8] c"fflags\00" +@fld.str.625 = private constant [5 x i8] c"data\00" +@fld.str.626 = private constant [6 x i8] c"udata\00" +@field_names.627 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.621, i64 5 }, { ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 5 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 4 }, { ptr, i64 } { ptr @fld.str.626, i64 5 }] +@str.628 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.629 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.630 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.631 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.633 = private constant [4 x i8] c"sec\00" +@fld.str.634 = private constant [5 x i8] c"nsec\00" +@field_names.635 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.633, i64 3 }, { ptr, i64 } { ptr @fld.str.634, i64 4 }] @str.636 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.637 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 +@str.637 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.638 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.639 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.641 = private constant [5 x i8] c"data\00" -@field_names.642 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 4 }] -@str.643 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.644 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.648 = private constant [2 x i8] c"x\00" -@fld.str.649 = private constant [2 x i8] c"y\00" -@field_names.650 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.648, i64 1 }, { ptr, i64 } { ptr @fld.str.649, i64 1 }] -@str.651 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.652 = private unnamed_addr constant [12 x i8] c"Vec__3__f32\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.656 = private constant [5 x i8] c"data\00" -@field_names.657 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.656, i64 4 }] -@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.659 = private unnamed_addr constant [5 x i8] c"Vec3\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.663 = private constant [5 x i8] c"data\00" -@field_names.664 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 4 }] -@str.665 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.666 = private unnamed_addr constant [13 x i8] c"Complex__u32\00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.669 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.670 = private constant [6 x i8] c"value\00" -@fld.str.671 = private constant [6 x i8] c"count\00" -@field_names.672 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 5 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }] -@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.674 = private unnamed_addr constant [4 x i8] c"Foo\00", align 1 -@str.675 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.676 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.677 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.678 = private constant [6 x i8] c"value\00" -@fld.str.679 = private constant [6 x i8] c"count\00" -@field_names.680 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 5 }] +@fld.str.641 = private constant [3 x i8] c"fd\00" +@fld.str.642 = private constant [6 x i8] c"udata\00" +@fld.str.643 = private constant [9 x i8] c"readable\00" +@fld.str.644 = private constant [9 x i8] c"writable\00" +@fld.str.645 = private constant [4 x i8] c"eof\00" +@fld.str.646 = private constant [4 x i8] c"err\00" +@fld.str.647 = private constant [7 x i8] c"nbytes\00" +@field_names.648 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 2 }, { ptr, i64 } { ptr @fld.str.642, i64 5 }, { ptr, i64 } { ptr @fld.str.643, i64 8 }, { ptr, i64 } { ptr @fld.str.644, i64 8 }, { ptr, i64 } { ptr @fld.str.645, i64 3 }, { ptr, i64 } { ptr @fld.str.646, i64 3 }, { ptr, i64 } { ptr @fld.str.647, i64 6 }] +@str.649 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.650 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.651 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.652 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.654 = private constant [3 x i8] c"kq\00" +@field_names.655 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.654, i64 2 }] +@str.656 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.657 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.661 = private constant [5 x i8] c"port\00" +@fld.str.662 = private constant [8 x i8] c"backlog\00" +@fld.str.663 = private constant [9 x i8] c"max_conn\00" +@fld.str.664 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.665 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.666 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.667 = private constant [14 x i8] c"request_count\00" +@field_names.668 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.661, i64 4 }, { ptr, i64 } { ptr @fld.str.662, i64 7 }, { ptr, i64 } { ptr @fld.str.663, i64 8 }, { ptr, i64 } { ptr @fld.str.664, i64 12 }, { ptr, i64 } { ptr @fld.str.665, i64 18 }, { ptr, i64 } { ptr @fld.str.666, i64 20 }, { ptr, i64 } { ptr @fld.str.667, i64 13 }] +@str.669 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.670 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.671 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.672 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.673 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.674 = private constant [7 x i8] c"method\00" +@fld.str.675 = private constant [5 x i8] c"path\00" +@fld.str.676 = private constant [8 x i8] c"version\00" +@fld.str.677 = private constant [12 x i8] c"headers_raw\00" +@fld.str.678 = private constant [5 x i8] c"body\00" +@fld.str.679 = private constant [11 x i8] c"keep_alive\00" +@field_names.680 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.674, i64 6 }, { ptr, i64 } { ptr @fld.str.675, i64 4 }, { ptr, i64 } { ptr @fld.str.676, i64 7 }, { ptr, i64 } { ptr @fld.str.677, i64 11 }, { ptr, i64 } { ptr @fld.str.678, i64 4 }, { ptr, i64 } { ptr @fld.str.679, i64 10 }] @str.681 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.682 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.683 = private constant [5 x i8] c"read\00" -@fld.str.684 = private constant [6 x i8] c"write\00" -@fld.str.685 = private constant [7 x i8] c"append\00" -@fld.str.686 = private constant [11 x i8] c"read_write\00" -@field_names.687 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.683, i64 4 }, { ptr, i64 } { ptr @fld.str.684, i64 5 }, { ptr, i64 } { ptr @fld.str.685, i64 6 }, { ptr, i64 } { ptr @fld.str.686, i64 10 }] -@str.688 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.689 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.690 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.691 = private constant [4 x i8] c"set\00" -@fld.str.692 = private constant [8 x i8] c"current\00" -@fld.str.693 = private constant [4 x i8] c"end\00" -@field_names.694 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.691, i64 3 }, { ptr, i64 } { ptr @fld.str.692, i64 7 }, { ptr, i64 } { ptr @fld.str.693, i64 3 }] -@str.695 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.697 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.698 = private constant [6 x i8] c"null_\00" -@fld.str.699 = private constant [6 x i8] c"bool_\00" -@fld.str.700 = private constant [5 x i8] c"int_\00" -@fld.str.701 = private constant [4 x i8] c"str\00" -@fld.str.702 = private constant [6 x i8] c"array\00" -@fld.str.703 = private constant [7 x i8] c"object\00" -@field_names.704 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.698, i64 5 }, { ptr, i64 } { ptr @fld.str.699, i64 5 }, { ptr, i64 } { ptr @fld.str.700, i64 4 }, { ptr, i64 } { ptr @fld.str.701, i64 3 }, { ptr, i64 } { ptr @fld.str.702, i64 5 }, { ptr, i64 } { ptr @fld.str.703, i64 6 }] -@str.705 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.706 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.707 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.708 = private constant [6 x i8] c"macos\00" -@fld.str.709 = private constant [6 x i8] c"linux\00" -@fld.str.710 = private constant [8 x i8] c"windows\00" -@fld.str.711 = private constant [5 x i8] c"wasm\00" -@fld.str.712 = private constant [4 x i8] c"ios\00" -@fld.str.713 = private constant [8 x i8] c"android\00" -@fld.str.714 = private constant [8 x i8] c"unknown\00" -@field_names.715 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.708, i64 5 }, { ptr, i64 } { ptr @fld.str.709, i64 5 }, { ptr, i64 } { ptr @fld.str.710, i64 7 }, { ptr, i64 } { ptr @fld.str.711, i64 4 }, { ptr, i64 } { ptr @fld.str.712, i64 3 }, { ptr, i64 } { ptr @fld.str.713, i64 7 }, { ptr, i64 } { ptr @fld.str.714, i64 7 }] -@str.716 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.719 = private constant [8 x i8] c"aarch64\00" -@fld.str.720 = private constant [7 x i8] c"x86_64\00" -@fld.str.721 = private constant [7 x i8] c"wasm32\00" -@fld.str.722 = private constant [7 x i8] c"wasm64\00" -@fld.str.723 = private constant [8 x i8] c"unknown\00" -@field_names.724 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.719, i64 7 }, { ptr, i64 } { ptr @fld.str.720, i64 6 }, { ptr, i64 } { ptr @fld.str.721, i64 6 }, { ptr, i64 } { ptr @fld.str.722, i64 6 }, { ptr, i64 } { ptr @fld.str.723, i64 7 }] -@str.725 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.728 = private constant [8 x i8] c"counter\00" -@fld.str.729 = private constant [5 x i8] c"user\00" -@field_names.730 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.728, i64 7 }, { ptr, i64 } { ptr @fld.str.729, i64 4 }] -@str.731 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.732 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.733 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.734 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.736 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.737 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.739 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.740 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.742 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.743 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.745 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.746 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.747 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.748 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.749 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.750 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.751 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.752 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.682 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.685 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.686 = private constant [7 x i8] c"status\00" +@fld.str.687 = private constant [13 x i8] c"content_type\00" +@fld.str.688 = private constant [14 x i8] c"extra_headers\00" +@fld.str.689 = private constant [5 x i8] c"body\00" +@field_names.690 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.686, i64 6 }, { ptr, i64 } { ptr @fld.str.687, i64 12 }, { ptr, i64 } { ptr @fld.str.688, i64 13 }, { ptr, i64 } { ptr @fld.str.689, i64 4 }] +@str.691 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.692 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.694 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.695 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.696 = private constant [3 x i8] c"fd\00" +@fld.str.697 = private constant [6 x i8] c"state\00" +@fld.str.698 = private constant [9 x i8] c"read_buf\00" +@fld.str.699 = private constant [9 x i8] c"read_len\00" +@fld.str.700 = private constant [8 x i8] c"out_buf\00" +@fld.str.701 = private constant [8 x i8] c"out_len\00" +@fld.str.702 = private constant [9 x i8] c"out_sent\00" +@fld.str.703 = private constant [9 x i8] c"deadline\00" +@fld.str.704 = private constant [7 x i8] c"served\00" +@fld.str.705 = private constant [12 x i8] c"close_after\00" +@fld.str.706 = private constant [12 x i8] c"write_armed\00" +@field_names.707 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.696, i64 2 }, { ptr, i64 } { ptr @fld.str.697, i64 5 }, { ptr, i64 } { ptr @fld.str.698, i64 8 }, { ptr, i64 } { ptr @fld.str.699, i64 8 }, { ptr, i64 } { ptr @fld.str.700, i64 7 }, { ptr, i64 } { ptr @fld.str.701, i64 7 }, { ptr, i64 } { ptr @fld.str.702, i64 8 }, { ptr, i64 } { ptr @fld.str.703, i64 8 }, { ptr, i64 } { ptr @fld.str.704, i64 6 }, { ptr, i64 } { ptr @fld.str.705, i64 11 }, { ptr, i64 } { ptr @fld.str.706, i64 11 }] +@str.708 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.709 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.710 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.712 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.713 = private constant [4 x i8] c"cfg\00" +@fld.str.714 = private constant [5 x i8] c"loop\00" +@fld.str.715 = private constant [4 x i8] c"lfd\00" +@fld.str.716 = private constant [6 x i8] c"conns\00" +@fld.str.717 = private constant [10 x i8] c"own_alloc\00" +@fld.str.718 = private constant [8 x i8] c"handler\00" +@field_names.719 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.713, i64 3 }, { ptr, i64 } { ptr @fld.str.714, i64 4 }, { ptr, i64 } { ptr @fld.str.715, i64 3 }, { ptr, i64 } { ptr @fld.str.716, i64 5 }, { ptr, i64 } { ptr @fld.str.717, i64 9 }, { ptr, i64 } { ptr @fld.str.718, i64 7 }] +@str.720 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.721 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.725 = private constant [5 x i8] c"data\00" +@field_names.726 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.725, i64 4 }] +@str.727 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.728 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.732 = private constant [2 x i8] c"x\00" +@fld.str.733 = private constant [2 x i8] c"y\00" +@field_names.734 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.732, i64 1 }, { ptr, i64 } { ptr @fld.str.733, i64 1 }] +@str.735 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.736 = private unnamed_addr constant [12 x i8] c"Vec__3__f32\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.740 = private constant [5 x i8] c"data\00" +@field_names.741 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.740, i64 4 }] +@str.742 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.743 = private unnamed_addr constant [5 x i8] c"Vec3\00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.746 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.747 = private constant [5 x i8] c"data\00" +@field_names.748 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.747, i64 4 }] +@str.749 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.750 = private unnamed_addr constant [13 x i8] c"Complex__u32\00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.753 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.756 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.757 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.758 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.759 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.760 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.761 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.762 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.763 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.764 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.765 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.766 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.767 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.768 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.769 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.770 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.771 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.772 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.773 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.774 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.775 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.776 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.777 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.785 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.791 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.794 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.797 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.800 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.803 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.806 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.809 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.812 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.815 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.818 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.821 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.824 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.827 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.830 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.833 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.836 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.839 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.842 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.845 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.848 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.851 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.854 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.857 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.860 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.754 = private constant [6 x i8] c"value\00" +@fld.str.755 = private constant [6 x i8] c"count\00" +@field_names.756 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.754, i64 5 }, { ptr, i64 } { ptr @fld.str.755, i64 5 }] +@str.757 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.758 = private unnamed_addr constant [4 x i8] c"Foo\00", align 1 +@str.759 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.760 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.761 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.762 = private constant [6 x i8] c"value\00" +@fld.str.763 = private constant [6 x i8] c"count\00" +@field_names.764 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.762, i64 5 }, { ptr, i64 } { ptr @fld.str.763, i64 5 }] +@str.765 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.766 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.767 = private constant [5 x i8] c"read\00" +@fld.str.768 = private constant [6 x i8] c"write\00" +@fld.str.769 = private constant [7 x i8] c"append\00" +@fld.str.770 = private constant [11 x i8] c"read_write\00" +@field_names.771 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.767, i64 4 }, { ptr, i64 } { ptr @fld.str.768, i64 5 }, { ptr, i64 } { ptr @fld.str.769, i64 6 }, { ptr, i64 } { ptr @fld.str.770, i64 10 }] +@str.772 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.773 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.774 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.775 = private constant [4 x i8] c"set\00" +@fld.str.776 = private constant [8 x i8] c"current\00" +@fld.str.777 = private constant [4 x i8] c"end\00" +@field_names.778 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.775, i64 3 }, { ptr, i64 } { ptr @fld.str.776, i64 7 }, { ptr, i64 } { ptr @fld.str.777, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.782 = private constant [6 x i8] c"null_\00" +@fld.str.783 = private constant [6 x i8] c"bool_\00" +@fld.str.784 = private constant [5 x i8] c"int_\00" +@fld.str.785 = private constant [4 x i8] c"str\00" +@fld.str.786 = private constant [6 x i8] c"array\00" +@fld.str.787 = private constant [7 x i8] c"object\00" +@field_names.788 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 5 }, { ptr, i64 } { ptr @fld.str.783, i64 5 }, { ptr, i64 } { ptr @fld.str.784, i64 4 }, { ptr, i64 } { ptr @fld.str.785, i64 3 }, { ptr, i64 } { ptr @fld.str.786, i64 5 }, { ptr, i64 } { ptr @fld.str.787, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.792 = private constant [6 x i8] c"macos\00" +@fld.str.793 = private constant [6 x i8] c"linux\00" +@fld.str.794 = private constant [8 x i8] c"windows\00" +@fld.str.795 = private constant [5 x i8] c"wasm\00" +@fld.str.796 = private constant [4 x i8] c"ios\00" +@fld.str.797 = private constant [8 x i8] c"android\00" +@fld.str.798 = private constant [8 x i8] c"unknown\00" +@field_names.799 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.792, i64 5 }, { ptr, i64 } { ptr @fld.str.793, i64 5 }, { ptr, i64 } { ptr @fld.str.794, i64 7 }, { ptr, i64 } { ptr @fld.str.795, i64 4 }, { ptr, i64 } { ptr @fld.str.796, i64 3 }, { ptr, i64 } { ptr @fld.str.797, i64 7 }, { ptr, i64 } { ptr @fld.str.798, i64 7 }] +@str.800 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.801 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.803 = private constant [8 x i8] c"aarch64\00" +@fld.str.804 = private constant [7 x i8] c"x86_64\00" +@fld.str.805 = private constant [7 x i8] c"wasm32\00" +@fld.str.806 = private constant [7 x i8] c"wasm64\00" +@fld.str.807 = private constant [8 x i8] c"unknown\00" +@field_names.808 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.803, i64 7 }, { ptr, i64 } { ptr @fld.str.804, i64 6 }, { ptr, i64 } { ptr @fld.str.805, i64 6 }, { ptr, i64 } { ptr @fld.str.806, i64 6 }, { ptr, i64 } { ptr @fld.str.807, i64 7 }] +@str.809 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.810 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.812 = private constant [8 x i8] c"counter\00" +@fld.str.813 = private constant [5 x i8] c"user\00" +@field_names.814 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.812, i64 7 }, { ptr, i64 } { ptr @fld.str.813, i64 4 }] +@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 [2 x i8] c"[\00", align 1 +@str.818 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.819 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.820 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.821 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.822 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.823 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.824 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.825 = private unnamed_addr constant [3 x i8] c", \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 +@str.829 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.830 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.831 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.832 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.833 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.834 = private unnamed_addr constant [3 x i8] c", \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 +@str.838 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.839 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.840 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.841 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.842 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.843 = private unnamed_addr constant [3 x i8] c", \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 +@str.847 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.848 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.849 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.850 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.851 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.852 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.855 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.856 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.857 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.858 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.859 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.860 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.861 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.863 = private unnamed_addr constant [6 x i8] c"*Vec3\00", align 1 +@str.863 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.866 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.866 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.869 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.872 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.872 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.875 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.875 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.876 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.878 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.878 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.879 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.881 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.881 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.882 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.884 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.884 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.885 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.886 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.887 = private unnamed_addr constant [15 x i8] c"*Vector(3,f32)\00", align 1 +@str.887 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.888 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.889 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.890 = private unnamed_addr constant [8 x i8] c"*[5]f32\00", align 1 +@str.890 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.891 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.892 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.893 = private unnamed_addr constant [5 x i8] c"*Foo\00", align 1 +@str.893 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.894 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.895 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.896 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.896 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.897 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.898 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.899 = private unnamed_addr constant [9 x i8] c"*Sx__f32\00", align 1 +@str.899 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.900 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.901 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.902 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.903 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.902 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.903 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.904 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.905 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.905 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.906 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.907 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.908 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.909 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.910 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.911 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.912 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.913 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.914 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.915 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.917 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.918 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.919 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.920 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.921 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.922 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.923 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.924 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.925 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.926 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.927 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.928 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.929 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.930 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.931 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.932 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.933 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.934 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.935 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.936 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.938 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.939 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.940 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.941 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.942 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.943 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.944 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.945 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.946 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.947 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.948 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.949 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.950 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.951 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.952 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.953 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.954 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.955 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.956 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.957 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.958 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.959 = private unnamed_addr constant [6 x i8] c"*Vec3\00", align 1 +@str.960 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.961 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.962 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.963 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.964 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.965 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.966 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.967 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.968 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.969 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.970 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.971 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.972 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.973 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.974 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.975 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.976 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.977 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.978 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.979 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.980 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.981 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.982 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.983 = private unnamed_addr constant [15 x i8] c"*Vector(3,f32)\00", align 1 +@str.984 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.985 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.986 = private unnamed_addr constant [8 x i8] c"*[5]f32\00", align 1 +@str.987 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.988 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.989 = private unnamed_addr constant [5 x i8] c"*Foo\00", align 1 +@str.990 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.991 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.992 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.993 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.994 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.995 = private unnamed_addr constant [9 x i8] c"*Sx__f32\00", align 1 +@str.996 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.997 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.998 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.999 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1000 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1001 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1274,38 +1370,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.476 + br label %while.hdr.510 -while.hdr.476: ; preds = %if.merge.481, %entry +while.hdr.510: ; preds = %if.merge.515, %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.477, label %while.exit.478 + br i1 %icmp, label %while.body.511, label %while.exit.512 -while.body.477: ; preds = %while.hdr.476 +while.body.511: ; preds = %while.hdr.510 %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.479, label %if.else.480 + br i1 %icmpN, label %if.then.513, label %if.else.514 -while.exit.478: ; preds = %while.hdr.476 +while.exit.512: ; preds = %while.hdr.510 ret void -if.then.479: ; preds = %while.body.477 +if.then.513: ; preds = %while.body.511 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.481 + br label %if.merge.515 -if.else.480: ; preds = %while.body.477 +if.else.514: ; preds = %while.body.511 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.481 + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi i64 [ %addN, %if.then.479 ], [ %addN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi i64 [ %addN, %if.then.513 ], [ %addN, %if.else.514 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1318,7 +1414,7 @@ if.merge.481: ; preds = %if.else.480, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.476 + br label %while.hdr.510 } ; Function Attrs: nounwind @@ -1431,12 +1527,12 @@ entry: 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.474, label %if.merge.475 + br i1 %icmp, label %if.then.508, label %if.merge.509 -if.then.474: ; preds = %entry +if.then.508: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.475: ; preds = %entry +if.merge.509: ; 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 @@ -1459,14 +1555,14 @@ if.merge.475: ; preds = %entry %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.482 + br label %while.hdr.516 -while.hdr.482: ; preds = %if.merge.486, %if.merge.475 +while.hdr.516: ; preds = %if.merge.520, %if.merge.509 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.483, label %while.exit.484 + br i1 %icmpN, label %while.body.517, label %while.exit.518 -while.body.483: ; preds = %while.hdr.482 +while.body.517: ; preds = %while.hdr.516 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1474,9 +1570,9 @@ while.body.483: ; preds = %while.hdr.482 %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.485, label %if.merge.486 + br i1 %icmpN, label %if.then.519, label %if.merge.520 -while.exit.484: ; preds = %if.then.485, %while.hdr.482 +while.exit.518: ; preds = %if.then.519, %while.hdr.516 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1484,14 +1580,14 @@ while.exit.484: ; preds = %if.then.485, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.485: ; preds = %while.body.483 - br label %while.exit.484 +if.then.519: ; preds = %while.body.517 + br label %while.exit.518 -if.merge.486: ; preds = %while.body.483 +if.merge.520: ; preds = %while.body.517 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.482 + br label %while.hdr.516 } ; Function Attrs: nounwind @@ -1642,36 +1738,42 @@ entry: i64 105, label %match.arm.43 i64 111, label %match.arm.43 i64 112, label %match.arm.43 - i64 114, label %match.arm.43 + i64 113, label %match.arm.43 i64 115, label %match.arm.43 - i64 116, label %match.arm.43 - i64 117, label %match.arm.43 + i64 119, label %match.arm.43 + i64 123, label %match.arm.43 + i64 124, label %match.arm.43 + i64 126, label %match.arm.43 + i64 127, label %match.arm.43 + i64 128, label %match.arm.43 + i64 129, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 i64 74, label %match.arm.44 i64 75, label %match.arm.44 - i64 135, label %match.arm.44 + i64 147, label %match.arm.44 i64 52, label %match.arm.45 i64 55, label %match.arm.45 i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 - i64 113, label %match.arm.46 + i64 110, label %match.arm.45 + i64 125, label %match.arm.46 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 110, label %match.arm.47 - i64 124, label %match.arm.47 - i64 131, label %match.arm.47 + i64 122, label %match.arm.47 + i64 136, label %match.arm.47 + i64 143, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 122, label %match.arm.48 + i64 134, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1698,21 +1800,25 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 114, label %match.arm.49 + i64 116, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 - i64 123, label %match.arm.49 - i64 125, label %match.arm.49 - i64 126, label %match.arm.49 - i64 127, label %match.arm.49 - i64 128, label %match.arm.49 - i64 129, label %match.arm.49 i64 130, label %match.arm.49 + i64 131, label %match.arm.49 i64 132, label %match.arm.49 i64 133, label %match.arm.49 - i64 134, label %match.arm.49 - i64 136, label %match.arm.49 + i64 135, label %match.arm.49 + i64 137, label %match.arm.49 + i64 138, label %match.arm.49 + i64 139, label %match.arm.49 + i64 140, label %match.arm.49 + i64 141, label %match.arm.49 + i64 142, label %match.arm.49 + i64 144, label %match.arm.49 + i64 145, label %match.arm.49 + i64 146, label %match.arm.49 + i64 148, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1721,7 +1827,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.607, %dispatch.merge.428, %dispatch.merge.390, %dispatch.merge.340, %dispatch.merge.332, %dispatch.merge.312, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.653, %dispatch.merge.458, %dispatch.merge.420, %dispatch.merge.370, %dispatch.merge.362, %dispatch.merge.342, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1735,7 +1841,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [212 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [230 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1763,7 +1869,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1800,33 +1906,38 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 105, label %dispatch.case.125 i64 111, label %dispatch.case.126 i64 112, label %dispatch.case.127 - i64 114, label %dispatch.case.128 + i64 113, label %dispatch.case.128 i64 115, label %dispatch.case.129 - i64 116, label %dispatch.case.130 - i64 117, label %dispatch.case.131 + i64 119, label %dispatch.case.130 + i64 123, label %dispatch.case.131 + i64 124, label %dispatch.case.132 + i64 126, label %dispatch.case.133 + i64 127, label %dispatch.case.134 + i64 128, label %dispatch.case.135 + i64 129, label %dispatch.case.136 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.313 [ - i64 38, label %dispatch.case.314 - i64 39, label %dispatch.case.315 - i64 58, label %dispatch.case.316 - i64 74, label %dispatch.case.317 - i64 75, label %dispatch.case.318 - i64 135, label %dispatch.case.319 + switch i64 %ua.raw20, label %dispatch.default.343 [ + i64 38, label %dispatch.case.344 + i64 39, label %dispatch.case.345 + i64 58, label %dispatch.case.346 + i64 74, label %dispatch.case.347 + i64 75, label %dispatch.case.348 + i64 147, label %dispatch.case.349 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1835,96 +1946,100 @@ match.arm.46: ; preds = %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.333 [ - i64 113, label %dispatch.case.334 + switch i64 %ua.raw29, label %dispatch.default.363 [ + i64 125, label %dispatch.case.364 ] match.arm.47: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.341 [ - i64 23, label %dispatch.case.342 - i64 85, label %dispatch.case.343 - i64 91, label %dispatch.case.344 - i64 92, label %dispatch.case.345 - i64 96, label %dispatch.case.346 - i64 110, label %dispatch.case.347 - i64 124, label %dispatch.case.348 - i64 131, label %dispatch.case.349 + switch i64 %ua.raw33, label %dispatch.default.371 [ + i64 23, label %dispatch.case.372 + i64 85, label %dispatch.case.373 + i64 91, label %dispatch.case.374 + i64 92, label %dispatch.case.375 + i64 96, label %dispatch.case.376 + i64 122, label %dispatch.case.377 + i64 136, label %dispatch.case.378 + i64 143, label %dispatch.case.379 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.391 [ - i64 24, label %dispatch.case.392 - i64 64, label %dispatch.case.393 - i64 81, label %dispatch.case.394 - i64 89, label %dispatch.case.395 - i64 109, label %dispatch.case.396 - i64 122, label %dispatch.case.397 + switch i64 %ua.raw37, label %dispatch.default.421 [ + i64 24, label %dispatch.case.422 + i64 64, label %dispatch.case.423 + i64 81, label %dispatch.case.424 + i64 89, label %dispatch.case.425 + i64 109, label %dispatch.case.426 + i64 134, label %dispatch.case.427 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.429 [ - i64 19, label %dispatch.case.430 - i64 26, label %dispatch.case.431 - i64 28, label %dispatch.case.432 - i64 30, label %dispatch.case.433 - i64 32, label %dispatch.case.434 - i64 33, label %dispatch.case.435 - i64 35, label %dispatch.case.436 - i64 37, label %dispatch.case.437 - i64 41, label %dispatch.case.438 - i64 48, label %dispatch.case.439 - i64 50, label %dispatch.case.440 - i64 51, label %dispatch.case.441 - i64 60, label %dispatch.case.442 - i64 61, label %dispatch.case.443 - i64 62, label %dispatch.case.444 - i64 63, label %dispatch.case.445 - i64 66, label %dispatch.case.446 - i64 71, label %dispatch.case.447 - i64 78, label %dispatch.case.448 - i64 87, label %dispatch.case.449 - i64 90, label %dispatch.case.450 - i64 94, label %dispatch.case.451 - i64 98, label %dispatch.case.452 - i64 101, label %dispatch.case.453 - i64 102, label %dispatch.case.454 - i64 107, label %dispatch.case.455 - i64 118, label %dispatch.case.456 - i64 119, label %dispatch.case.457 - i64 120, label %dispatch.case.458 - i64 121, label %dispatch.case.459 - i64 123, label %dispatch.case.460 - i64 125, label %dispatch.case.461 - i64 126, label %dispatch.case.462 - i64 127, label %dispatch.case.463 - i64 128, label %dispatch.case.464 - i64 129, label %dispatch.case.465 - i64 130, label %dispatch.case.466 - i64 132, label %dispatch.case.467 - i64 133, label %dispatch.case.468 - i64 134, label %dispatch.case.469 - i64 136, label %dispatch.case.470 + switch i64 %ua.raw41, label %dispatch.default.459 [ + i64 19, label %dispatch.case.460 + i64 26, label %dispatch.case.461 + i64 28, label %dispatch.case.462 + i64 30, label %dispatch.case.463 + i64 32, label %dispatch.case.464 + i64 33, label %dispatch.case.465 + i64 35, label %dispatch.case.466 + i64 37, label %dispatch.case.467 + i64 41, label %dispatch.case.468 + i64 48, label %dispatch.case.469 + i64 50, label %dispatch.case.470 + i64 51, label %dispatch.case.471 + i64 60, label %dispatch.case.472 + i64 61, label %dispatch.case.473 + i64 62, label %dispatch.case.474 + i64 63, label %dispatch.case.475 + i64 66, label %dispatch.case.476 + i64 71, label %dispatch.case.477 + i64 78, label %dispatch.case.478 + i64 87, label %dispatch.case.479 + i64 90, label %dispatch.case.480 + i64 94, label %dispatch.case.481 + i64 98, label %dispatch.case.482 + i64 101, label %dispatch.case.483 + i64 102, label %dispatch.case.484 + i64 107, label %dispatch.case.485 + i64 114, label %dispatch.case.486 + i64 116, label %dispatch.case.487 + i64 117, label %dispatch.case.488 + i64 121, label %dispatch.case.489 + i64 130, label %dispatch.case.490 + i64 131, label %dispatch.case.491 + i64 132, label %dispatch.case.492 + i64 133, label %dispatch.case.493 + i64 135, label %dispatch.case.494 + i64 137, label %dispatch.case.495 + i64 138, label %dispatch.case.496 + i64 139, label %dispatch.case.497 + i64 140, label %dispatch.case.498 + i64 141, label %dispatch.case.499 + i64 142, label %dispatch.case.500 + i64 144, label %dispatch.case.501 + i64 145, label %dispatch.case.502 + i64 146, label %dispatch.case.503 + i64 148, label %dispatch.case.504 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw45 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw45, label %dispatch.default.608 [ - i64 42, label %dispatch.case.609 - i64 43, label %dispatch.case.610 - i64 45, label %dispatch.case.611 - i64 47, label %dispatch.case.612 - i64 95, label %dispatch.case.613 + switch i64 %ua.raw45, label %dispatch.default.654 [ + i64 42, label %dispatch.case.655 + i64 43, label %dispatch.case.656 + i64 45, label %dispatch.case.657 + i64 47, label %dispatch.case.658 + i64 95, label %dispatch.case.659 ] match.arm.51: ; preds = %entry @@ -1933,7 +2048,7 @@ match.arm.51: ; preds = %entry %refl.val50 = extractvalue { i64, i64 } %loadN, 1 %refl.istype51 = icmp eq i64 %refl.tag49, 13 %refl.tid52 = select i1 %refl.istype51, i64 %refl.val50, i64 %refl.tag49 - %tn.gep = getelementptr inbounds [212 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid52 + %tn.gep = getelementptr inbounds [230 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid52 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1978,13 +2093,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.333, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2230,590 +2345,658 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { [16 x float] }, ptr %ua.ptr185, align 4 - %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load186) + %ua.load186 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { float, float }, ptr %ua.ptr189, align 4 - %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load190) + %ua.load190 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { <3 x float> }, ptr %ua.ptr193, align 16 - %callN = call { ptr, i64 } @struct_to_string__Vec__3__f32(ptr %0, { <3 x float> } %ua.load194) + %ua.load194 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr - %ua.load198 = load { <3 x float> }, ptr %ua.ptr197, align 16 - %callN = call { ptr, i64 } @struct_to_string__Vec3(ptr %0, { <3 x float> } %ua.load198) + %ua.load198 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load198) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.130: ; preds = %match.arm.43 %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr - %ua.load202 = load { i32, i32 }, ptr %ua.ptr201, align 4 - %callN = call { ptr, i64 } @struct_to_string__Complex__u32(ptr %0, { i32, i32 } %ua.load202) + %ua.load202 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load202) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.131: ; preds = %match.arm.43 %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr - %ua.load206 = load { i32, i32 }, ptr %ua.ptr205, align 4 - %callN = call { ptr, i64 } @struct_to_string__Foo(ptr %0, { i32, i32 } %ua.load206) + %ua.load206 = load { [16 x float] }, ptr %ua.ptr205, align 4 + %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load206) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.312: ; preds = %dispatch.case.319, %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.default.313 +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { float, float }, ptr %ua.ptr209, align 4 + %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load { <3 x float> }, ptr %ua.ptr213, align 16 + %callN = call { ptr, i64 } @struct_to_string__Vec__3__f32(ptr %0, { <3 x float> } %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.134: ; preds = %match.arm.43 + %ua.raw216 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr217 = inttoptr i64 %ua.raw216 to ptr + %ua.load218 = load { <3 x float> }, ptr %ua.ptr217, align 16 + %callN = call { ptr, i64 } @struct_to_string__Vec3(ptr %0, { <3 x float> } %ua.load218) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.135: ; preds = %match.arm.43 + %ua.raw220 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr221 = inttoptr i64 %ua.raw220 to ptr + %ua.load222 = load { i32, i32 }, ptr %ua.ptr221, align 4 + %callN = call { ptr, i64 } @struct_to_string__Complex__u32(ptr %0, { i32, i32 } %ua.load222) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.136: ; preds = %match.arm.43 + %ua.raw224 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr225 = inttoptr i64 %ua.raw224 to ptr + %ua.load226 = load { i32, i32 }, ptr %ua.ptr225, align 4 + %callN = call { ptr, i64 } @struct_to_string__Foo(ptr %0, { i32, i32 } %ua.load226) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.342: ; preds = %dispatch.case.349, %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.default.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.313: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.312 +dispatch.default.343: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.334, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.342 -dispatch.case.314: ; preds = %match.arm.44 - %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw209) +dispatch.case.344: ; preds = %match.arm.44 + %ua.raw229 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw229) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.315: ; preds = %match.arm.44 - %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw211) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 - -dispatch.case.316: ; preds = %match.arm.44 - %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr214 = inttoptr i64 %ua.raw213 to ptr - %ua.load215 = load { i64, [24 x i8] }, ptr %ua.ptr214, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load215) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 - -dispatch.case.317: ; preds = %match.arm.44 - %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw217) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 - -dispatch.case.318: ; preds = %match.arm.44 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw219) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 - -dispatch.case.319: ; preds = %match.arm.44 - %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr222 = inttoptr i64 %ua.raw221 to ptr - %ua.load223 = load { i64, [4 x i8] }, ptr %ua.ptr222, align 8 - %callN = call { ptr, i64 } @enum_to_string__Sx__f32(ptr %0, { i64, [4 x i8] } %ua.load223) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 - -dispatch.merge.332: ; preds = %dispatch.case.334, %dispatch.default.333 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - store { ptr, i64 } %loadN, ptr %allocaN, align 8 - br label %match.merge.37 - -dispatch.default.333: ; preds = %match.arm.46 - store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.332 - -dispatch.case.334: ; preds = %match.arm.46 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load <3 x float>, ptr %ua.ptr227, align 16 - %callN = call { ptr, i64 } @vector_to_string__vec_3_f32(ptr %0, <3 x float> %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.332 - -dispatch.merge.340: ; preds = %dispatch.case.349, %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.case.343, %dispatch.case.342, %dispatch.default.341 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - store { ptr, i64 } %loadN, ptr %allocaN, align 8 - br label %match.merge.37 - -dispatch.default.341: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.316, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.340 - -dispatch.case.342: ; preds = %match.arm.47 +dispatch.case.345: ; preds = %match.arm.44 %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load [4 x i64], ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load233) + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw231) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.342 -dispatch.case.343: ; preds = %match.arm.47 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load237) +dispatch.case.346: ; preds = %match.arm.44 + %ua.raw233 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr234 = inttoptr i64 %ua.raw233 to ptr + %ua.load235 = load { i64, [24 x i8] }, ptr %ua.ptr234, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load235) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.342 -dispatch.case.344: ; preds = %match.arm.47 +dispatch.case.347: ; preds = %match.arm.44 + %ua.raw237 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw237) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.342 + +dispatch.case.348: ; preds = %match.arm.44 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load [8 x i64], ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load241) + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw239) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.342 -dispatch.case.345: ; preds = %match.arm.47 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load [64 x i8], ptr %ua.ptr244, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load245) +dispatch.case.349: ; preds = %match.arm.44 + %ua.raw241 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr242 = inttoptr i64 %ua.raw241 to ptr + %ua.load243 = load { i64, [4 x i8] }, ptr %ua.ptr242, align 8 + %callN = call { ptr, i64 } @enum_to_string__Sx__f32(ptr %0, { i64, [4 x i8] } %ua.load243) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.342 -dispatch.case.346: ; preds = %match.arm.47 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load [64 x i64], ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load249) +dispatch.merge.362: ; preds = %dispatch.case.364, %dispatch.default.363 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + store { ptr, i64 } %loadN, ptr %allocaN, align 8 + br label %match.merge.37 + +dispatch.default.363: ; preds = %match.arm.46 + store { ptr, i64 } { ptr @str.335, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.362 + +dispatch.case.364: ; preds = %match.arm.46 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load <3 x float>, ptr %ua.ptr247, align 16 + %callN = call { ptr, i64 } @vector_to_string__vec_3_f32(ptr %0, <3 x float> %ua.load248) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.362 -dispatch.case.347: ; preds = %match.arm.47 +dispatch.merge.370: ; preds = %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.default.371 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + store { ptr, i64 } %loadN, ptr %allocaN, align 8 + br label %match.merge.37 + +dispatch.default.371: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.336, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.case.372: ; preds = %match.arm.47 %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load [16 x float], ptr %ua.ptr252, align 4 - %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load253) + %ua.load253 = load [4 x i64], ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load253) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.370 -dispatch.case.348: ; preds = %match.arm.47 +dispatch.case.373: ; preds = %match.arm.47 %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr - %ua.load257 = load [1 x { i64, i64 }], ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load257) + %ua.load257 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load257) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.370 -dispatch.case.349: ; preds = %match.arm.47 +dispatch.case.374: ; preds = %match.arm.47 %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr - %ua.load261 = load [5 x float], ptr %ua.ptr260, align 4 - %callN = call { ptr, i64 } @array_to_string__AR_5_f32(ptr %0, [5 x float] %ua.load261) + %ua.load261 = load [8 x i64], ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load261) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.340 + br label %dispatch.merge.370 -dispatch.merge.390: ; preds = %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.default.391 +dispatch.case.375: ; preds = %match.arm.47 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load [64 x i8], ptr %ua.ptr264, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.case.376: ; preds = %match.arm.47 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load [64 x i64], ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.case.377: ; preds = %match.arm.47 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load [16 x float], ptr %ua.ptr272, align 4 + %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.case.378: ; preds = %match.arm.47 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load [1 x { i64, i64 }], ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.case.379: ; preds = %match.arm.47 + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr + %ua.load281 = load [5 x float], ptr %ua.ptr280, align 4 + %callN = call { ptr, i64 } @array_to_string__AR_5_f32(ptr %0, [5 x float] %ua.load281) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.370 + +dispatch.merge.420: ; preds = %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.default.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.391: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.317, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.390 +dispatch.default.421: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.337, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.420 -dispatch.case.392: ; preds = %match.arm.48 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr265 = inttoptr i64 %ua.raw264 to ptr - %ua.load266 = load { ptr, i64 }, ptr %ua.ptr265, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 - -dispatch.case.393: ; preds = %match.arm.48 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr269 = inttoptr i64 %ua.raw268 to ptr - %ua.load270 = load { ptr, i64 }, ptr %ua.ptr269, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load270) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 - -dispatch.case.394: ; preds = %match.arm.48 - %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr273 = inttoptr i64 %ua.raw272 to ptr - %ua.load274 = load { ptr, i64 }, ptr %ua.ptr273, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 - -dispatch.case.395: ; preds = %match.arm.48 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr277 = inttoptr i64 %ua.raw276 to ptr - %ua.load278 = load { ptr, i64 }, ptr %ua.ptr277, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 - -dispatch.case.396: ; preds = %match.arm.48 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr281 = inttoptr i64 %ua.raw280 to ptr - %ua.load282 = load { ptr, i64 }, ptr %ua.ptr281, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load282) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 - -dispatch.case.397: ; preds = %match.arm.48 +dispatch.case.422: ; preds = %match.arm.48 %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr285 = inttoptr i64 %ua.raw284 to ptr %ua.load286 = load { ptr, i64 }, ptr %ua.ptr285, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load286) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load286) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.390 + br label %dispatch.merge.420 -dispatch.merge.428: ; preds = %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.default.429 +dispatch.case.423: ; preds = %match.arm.48 + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr289 = inttoptr i64 %ua.raw288 to ptr + %ua.load290 = load { ptr, i64 }, ptr %ua.ptr289, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load290) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.420 + +dispatch.case.424: ; preds = %match.arm.48 + %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr293 = inttoptr i64 %ua.raw292 to ptr + %ua.load294 = load { ptr, i64 }, ptr %ua.ptr293, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.420 + +dispatch.case.425: ; preds = %match.arm.48 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr297 = inttoptr i64 %ua.raw296 to ptr + %ua.load298 = load { ptr, i64 }, ptr %ua.ptr297, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.420 + +dispatch.case.426: ; preds = %match.arm.48 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr301 = inttoptr i64 %ua.raw300 to ptr + %ua.load302 = load { ptr, i64 }, ptr %ua.ptr301, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load302) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.420 + +dispatch.case.427: ; preds = %match.arm.48 + %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr305 = inttoptr i64 %ua.raw304 to ptr + %ua.load306 = load { ptr, i64 }, ptr %ua.ptr305, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.420 + +dispatch.merge.458: ; preds = %dispatch.case.504, %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.case.499, %dispatch.case.498, %dispatch.case.497, %dispatch.case.496, %dispatch.case.495, %dispatch.case.494, %dispatch.case.493, %dispatch.case.492, %dispatch.case.491, %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.default.459 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.429: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.318, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.430: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.431: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.432: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.433: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.434: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.435: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.436: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.437: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.438: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.439: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.440: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.441: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.442: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.443: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.444: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.445: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp334) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.446: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp337) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.447: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp340) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.448: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp343) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.449: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp346) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.450: ; preds = %match.arm.49 - %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 - %iNp349 = inttoptr i64 %ua.raw348 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp349) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.451: ; preds = %match.arm.49 - %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 - %iNp352 = inttoptr i64 %ua.raw351 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp352) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.452: ; preds = %match.arm.49 - %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 - %iNp355 = inttoptr i64 %ua.raw354 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp355) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.453: ; preds = %match.arm.49 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp358) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.454: ; preds = %match.arm.49 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %iNp361 = inttoptr i64 %ua.raw360 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp361) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.455: ; preds = %match.arm.49 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %iNp364 = inttoptr i64 %ua.raw363 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp364) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.456: ; preds = %match.arm.49 - %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 - %iNp367 = inttoptr i64 %ua.raw366 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp367) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.457: ; preds = %match.arm.49 - %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 - %iNp370 = inttoptr i64 %ua.raw369 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp370) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.458: ; preds = %match.arm.49 - %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 - %iNp373 = inttoptr i64 %ua.raw372 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Vec3(ptr %0, ptr %iNp373) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 - -dispatch.case.459: ; preds = %match.arm.49 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %iNp376 = inttoptr i64 %ua.raw375 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp376) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 +dispatch.default.459: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.338, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.458 dispatch.case.460: ; preds = %match.arm.49 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %iNp379 = inttoptr i64 %ua.raw378 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp379) + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.461: ; preds = %match.arm.49 - %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 - %iNp382 = inttoptr i64 %ua.raw381 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp382) + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp312) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.462: ; preds = %match.arm.49 - %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 - %iNp385 = inttoptr i64 %ua.raw384 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp385) + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp315) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.463: ; preds = %match.arm.49 - %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 - %iNp388 = inttoptr i64 %ua.raw387 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp388) + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp318) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.464: ; preds = %match.arm.49 - %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 - %iNp391 = inttoptr i64 %ua.raw390 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp391) + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp321) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.465: ; preds = %match.arm.49 - %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 - %iNp394 = inttoptr i64 %ua.raw393 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp394) + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp324) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.466: ; preds = %match.arm.49 - %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 - %iNp397 = inttoptr i64 %ua.raw396 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_vec_3_f32(ptr %0, ptr %iNp397) + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp327) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.467: ; preds = %match.arm.49 - %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 - %iNp400 = inttoptr i64 %ua.raw399 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_f32(ptr %0, ptr %iNp400) + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp330) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.468: ; preds = %match.arm.49 - %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 - %iNp403 = inttoptr i64 %ua.raw402 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Foo(ptr %0, ptr %iNp403) + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp333) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.469: ; preds = %match.arm.49 - %ua.raw405 = extractvalue { i64, i64 } %loadN, 1 - %iNp406 = inttoptr i64 %ua.raw405 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp406) + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp336) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 dispatch.case.470: ; preds = %match.arm.49 - %ua.raw408 = extractvalue { i64, i64 } %loadN, 1 - %iNp409 = inttoptr i64 %ua.raw408 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sx__f32(ptr %0, ptr %iNp409) + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp339) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.428 + br label %dispatch.merge.458 -dispatch.merge.607: ; preds = %dispatch.case.613, %dispatch.case.612, %dispatch.case.611, %dispatch.case.610, %dispatch.case.609, %dispatch.default.608 +dispatch.case.471: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.472: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.473: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.474: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.475: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.476: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.477: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.478: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.480: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.481: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.482: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.483: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.484: ; preds = %match.arm.49 + %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 + %iNp381 = inttoptr i64 %ua.raw380 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp381) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.485: ; preds = %match.arm.49 + %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 + %iNp384 = inttoptr i64 %ua.raw383 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp384) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.486: ; preds = %match.arm.49 + %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp387) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.487: ; preds = %match.arm.49 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp390) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.488: ; preds = %match.arm.49 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %iNp393 = inttoptr i64 %ua.raw392 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp393) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.489: ; preds = %match.arm.49 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %iNp396 = inttoptr i64 %ua.raw395 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp396) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.490: ; preds = %match.arm.49 + %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 + %iNp399 = inttoptr i64 %ua.raw398 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp399) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.491: ; preds = %match.arm.49 + %ua.raw401 = extractvalue { i64, i64 } %loadN, 1 + %iNp402 = inttoptr i64 %ua.raw401 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp402) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.492: ; preds = %match.arm.49 + %ua.raw404 = extractvalue { i64, i64 } %loadN, 1 + %iNp405 = inttoptr i64 %ua.raw404 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Vec3(ptr %0, ptr %iNp405) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.493: ; preds = %match.arm.49 + %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 + %iNp408 = inttoptr i64 %ua.raw407 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp408) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.494: ; preds = %match.arm.49 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %iNp411 = inttoptr i64 %ua.raw410 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp411) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.495: ; preds = %match.arm.49 + %ua.raw413 = extractvalue { i64, i64 } %loadN, 1 + %iNp414 = inttoptr i64 %ua.raw413 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp414) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.496: ; preds = %match.arm.49 + %ua.raw416 = extractvalue { i64, i64 } %loadN, 1 + %iNp417 = inttoptr i64 %ua.raw416 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp417) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.497: ; preds = %match.arm.49 + %ua.raw419 = extractvalue { i64, i64 } %loadN, 1 + %iNp420 = inttoptr i64 %ua.raw419 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp420) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.498: ; preds = %match.arm.49 + %ua.raw422 = extractvalue { i64, i64 } %loadN, 1 + %iNp423 = inttoptr i64 %ua.raw422 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp423) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.499: ; preds = %match.arm.49 + %ua.raw425 = extractvalue { i64, i64 } %loadN, 1 + %iNp426 = inttoptr i64 %ua.raw425 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp426) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.500: ; preds = %match.arm.49 + %ua.raw428 = extractvalue { i64, i64 } %loadN, 1 + %iNp429 = inttoptr i64 %ua.raw428 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_vec_3_f32(ptr %0, ptr %iNp429) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.501: ; preds = %match.arm.49 + %ua.raw431 = extractvalue { i64, i64 } %loadN, 1 + %iNp432 = inttoptr i64 %ua.raw431 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_f32(ptr %0, ptr %iNp432) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.502: ; preds = %match.arm.49 + %ua.raw434 = extractvalue { i64, i64 } %loadN, 1 + %iNp435 = inttoptr i64 %ua.raw434 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Foo(ptr %0, ptr %iNp435) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.503: ; preds = %match.arm.49 + %ua.raw437 = extractvalue { i64, i64 } %loadN, 1 + %iNp438 = inttoptr i64 %ua.raw437 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp438) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.case.504: ; preds = %match.arm.49 + %ua.raw440 = extractvalue { i64, i64 } %loadN, 1 + %iNp441 = inttoptr i64 %ua.raw440 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sx__f32(ptr %0, ptr %iNp441) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.458 + +dispatch.merge.653: ; preds = %dispatch.case.659, %dispatch.case.658, %dispatch.case.657, %dispatch.case.656, %dispatch.case.655, %dispatch.default.654 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.608: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.319, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.607 +dispatch.default.654: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.339, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.653 -dispatch.case.609: ; preds = %match.arm.50 - %ua.raw412 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr413 = inttoptr i64 %ua.raw412 to ptr - %ua.load414 = load { { i32 }, i1 }, ptr %ua.ptr413, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load414) +dispatch.case.655: ; preds = %match.arm.50 + %ua.raw444 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr445 = inttoptr i64 %ua.raw444 to ptr + %ua.load446 = load { { i32 }, i1 }, ptr %ua.ptr445, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load446) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.607 + br label %dispatch.merge.653 -dispatch.case.610: ; preds = %match.arm.50 - %ua.raw416 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr417 = inttoptr i64 %ua.raw416 to ptr - %ua.load418 = load { { ptr, i64 }, i1 }, ptr %ua.ptr417, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load418) +dispatch.case.656: ; preds = %match.arm.50 + %ua.raw448 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr449 = inttoptr i64 %ua.raw448 to ptr + %ua.load450 = load { { ptr, i64 }, i1 }, ptr %ua.ptr449, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load450) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.607 + br label %dispatch.merge.653 -dispatch.case.611: ; preds = %match.arm.50 - %ua.raw420 = extractvalue { i64, i64 } %loadN, 1 - %iNp421 = inttoptr i64 %ua.raw420 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp421) +dispatch.case.657: ; preds = %match.arm.50 + %ua.raw452 = extractvalue { i64, i64 } %loadN, 1 + %iNp453 = inttoptr i64 %ua.raw452 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp453) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.607 + br label %dispatch.merge.653 -dispatch.case.612: ; preds = %match.arm.50 - %ua.raw423 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr424 = inttoptr i64 %ua.raw423 to ptr - %ua.load425 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr424, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load425) +dispatch.case.658: ; preds = %match.arm.50 + %ua.raw455 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr456 = inttoptr i64 %ua.raw455 to ptr + %ua.load457 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr456, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load457) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.607 + br label %dispatch.merge.653 -dispatch.case.613: ; preds = %match.arm.50 - %ua.raw427 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr428 = inttoptr i64 %ua.raw427 to ptr - %ua.load429 = load { [64 x i8], i1 }, ptr %ua.ptr428, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load429) +dispatch.case.659: ; preds = %match.arm.50 + %ua.raw459 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr460 = inttoptr i64 %ua.raw459 to ptr + %ua.load461 = load { [64 x i8], i1 }, ptr %ua.ptr460, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load461) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.607 + br label %dispatch.merge.653 } ; Function Attrs: nounwind @@ -2822,7 +3005,7 @@ 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.320, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.340, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2918,7 +3101,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, 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 @@ -2926,7 +3109,7 @@ if.then.12: ; preds = %if.then.9 %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.322, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, 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 @@ -2936,13 +3119,13 @@ if.then.12: ; preds = %if.then.9 %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.323, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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 @@ -2950,7 +3133,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.325, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2964,7 +3147,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, 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 @@ -2972,7 +3155,7 @@ if.then.23: ; preds = %if.else.10 %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.327, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, 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 @@ -2983,7 +3166,7 @@ if.then.23: ; preds = %if.else.10 %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.328, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -3040,7 +3223,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, 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 @@ -3048,7 +3231,7 @@ if.then.32: ; preds = %if.then.29 %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.330, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, 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 @@ -3059,7 +3242,7 @@ if.then.32: ; preds = %if.then.29 %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.331, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -3079,7 +3262,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, 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 @@ -3087,7 +3270,7 @@ if.then.35: ; preds = %while.exit.2 %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.333, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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 @@ -3098,7 +3281,7 @@ if.then.35: ; preds = %while.exit.2 %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.334, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3931,6 +4114,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @Mat4.identity(ptr sret({ [16 x float] }), ptr) #0 @@ -4108,7 +4339,7 @@ entry: define internal void @print__ct_saf3b53dfd1590ed__pack_Vec3(ptr %0, { <3 x float> } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.335, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.355, i64 7 }, ptr %alloca, align 8 %allocaN = alloca { <3 x float> }, align 16 store { <3 x float> } %1, ptr %allocaN, align 16 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4116,7 +4347,7 @@ entry: %ba.tmp = alloca { <3 x float> }, align 16 store { <3 x float> } %load, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 115, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 127, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4126,7 +4357,7 @@ entry: %gepN = getelementptr inbounds { 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.336, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.356, 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 4) @@ -4137,7 +4368,7 @@ entry: %ba.tmp12 = alloca { <3 x float> }, align 16 store { <3 x float> } %loadN, ptr %ba.tmp12, align 16 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 115, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 127, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4156,7 +4387,7 @@ entry: ; 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.337, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.357, i64 7 }) ret { ptr, i64 } %call } @@ -4164,7 +4395,7 @@ entry: define internal void @print__ct_s962c60eb1430613f__pack_vec_3_f32(ptr %0, <3 x float> %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.338, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.358, i64 7 }, ptr %alloca, align 8 %allocaN = alloca <3 x float>, align 16 store <3 x float> %1, ptr %allocaN, align 16 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4172,7 +4403,7 @@ entry: %ba.tmp = alloca <3 x float>, align 16 store <3 x float> %load, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 125, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4182,7 +4413,7 @@ entry: %gepN = getelementptr inbounds { 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.339, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.359, 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 4) @@ -4193,7 +4424,7 @@ entry: %ba.tmp12 = alloca <3 x float>, align 16 store <3 x float> %loadN, ptr %ba.tmp12, align 16 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4212,7 +4443,7 @@ entry: ; 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.340, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.360, i64 7 }) ret { ptr, i64 } %call } @@ -4220,7 +4451,7 @@ entry: define internal void @print__ct_s549467baf058e667__pack_AR_5_f32(ptr %0, [5 x float] %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.341, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.361, i64 9 }, ptr %alloca, align 8 %allocaN = alloca [5 x float], align 4 store [5 x float] %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4228,7 +4459,7 @@ entry: %ba.tmp = alloca [5 x float], align 4 store [5 x float] %load, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 131, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 143, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4238,7 +4469,7 @@ entry: %gepN = getelementptr inbounds { 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.342, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.362, 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 6) @@ -4249,7 +4480,7 @@ entry: %ba.tmp12 = alloca [5 x float], align 4 store [5 x float] %loadN, ptr %ba.tmp12, align 4 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 131, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 143, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4268,7 +4499,7 @@ entry: ; 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.343, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.363, i64 9 }) ret { ptr, i64 } %call } @@ -4276,7 +4507,7 @@ entry: define internal void @print__ct_sd91eb2e81c05dcd4__pack_Foo(ptr %0, { i32, i32 } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.344, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.364, i64 9 }, ptr %alloca, align 8 %allocaN = alloca { i32, i32 }, align 8 store { i32, i32 } %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4284,7 +4515,7 @@ entry: %ba.tmp = alloca { i32, i32 }, align 8 store { i32, i32 } %load, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 117, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 129, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4294,7 +4525,7 @@ entry: %gepN = getelementptr inbounds { 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.345, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.365, 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 6) @@ -4305,7 +4536,7 @@ entry: %ba.tmp12 = alloca { i32, i32 }, align 8 store { i32, i32 } %loadN, ptr %ba.tmp12, align 4 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 117, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 129, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4324,7 +4555,7 @@ entry: ; 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.346, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.366, i64 9 }) ret { ptr, i64 } %call } @@ -4332,7 +4563,7 @@ entry: define internal void @print__ct_s3038067ddd716595__pack_vec_3_f32(ptr %0, <3 x float> %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.347, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.367, i64 8 }, ptr %alloca, align 8 %allocaN = alloca <3 x float>, align 16 store <3 x float> %1, ptr %allocaN, align 16 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4340,7 +4571,7 @@ entry: %ba.tmp = alloca <3 x float>, align 16 store <3 x float> %load, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 125, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4350,7 +4581,7 @@ entry: %gepN = getelementptr inbounds { 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.348, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.368, 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) @@ -4361,7 +4592,7 @@ entry: %ba.tmp12 = alloca <3 x float>, align 16 store <3 x float> %loadN, ptr %ba.tmp12, align 16 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4380,7 +4611,7 @@ entry: ; 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.349, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.369, i64 8 }) ret { ptr, i64 } %call } @@ -4388,7 +4619,7 @@ entry: define internal void @print__ct_sb50fffa856c31fe8__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.350, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.370, i64 9 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4405,7 +4636,7 @@ entry: %gepN = getelementptr inbounds { 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.351, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.371, 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 6) @@ -4434,7 +4665,7 @@ entry: ; 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.352, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.372, i64 9 }) ret { ptr, i64 } %call } @@ -4442,7 +4673,7 @@ entry: define internal void @print__ct_sd243afec30847211__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.353, i64 10 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.373, i64 10 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4459,7 +4690,7 @@ entry: %gepN = getelementptr inbounds { 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.354, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.374, 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 7) @@ -4488,7 +4719,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_6(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.355, i64 10 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.375, i64 10 }) ret { ptr, i64 } %call } @@ -4496,7 +4727,7 @@ entry: define internal void @print__ct_s1e80f4429411a63__pack_vec_3_f32(ptr %0, <3 x float> %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.356, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.376, i64 11 }, ptr %alloca, align 8 %allocaN = alloca <3 x float>, align 16 store <3 x float> %1, ptr %allocaN, align 16 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4504,7 +4735,7 @@ entry: %ba.tmp = alloca <3 x float>, align 16 store <3 x float> %load, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 125, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4514,7 +4745,7 @@ entry: %gepN = getelementptr inbounds { 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.357, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.377, 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 8) @@ -4525,7 +4756,7 @@ entry: %ba.tmp12 = alloca <3 x float>, align 16 store <3 x float> %loadN, ptr %ba.tmp12, align 16 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4544,7 +4775,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_7(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.358, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.378, i64 11 }) ret { ptr, i64 } %call } @@ -4552,7 +4783,7 @@ entry: define internal void @print__ct_sd428128013c58f8b__pack_vec_3_f32(ptr %0, <3 x float> %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.359, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.379, i64 8 }, ptr %alloca, align 8 %allocaN = alloca <3 x float>, align 16 store <3 x float> %1, ptr %allocaN, align 16 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4560,7 +4791,7 @@ entry: %ba.tmp = alloca <3 x float>, align 16 store <3 x float> %load, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 125, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4570,7 +4801,7 @@ entry: %gepN = getelementptr inbounds { 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.360, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.380, 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) @@ -4581,7 +4812,7 @@ entry: %ba.tmp12 = alloca <3 x float>, align 16 store <3 x float> %loadN, ptr %ba.tmp12, align 16 %ba.p2i13 = ptrtoint ptr %ba.tmp12 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i13, 1 %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val14) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4600,7 +4831,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_8(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.361, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.381, i64 8 }) ret { ptr, i64 } %call } @@ -4617,7 +4848,7 @@ entry: define internal void @print__ct_sa2a846ee0ce9045d__pack_f64(ptr %0, double %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.362, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.382, i64 12 }, ptr %alloca, align 8 %allocaN = alloca double, align 8 store double %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4633,7 +4864,7 @@ entry: %gepN = getelementptr inbounds { 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.363, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.383, 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 9) @@ -4661,7 +4892,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_9(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.364, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.384, i64 12 }) ret { ptr, i64 } %call } @@ -4669,7 +4900,7 @@ entry: define internal void @print__ct_sbc6305862a3a863d__pack_Sx__f32(ptr %0, { i64, [4 x i8] } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.365, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.385, i64 3 }, ptr %alloca, align 8 %allocaN = alloca { i64, [4 x i8] }, align 8 store { i64, [4 x i8] } %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4677,7 +4908,7 @@ entry: %ba.tmp = alloca { i64, [4 x i8] }, align 8 store { i64, [4 x i8] } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 135, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 147, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -4687,13 +4918,13 @@ entry: %gepN = getelementptr inbounds { 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.366, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.386, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, [4 x i8] }, ptr %allocaN, align 8 %ba.tmp9 = alloca { i64, [4 x i8] }, align 8 store { i64, [4 x i8] } %loadN, ptr %ba.tmp9, align 8 %ba.p2i10 = ptrtoint ptr %ba.tmp9 to i64 - %ba.val11 = insertvalue { i64, i64 } { i64 135, i64 undef }, i64 %ba.p2i10, 1 + %ba.val11 = insertvalue { i64, i64 } { i64 147, i64 undef }, i64 %ba.p2i10, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val11) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -4712,7 +4943,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_10(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.367, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.387, i64 3 }) ret { ptr, i64 } %call } @@ -4720,7 +4951,7 @@ entry: define internal void @print__ct_sbc6305862a3a863d__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.368, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.388, i64 3 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4735,7 +4966,7 @@ entry: %gepN = getelementptr inbounds { 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.369, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.389, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ba.val9 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 @@ -4757,7 +4988,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_11(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.370, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.390, i64 3 }) ret { ptr, i64 } %call } @@ -4768,35 +4999,35 @@ entry: %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.371, i64 15 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.391, i64 15 }, { ptr, i64 } { ptr @str.392, 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.132 + br label %while.hdr.137 -while.hdr.132: ; preds = %fv.merge, %entry +while.hdr.137: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.133, label %while.exit.134 + br i1 %icmp, label %while.body.138, label %while.exit.139 -while.body.133: ; preds = %while.hdr.132 +while.body.138: ; preds = %while.hdr.137 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.135, label %if.merge.136 + br i1 %icmpN, label %if.then.140, label %if.merge.141 -while.exit.134: ; preds = %while.hdr.132 +while.exit.139: ; preds = %while.hdr.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 1 }) ret { ptr, i64 } %callN -if.then.135: ; preds = %while.body.133 +if.then.140: ; preds = %while.body.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.136 + br label %if.merge.141 -if.merge.136: ; preds = %if.then.135, %while.body.133 +if.merge.141: ; preds = %if.then.140, %while.body.138 %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 @@ -4804,7 +5035,7 @@ if.merge.136: ; preds = %if.then.135, %while %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.378, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, 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 @@ -4824,31 +5055,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.132 + br label %while.hdr.137 -fv.default: ; preds = %if.merge.136 +fv.default: ; preds = %if.merge.141 br label %fv.merge -fv.case: ; preds = %if.merge.136 +fv.case: ; preds = %if.merge.141 %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.136 +fv.case17: ; preds = %if.merge.141 %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.136 +fv.case20: ; preds = %if.merge.141 %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.136 +fv.case24: ; preds = %if.merge.141 %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 @@ -4861,43 +5092,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.379, i64 9 }, { ptr, i64 } { ptr @str.380, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.399, i64 9 }, { ptr, i64 } { ptr @str.400, 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.137 + br label %while.hdr.142 -while.hdr.137: ; preds = %fv.merge, %entry +while.hdr.142: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.138, label %while.exit.139 + br i1 %icmp, label %while.body.143, label %while.exit.144 -while.body.138: ; preds = %while.hdr.137 +while.body.143: ; preds = %while.hdr.142 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.140, label %if.merge.141 + br i1 %icmpN, label %if.then.145, label %if.merge.146 -while.exit.139: ; preds = %while.hdr.137 +while.exit.144: ; preds = %while.hdr.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 1 }) ret { ptr, i64 } %callN -if.then.140: ; preds = %while.body.138 +if.then.145: ; preds = %while.body.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.141 + br label %if.merge.146 -if.merge.141: ; preds = %if.then.140, %while.body.138 +if.merge.146: ; preds = %if.then.145, %while.body.143 %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.386, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.406, 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.387, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, 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 @@ -4916,24 +5147,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.137 + br label %while.hdr.142 -fv.default: ; preds = %if.merge.141 +fv.default: ; preds = %if.merge.146 br label %fv.merge -fv.case: ; preds = %if.merge.141 +fv.case: ; preds = %if.merge.146 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.141 +fv.case17: ; preds = %if.merge.146 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.141 +fv.case21: ; preds = %if.merge.146 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4946,43 +5177,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.388, i64 7 }, { ptr, i64 } { ptr @str.389, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.408, i64 7 }, { ptr, i64 } { ptr @str.409, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %fv.merge, %entry +while.hdr.147: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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.394, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.414, 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.395, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, 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 %alloca, align 8 @@ -5000,19 +5231,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 -fv.default: ; preds = %if.merge.146 +fv.default: ; preds = %if.merge.151 br label %fv.merge -fv.case: ; preds = %if.merge.146 +fv.case: ; preds = %if.merge.151 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.146 +fv.case17: ; preds = %if.merge.151 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -5024,43 +5255,43 @@ 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.396, i64 10 }, { ptr, i64 } { ptr @str.397, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.416, i64 10 }, { ptr, i64 } { ptr @str.417, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %if.merge.151, %entry +while.hdr.152: ; preds = %if.merge.156, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.400, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.420, 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.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5071,7 +5302,7 @@ if.merge.151: ; preds = %if.then.150, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 } ; Function Attrs: nounwind @@ -5079,43 +5310,43 @@ 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.402, i64 3 }, { ptr, i64 } { ptr @str.403, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.422, i64 3 }, { ptr, i64 } { ptr @str.423, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %fv.merge, %entry +while.hdr.157: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.407, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.427, 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.408, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, 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 @@ -5132,12 +5363,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 -fv.default: ; preds = %if.merge.156 +fv.default: ; preds = %if.merge.161 br label %fv.merge -fv.case: ; preds = %if.merge.156 +fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -5148,43 +5379,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.409, i64 10 }, { ptr, i64 } { ptr @str.410, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.429, i64 10 }, { ptr, i64 } { ptr @str.430, 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.157 + br label %while.hdr.162 -while.hdr.157: ; preds = %fv.merge, %entry +while.hdr.162: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.158, label %while.exit.159 + br i1 %icmp, label %while.body.163, label %while.exit.164 -while.body.158: ; preds = %while.hdr.157 +while.body.163: ; preds = %while.hdr.162 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 + br i1 %icmpN, label %if.then.165, label %if.merge.166 -while.exit.159: ; preds = %while.hdr.157 +while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 1 }) ret { ptr, i64 } %callN -if.then.160: ; preds = %while.body.158 +if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 + br label %if.merge.166 -if.merge.161: ; preds = %if.then.160, %while.body.158 +if.merge.166: ; preds = %if.then.165, %while.body.163 %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.415, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.435, 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.416, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, 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 @@ -5202,18 +5433,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.157 + br label %while.hdr.162 -fv.default: ; preds = %if.merge.161 +fv.default: ; preds = %if.merge.166 br label %fv.merge -fv.case: ; preds = %if.merge.161 +fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.161 +fv.case17: ; preds = %if.merge.166 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -5225,91 +5456,7 @@ 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.417, i64 5 }, { ptr, i64 } { ptr @str.418, 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.162 - -while.hdr.162: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.163, label %while.exit.164 - -while.body.163: ; preds = %while.hdr.162 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.165, label %if.merge.166 - -while.exit.164: ; preds = %while.hdr.162 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 1 }) - ret { ptr, i64 } %callN - -if.then.165: ; preds = %while.body.163 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.166 - -if.merge.166: ; preds = %if.then.165, %while.body.163 - %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.424, 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.425, 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.162 - -fv.default: ; preds = %if.merge.166 - br label %fv.merge - -fv.case: ; preds = %if.merge.166 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.166 - %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.166 - %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 21, 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.426, i64 8 }, { ptr, i64 } { ptr @str.427, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.437, i64 5 }, { ptr, i64 } { ptr @str.438, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5328,27 +5475,27 @@ while.body.168: ; preds = %while.hdr.167 while.exit.169: ; preds = %while.hdr.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) ret { ptr, i64 } %callN if.then.170: ; preds = %while.body.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.171 if.merge.171: ; preds = %if.then.170, %while.body.168 %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.433, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.444, 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.434, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, 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 { 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 @@ -5370,17 +5517,101 @@ fv.default: ; preds = %if.merge.171 br label %fv.merge fv.case: ; preds = %if.merge.171 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.171 + %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.171 + %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 21, 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.446, i64 8 }, { ptr, i64 } { ptr @str.447, 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.172 + +while.hdr.172: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.173, label %while.exit.174 + +while.body.173: ; preds = %while.hdr.172 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.175, label %if.merge.176 + +while.exit.174: ; preds = %while.hdr.172 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) + ret { ptr, i64 } %callN + +if.then.175: ; preds = %while.body.173 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.176 + +if.merge.176: ; preds = %if.then.175, %while.body.173 + %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.453, 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.454, 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.172 + +fv.default: ; preds = %if.merge.176 + br label %fv.merge + +fv.case: ; preds = %if.merge.176 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.171 +fv.case17: ; preds = %if.merge.176 %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.171 +fv.case20: ; preds = %if.merge.176 %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 @@ -5392,43 +5623,43 @@ 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.435, i64 17 }, { ptr, i64 } { ptr @str.436, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.455, i64 17 }, { ptr, i64 } { ptr @str.456, 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.172 + br label %while.hdr.177 -while.hdr.172: ; preds = %fv.merge, %entry +while.hdr.177: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.173, label %while.exit.174 + br i1 %icmp, label %while.body.178, label %while.exit.179 -while.body.173: ; preds = %while.hdr.172 +while.body.178: ; preds = %while.hdr.177 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.175, label %if.merge.176 + br i1 %icmpN, label %if.then.180, label %if.merge.181 -while.exit.174: ; preds = %while.hdr.172 +while.exit.179: ; preds = %while.hdr.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) ret { ptr, i64 } %callN -if.then.175: ; preds = %while.body.173 +if.then.180: ; preds = %while.body.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.176 + br label %if.merge.181 -if.merge.176: ; preds = %if.then.175, %while.body.173 +if.merge.181: ; preds = %if.then.180, %while.body.178 %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.443, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.463, 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.444, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, 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 @@ -5448,29 +5679,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.172 + br label %while.hdr.177 -fv.default: ; preds = %if.merge.176 +fv.default: ; preds = %if.merge.181 br label %fv.merge -fv.case: ; preds = %if.merge.176 +fv.case: ; preds = %if.merge.181 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.176 +fv.case17: ; preds = %if.merge.181 %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.176 +fv.case20: ; preds = %if.merge.181 %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.176 +fv.case23: ; preds = %if.merge.181 %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 @@ -5481,43 +5712,43 @@ 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.445, i64 4 }, { ptr, i64 } { ptr @str.446, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.465, i64 4 }, { ptr, i64 } { ptr @str.466, 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.177 + br label %while.hdr.182 -while.hdr.177: ; preds = %fv.merge, %entry +while.hdr.182: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.178, label %while.exit.179 + br i1 %icmp, label %while.body.183, label %while.exit.184 -while.body.178: ; preds = %while.hdr.177 +while.body.183: ; preds = %while.hdr.182 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.180, label %if.merge.181 + br i1 %icmpN, label %if.then.185, label %if.merge.186 -while.exit.179: ; preds = %while.hdr.177 +while.exit.184: ; preds = %while.hdr.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) ret { ptr, i64 } %callN -if.then.180: ; preds = %while.body.178 +if.then.185: ; preds = %while.body.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.181 + br label %if.merge.186 -if.merge.181: ; preds = %if.then.180, %while.body.178 +if.merge.186: ; preds = %if.then.185, %while.body.183 %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.450, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.470, 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.451, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, 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 @@ -5534,12 +5765,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.177 + br label %while.hdr.182 -fv.default: ; preds = %if.merge.181 +fv.default: ; preds = %if.merge.186 br label %fv.merge -fv.case: ; preds = %if.merge.181 +fv.case: ; preds = %if.merge.186 %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 @@ -5554,43 +5785,43 @@ entry: %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.452, i64 10 }, { ptr, i64 } { ptr @str.453, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.472, i64 10 }, { ptr, i64 } { ptr @str.473, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.461, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.481, 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.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, 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 @@ -5611,38 +5842,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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.186 +fv.case17: ; preds = %if.merge.191 %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.186 +fv.case20: ; preds = %if.merge.191 %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.186 +fv.case24: ; preds = %if.merge.191 %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.186 +fv.case29: ; preds = %if.merge.191 %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 @@ -5656,43 +5887,43 @@ 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.463, i64 13 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.483, i64 13 }, { ptr, i64 } { ptr @str.484, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.469, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.489, 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.470, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, 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 @@ -5710,18 +5941,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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.191 +fv.case17: ; preds = %if.merge.196 %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 @@ -5734,43 +5965,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.471, i64 8 }, { ptr, i64 } { ptr @str.472, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.491, i64 8 }, { ptr, i64 } { ptr @str.492, 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.192 + br label %while.hdr.197 -while.hdr.192: ; preds = %fv.merge, %entry +while.hdr.197: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.193, label %while.exit.194 + br i1 %icmp, label %while.body.198, label %while.exit.199 -while.body.193: ; preds = %while.hdr.192 +while.body.198: ; preds = %while.hdr.197 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 + br i1 %icmpN, label %if.then.200, label %if.merge.201 -while.exit.194: ; preds = %while.hdr.192 +while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) ret { ptr, i64 } %callN -if.then.195: ; preds = %while.body.193 +if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 + br label %if.merge.201 -if.merge.196: ; preds = %if.then.195, %while.body.193 +if.merge.201: ; preds = %if.then.200, %while.body.198 %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.480, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.500, 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.481, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, 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 @@ -5791,36 +6022,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.192 + br label %while.hdr.197 -fv.default: ; preds = %if.merge.196 +fv.default: ; preds = %if.merge.201 br label %fv.merge -fv.case: ; preds = %if.merge.196 +fv.case: ; preds = %if.merge.201 %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.196 +fv.case17: ; preds = %if.merge.201 %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.196 +fv.case21: ; preds = %if.merge.201 %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.196 +fv.case25: ; preds = %if.merge.201 %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.196 +fv.case29: ; preds = %if.merge.201 %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 @@ -5831,89 +6062,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.482, i64 5 }, { ptr, i64 } { ptr @str.483, 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.197 - -while.hdr.197: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.198, label %while.exit.199 - -while.body.198: ; preds = %while.hdr.197 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.200, label %if.merge.201 - -while.exit.199: ; preds = %while.hdr.197 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 1 }) - ret { ptr, i64 } %callN - -if.then.200: ; preds = %while.body.198 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.201 - -if.merge.201: ; preds = %if.then.200, %while.body.198 - %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.489, 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.490, 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.197 - -fv.default: ; preds = %if.merge.201 - br label %fv.merge - -fv.case: ; preds = %if.merge.201 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.201 - %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.201 - %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.491, i64 6 }, { ptr, i64 } { ptr @str.492, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.502, i64 5 }, { ptr, i64 } { ptr @str.503, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5932,24 +6081,24 @@ while.body.203: ; preds = %while.hdr.202 while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) ret { ptr, i64 } %callN if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.206 if.merge.206: ; preds = %if.then.205, %while.body.203 %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.498, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.509, 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.499, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, 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 @@ -5976,7 +6125,7 @@ fv.default: ; preds = %if.merge.206 fv.case: ; preds = %if.merge.206 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -5991,13 +6140,11 @@ fv.case20: ; preds = %if.merge.206 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.500, i64 6 }, { ptr, i64 } { ptr @str.501, i64 1 }) + %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.511, i64 6 }, { ptr, i64 } { ptr @str.512, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6006,7 +6153,7 @@ entry: while.hdr.207: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.208, label %while.exit.209 while.body.208: ; preds = %while.hdr.207 @@ -6016,24 +6163,108 @@ while.body.208: ; preds = %while.hdr.207 while.exit.209: ; preds = %while.hdr.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) ret { ptr, i64 } %callN if.then.210: ; preds = %while.body.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.211 if.merge.211: ; preds = %if.then.210, %while.body.208 %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.506, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.518, 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.507, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, 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.207 + +fv.default: ; preds = %if.merge.211 + br label %fv.merge + +fv.case: ; preds = %if.merge.211 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.211 + %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.211 + %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.520, i64 6 }, { ptr, i64 } { ptr @str.521, 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.212 + +while.hdr.212: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.213, label %while.exit.214 + +while.body.213: ; preds = %while.hdr.212 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.215, label %if.merge.216 + +while.exit.214: ; preds = %while.hdr.212 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + ret { ptr, i64 } %callN + +if.then.215: ; preds = %while.body.213 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.216 + +if.merge.216: ; preds = %if.then.215, %while.body.213 + %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.526, 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.527, 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 @@ -6051,19 +6282,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.207 + br label %while.hdr.212 -fv.default: ; preds = %if.merge.211 +fv.default: ; preds = %if.merge.216 br label %fv.merge -fv.case: ; preds = %if.merge.211 +fv.case: ; preds = %if.merge.216 %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.211 +fv.case17: ; preds = %if.merge.216 %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 @@ -6077,93 +6308,7 @@ 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.508, i64 4 }, { ptr, i64 } { ptr @str.509, 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.212 - -while.hdr.212: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.213, label %while.exit.214 - -while.body.213: ; preds = %while.hdr.212 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.215, label %if.merge.216 - -while.exit.214: ; preds = %while.hdr.212 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 1 }) - ret { ptr, i64 } %callN - -if.then.215: ; preds = %while.body.213 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.216 - -if.merge.216: ; preds = %if.then.215, %while.body.213 - %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.515, 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.516, 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.212 - -fv.default: ; preds = %if.merge.216 - br label %fv.merge - -fv.case: ; preds = %if.merge.216 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.216 - %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.216 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.517, i64 6 }, { ptr, i64 } { ptr @str.518, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.528, i64 4 }, { ptr, i64 } { ptr @str.529, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6182,24 +6327,110 @@ while.body.218: ; preds = %while.hdr.217 while.exit.219: ; preds = %while.hdr.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 1 }) ret { ptr, i64 } %callN if.then.220: ; preds = %while.body.218 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.221 if.merge.221: ; preds = %if.then.220, %while.body.218 %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.524, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.535, 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.525, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, 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.217 + +fv.default: ; preds = %if.merge.221 + br label %fv.merge + +fv.case: ; preds = %if.merge.221 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.221 + %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.221 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.537, i64 6 }, { ptr, i64 } { ptr @str.538, 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.222 + +while.hdr.222: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.223, label %while.exit.224 + +while.body.223: ; preds = %while.hdr.222 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.225, label %if.merge.226 + +while.exit.224: ; preds = %while.hdr.222 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 1 }) + ret { ptr, i64 } %callN + +if.then.225: ; preds = %while.body.223 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.226 + +if.merge.226: ; preds = %if.then.225, %while.body.223 + %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.544, 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.545, 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 @@ -6218,24 +6449,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.217 + br label %while.hdr.222 -fv.default: ; preds = %if.merge.221 +fv.default: ; preds = %if.merge.226 br label %fv.merge -fv.case: ; preds = %if.merge.221 +fv.case: ; preds = %if.merge.226 %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.221 +fv.case17: ; preds = %if.merge.226 %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.221 +fv.case20: ; preds = %if.merge.226 %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 @@ -6248,43 +6479,43 @@ 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.526, i64 12 }, { ptr, i64 } { ptr @str.527, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.546, i64 12 }, { ptr, i64 } { ptr @str.547, 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.222 + br label %while.hdr.227 -while.hdr.222: ; preds = %if.merge.226, %entry +while.hdr.227: ; preds = %if.merge.231, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.223, label %while.exit.224 + br i1 %icmp, label %while.body.228, label %while.exit.229 -while.body.223: ; preds = %while.hdr.222 +while.body.228: ; preds = %while.hdr.227 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.225, label %if.merge.226 + br i1 %icmpN, label %if.then.230, label %if.merge.231 -while.exit.224: ; preds = %while.hdr.222 +while.exit.229: ; preds = %while.hdr.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.548, i64 1 }) ret { ptr, i64 } %callN -if.then.225: ; preds = %while.body.223 +if.then.230: ; preds = %while.body.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.226 + br label %if.merge.231 -if.merge.226: ; preds = %if.then.225, %while.body.223 +if.merge.231: ; preds = %if.then.230, %while.body.228 %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.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.550, 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.531, i64 2 }) + %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 {}, ptr %alloca, align 1 @@ -6295,7 +6526,7 @@ if.merge.226: ; preds = %if.then.225, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.222 + br label %while.hdr.227 } ; Function Attrs: nounwind @@ -6304,95 +6535,7 @@ 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.532, i64 8 }, { ptr, i64 } { ptr @str.533, 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.227 - -while.hdr.227: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.228, label %while.exit.229 - -while.body.228: ; preds = %while.hdr.227 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.230, label %if.merge.231 - -while.exit.229: ; preds = %while.hdr.227 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 1 }) - ret { ptr, i64 } %callN - -if.then.230: ; preds = %while.body.228 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.231 - -if.merge.231: ; preds = %if.then.230, %while.body.228 - %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.539, 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.540, 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.227 - -fv.default: ; preds = %if.merge.231 - br label %fv.merge - -fv.case: ; preds = %if.merge.231 - %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.231 - %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.231 - %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.541, i64 7 }, { ptr, i64 } { ptr @str.542, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.552, i64 8 }, { ptr, i64 } { ptr @str.553, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6411,24 +6554,112 @@ while.body.233: ; preds = %while.hdr.232 while.exit.234: ; preds = %while.hdr.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) ret { ptr, i64 } %callN if.then.235: ; preds = %while.body.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.236 if.merge.236: ; preds = %if.then.235, %while.body.233 %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.548, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.559, 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.549, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, 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.232 + +fv.default: ; preds = %if.merge.236 + br label %fv.merge + +fv.case: ; preds = %if.merge.236 + %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.236 + %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.236 + %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.561, i64 7 }, { ptr, i64 } { ptr @str.562, 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.237 + +while.hdr.237: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.238, label %while.exit.239 + +while.body.238: ; preds = %while.hdr.237 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.240, label %if.merge.241 + +while.exit.239: ; preds = %while.hdr.237 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + ret { ptr, i64 } %callN + +if.then.240: ; preds = %while.body.238 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.241 + +if.merge.241: ; preds = %if.then.240, %while.body.238 + %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.568, 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.569, 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 @@ -6447,26 +6678,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.232 + br label %while.hdr.237 -fv.default: ; preds = %if.merge.236 +fv.default: ; preds = %if.merge.241 br label %fv.merge -fv.case: ; preds = %if.merge.236 +fv.case: ; preds = %if.merge.241 %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.236 +fv.case17: ; preds = %if.merge.241 %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.236 +fv.case22: ; preds = %if.merge.241 %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 @@ -6480,86 +6711,7 @@ 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.550, i64 9 }, { ptr, i64 } { ptr @str.551, 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.237 - -while.hdr.237: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.238, label %while.exit.239 - -while.body.238: ; preds = %while.hdr.237 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.240, label %if.merge.241 - -while.exit.239: ; preds = %while.hdr.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) - ret { ptr, i64 } %callN - -if.then.240: ; preds = %while.body.238 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.241 - -if.merge.241: ; preds = %if.then.240, %while.body.238 - %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.556, 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.557, 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.237 - -fv.default: ; preds = %if.merge.241 - br label %fv.merge - -fv.case: ; preds = %if.merge.241 - %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.241 - %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.558, i64 4 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.570, i64 9 }, { ptr, i64 } { ptr @str.571, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6578,27 +6730,27 @@ while.body.243: ; preds = %while.hdr.242 while.exit.244: ; preds = %while.hdr.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) ret { ptr, i64 } %callN if.then.245: ; preds = %while.body.243 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.246 if.merge.246: ; preds = %if.then.245, %while.body.243 %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.564, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.576, 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.565, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, 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 { 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 @@ -6619,11 +6771,90 @@ fv.default: ; preds = %if.merge.246 br label %fv.merge fv.case: ; preds = %if.merge.246 + %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.246 + %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.578, i64 4 }, { ptr, i64 } { ptr @str.579, 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.247 + +while.hdr.247: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.248, label %while.exit.249 + +while.body.248: ; preds = %while.hdr.247 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.250, label %if.merge.251 + +while.exit.249: ; preds = %while.hdr.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + ret { ptr, i64 } %callN + +if.then.250: ; preds = %while.body.248 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.251 + +if.merge.251: ; preds = %if.then.250, %while.body.248 + %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.584, 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.585, 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.247 + +fv.default: ; preds = %if.merge.251 + br label %fv.merge + +fv.case: ; preds = %if.merge.251 %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.246 +fv.case17: ; preds = %if.merge.251 %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 @@ -6641,43 +6872,43 @@ entry: %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.566, i64 6 }, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 6 }, { ptr, i64 } { ptr @str.587, 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.247 + br label %while.hdr.252 -while.hdr.247: ; preds = %fv.merge, %entry +while.hdr.252: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.248, label %while.exit.249 + br i1 %icmp, label %while.body.253, label %while.exit.254 -while.body.248: ; preds = %while.hdr.247 +while.body.253: ; preds = %while.hdr.252 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.250, label %if.merge.251 + br i1 %icmpN, label %if.then.255, label %if.merge.256 -while.exit.249: ; preds = %while.hdr.247 +while.exit.254: ; preds = %while.hdr.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 1 }) ret { ptr, i64 } %callN -if.then.250: ; preds = %while.body.248 +if.then.255: ; preds = %while.body.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.589, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.251 + br label %if.merge.256 -if.merge.251: ; preds = %if.then.250, %while.body.248 +if.merge.256: ; preds = %if.then.255, %while.body.253 %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.577, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.597, 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.578, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, 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 @@ -6700,51 +6931,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.247 + br label %while.hdr.252 -fv.default: ; preds = %if.merge.251 +fv.default: ; preds = %if.merge.256 br label %fv.merge -fv.case: ; preds = %if.merge.251 +fv.case: ; preds = %if.merge.256 %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.251 +fv.case17: ; preds = %if.merge.256 %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.251 +fv.case22: ; preds = %if.merge.256 %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.251 +fv.case25: ; preds = %if.merge.256 %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.251 +fv.case28: ; preds = %if.merge.256 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.251 +fv.case33: ; preds = %if.merge.256 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.251 +fv.case38: ; preds = %if.merge.256 %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 @@ -6759,43 +6990,43 @@ entry: %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.579, i64 6 }, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 6 }, { ptr, i64 } { ptr @str.600, 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.252 + br label %while.hdr.257 -while.hdr.252: ; preds = %fv.merge, %entry +while.hdr.257: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.253, label %while.exit.254 + br i1 %icmp, label %while.body.258, label %while.exit.259 -while.body.253: ; preds = %while.hdr.252 +while.body.258: ; preds = %while.hdr.257 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.255, label %if.merge.256 + br i1 %icmpN, label %if.then.260, label %if.merge.261 -while.exit.254: ; preds = %while.hdr.252 +while.exit.259: ; preds = %while.hdr.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) ret { ptr, i64 } %callN -if.then.255: ; preds = %while.body.253 +if.then.260: ; preds = %while.body.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.256 + br label %if.merge.261 -if.merge.256: ; preds = %if.then.255, %while.body.253 +if.merge.261: ; preds = %if.then.260, %while.body.258 %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.587, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.607, 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.588, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, 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 @@ -6815,31 +7046,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.252 + br label %while.hdr.257 -fv.default: ; preds = %if.merge.256 +fv.default: ; preds = %if.merge.261 br label %fv.merge -fv.case: ; preds = %if.merge.256 +fv.case: ; preds = %if.merge.261 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.256 +fv.case17: ; preds = %if.merge.261 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.256 +fv.case22: ; preds = %if.merge.261 %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.256 +fv.case25: ; preds = %if.merge.261 %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 @@ -6850,82 +7081,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.589, i64 8 }, { ptr, i64 } { ptr @str.590, 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.257 - -while.hdr.257: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.258, label %while.exit.259 - -while.body.258: ; preds = %while.hdr.257 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.260, label %if.merge.261 - -while.exit.259: ; preds = %while.hdr.257 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, i64 1 }) - ret { ptr, i64 } %callN - -if.then.260: ; preds = %while.body.258 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.261 - -if.merge.261: ; preds = %if.then.260, %while.body.258 - %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.595, 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.596, 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.257 - -fv.default: ; preds = %if.merge.261 - br label %fv.merge - -fv.case: ; preds = %if.merge.261 - %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.261 - %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__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.597, i64 6 }, { ptr, i64 } { ptr @str.598, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 8 }, { ptr, i64 } { ptr @str.610, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6934,7 +7090,7 @@ entry: while.hdr.262: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.263, label %while.exit.264 while.body.263: ; preds = %while.hdr.262 @@ -6944,118 +7100,16 @@ while.body.263: ; preds = %while.hdr.262 while.exit.264: ; preds = %while.hdr.262 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) ret { ptr, i64 } %callN if.then.265: ; preds = %while.body.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.266 if.merge.266: ; preds = %if.then.265, %while.body.263 - %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.607, 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.608, 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.262 - -fv.default: ; preds = %if.merge.266 - br label %fv.merge - -fv.case: ; preds = %if.merge.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.609, i64 10 }, { ptr, i64 } { ptr @str.610, 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.267 - -while.hdr.267: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.268, label %while.exit.269 - -while.body.268: ; preds = %while.hdr.267 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.270, label %if.merge.271 - -while.exit.269: ; preds = %while.hdr.267 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) - ret { ptr, i64 } %callN - -if.then.270: ; preds = %while.body.268 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.271 - -if.merge.271: ; preds = %if.then.270, %while.body.268 %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.615, i64 0, i64 %loadN @@ -7081,17 +7135,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.262 + +fv.default: ; preds = %if.merge.266 + br label %fv.merge + +fv.case: ; preds = %if.merge.266 + %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.266 + %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__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.617, i64 6 }, { ptr, i64 } { ptr @str.618, 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.267 + +while.hdr.267: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.268, label %while.exit.269 + +while.body.268: ; preds = %while.hdr.267 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.270, label %if.merge.271 + +while.exit.269: ; preds = %while.hdr.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) + ret { ptr, i64 } %callN + +if.then.270: ; preds = %while.body.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.271 + +if.merge.271: ; preds = %if.then.270, %while.body.268 + %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.627, 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.628, 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.267 fv.default: ; preds = %if.merge.271 br label %fv.merge fv.case: ; preds = %if.merge.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.629, i64 10 }, { ptr, i64 } { ptr @str.630, 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.272 + +while.hdr.272: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.273, label %while.exit.274 + +while.body.273: ; preds = %while.hdr.272 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.275, label %if.merge.276 + +while.exit.274: ; preds = %while.hdr.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + ret { ptr, i64 } %callN + +if.then.275: ; preds = %while.body.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.276 + +if.merge.276: ; preds = %if.then.275, %while.body.273 + %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.635, 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.636, 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.272 + +fv.default: ; preds = %if.merge.276 + br label %fv.merge + +fv.case: ; preds = %if.merge.276 %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.271 +fv.case17: ; preds = %if.merge.276 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7102,43 +7333,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 5 }, { ptr, i64 } { ptr @str.618, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 5 }, { ptr, i64 } { ptr @str.638, 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.272 + br label %while.hdr.277 -while.hdr.272: ; preds = %fv.merge, %entry +while.hdr.277: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.273, label %while.exit.274 + br i1 %icmp, label %while.body.278, label %while.exit.279 -while.body.273: ; preds = %while.hdr.272 +while.body.278: ; preds = %while.hdr.277 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.275, label %if.merge.276 + br i1 %icmpN, label %if.then.280, label %if.merge.281 -while.exit.274: ; preds = %while.hdr.272 +while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) ret { ptr, i64 } %callN -if.then.275: ; preds = %while.body.273 +if.then.280: ; preds = %while.body.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.276 + br label %if.merge.281 -if.merge.276: ; preds = %if.then.275, %while.body.273 +if.merge.281: ; preds = %if.then.280, %while.body.278 %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.628, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.648, 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.629, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, 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, i64 }, ptr %alloca, align 8 @@ -7161,47 +7392,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.272 + br label %while.hdr.277 -fv.default: ; preds = %if.merge.276 +fv.default: ; preds = %if.merge.281 br label %fv.merge -fv.case: ; preds = %if.merge.276 +fv.case: ; preds = %if.merge.281 %fv.field = extractvalue { i32, i64, 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.276 +fv.case17: ; preds = %if.merge.281 %fv.field18 = extractvalue { i32, i64, 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.276 +fv.case20: ; preds = %if.merge.281 %fv.field21 = extractvalue { i32, i64, 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.276 +fv.case23: ; preds = %if.merge.281 %fv.field24 = extractvalue { i32, i64, 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.276 +fv.case27: ; preds = %if.merge.281 %fv.field28 = extractvalue { i32, i64, 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.276 +fv.case31: ; preds = %if.merge.281 %fv.field32 = extractvalue { i32, i64, 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.276 +fv.case35: ; preds = %if.merge.281 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -7212,78 +7443,7 @@ 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.630, i64 4 }, { ptr, i64 } { ptr @str.631, 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.277 - -while.hdr.277: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.278, label %while.exit.279 - -while.body.278: ; preds = %while.hdr.277 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 - -while.exit.279: ; preds = %while.hdr.277 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) - ret { ptr, i64 } %callN - -if.then.280: ; preds = %while.body.278 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 - -if.merge.281: ; preds = %if.then.280, %while.body.278 - %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.635, 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.636, 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.277 - -fv.default: ; preds = %if.merge.281 - br label %fv.merge - -fv.case: ; preds = %if.merge.281 - %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__Mat4(ptr %0, { [16 x float] } %1) #0 { -entry: - %alloca = alloca { [16 x float] }, align 8 - %ba.tmp = alloca [16 x float], align 4 - store { [16 x float] } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 4 }, { ptr, i64 } { ptr @str.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 4 }, { ptr, i64 } { ptr @str.651, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7302,27 +7462,27 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) ret { ptr, i64 } %callN if.then.285: ; preds = %while.body.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.286 if.merge.286: ; preds = %if.then.285, %while.body.283 %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.642, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.655, 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.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { [16 x float] }, ptr %alloca, align 4 + %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 @@ -7342,19 +7502,18 @@ fv.default: ; preds = %if.merge.286 br label %fv.merge fv.case: ; preds = %if.merge.286 - %fv.field = extractvalue { [16 x float] } %loadN, 0 - store [16 x float] %fv.field, ptr %ba.tmp, align 4 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %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__Vec2(ptr %0, { float, float } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %1) #0 { entry: - %alloca = alloca { float, float }, align 8 - store { float, float } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 4 }, { ptr, i64 } { ptr @str.645, i64 1 }) + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } { ptr @str.658, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7363,7 +7522,7 @@ entry: while.hdr.287: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 7 br i1 %icmp, label %while.body.288, label %while.exit.289 while.body.288: ; preds = %while.hdr.287 @@ -7373,24 +7532,659 @@ while.body.288: ; preds = %while.hdr.287 while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) ret { ptr, i64 } %callN if.then.290: ; preds = %while.body.288 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.291 if.merge.291: ; preds = %if.then.290, %while.body.288 %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.650, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.668, 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.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.287 + +fv.default: ; preds = %if.merge.291 + br label %fv.merge + +fv.case: ; preds = %if.merge.291 + %fv.field = extractvalue { i64, i32, 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.291 + %fv.field18 = extractvalue { i64, i32, 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.291 + %fv.field21 = extractvalue { i64, i32, 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.291 + %fv.field24 = extractvalue { i64, i32, 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.291 + %fv.field27 = extractvalue { i64, i32, 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.291 + %fv.field30 = extractvalue { i64, i32, 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.291 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.670, i64 7 }, { ptr, i64 } { ptr @str.671, 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.292 + +while.hdr.292: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.293, label %while.exit.294 + +while.body.293: ; preds = %while.hdr.292 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.295, label %if.merge.296 + +while.exit.294: ; preds = %while.hdr.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 1 }) + ret { ptr, i64 } %callN + +if.then.295: ; preds = %while.body.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.296 + +if.merge.296: ; preds = %if.then.295, %while.body.293 + %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.680, 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.681, 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.292 + +fv.default: ; preds = %if.merge.296 + br label %fv.merge + +fv.case: ; preds = %if.merge.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.682, i64 8 }, { ptr, i64 } { ptr @str.683, 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.684, i64 1 }) + ret { ptr, i64 } %callN + +if.then.300: ; preds = %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %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.690, 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.691, 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %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.301 + %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.301 + %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.301 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 4 }, { ptr, i64 } { ptr @str.693, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %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 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.707, 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.708, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.306 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.306 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.306 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.306 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.306 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.306 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.306 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.306 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 6 }, { ptr, i64 } { ptr @str.710, 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.307 + +while.hdr.307: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.308, label %while.exit.309 + +while.body.308: ; preds = %while.hdr.307 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.310, label %if.merge.311 + +while.exit.309: ; preds = %while.hdr.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) + ret { ptr, i64 } %callN + +if.then.310: ; preds = %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.311 + +if.merge.311: ; preds = %if.then.310, %while.body.308 + %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.719, 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.720, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.307 + +fv.default: ; preds = %if.merge.311 + br label %fv.merge + +fv.case: ; preds = %if.merge.311 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.311 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.311 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.311 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.311 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.311 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %1) #0 { +entry: + %alloca = alloca { [16 x float] }, align 8 + %ba.tmp = alloca [16 x float], align 4 + store { [16 x float] } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 4 }, { ptr, i64 } { ptr @str.722, 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.312 + +while.hdr.312: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.313, label %while.exit.314 + +while.body.313: ; preds = %while.hdr.312 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.315, label %if.merge.316 + +while.exit.314: ; preds = %while.hdr.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) + ret { ptr, i64 } %callN + +if.then.315: ; preds = %while.body.313 + %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 + br label %if.merge.316 + +if.merge.316: ; preds = %if.then.315, %while.body.313 + %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.726, 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.727, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { [16 x float] }, 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.312 + +fv.default: ; preds = %if.merge.316 + br label %fv.merge + +fv.case: ; preds = %if.merge.316 + %fv.field = extractvalue { [16 x float] } %loadN, 0 + store [16 x float] %fv.field, ptr %ba.tmp, align 4 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1) #0 { +entry: + %alloca = alloca { float, float }, align 8 + store { float, float } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 4 }, { ptr, i64 } { ptr @str.729, 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.317 + +while.hdr.317: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.318, label %while.exit.319 + +while.body.318: ; preds = %while.hdr.317 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.320, label %if.merge.321 + +while.exit.319: ; preds = %while.hdr.317 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) + ret { ptr, i64 } %callN + +if.then.320: ; preds = %while.body.318 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.321 + +if.merge.321: ; preds = %if.then.320, %while.body.318 + %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.734, 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.735, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -7408,19 +8202,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.287 + br label %while.hdr.317 -fv.default: ; preds = %if.merge.291 +fv.default: ; preds = %if.merge.321 br label %fv.merge -fv.case: ; preds = %if.merge.291 +fv.case: ; preds = %if.merge.321 %fv.field = extractvalue { float, float } %loadN, 0 %fNi32 = bitcast float %fv.field to i32 %zN = zext i32 %fNi32 to i64 %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.291 +fv.case17: ; preds = %if.merge.321 %fv.field18 = extractvalue { float, float } %loadN, 1 %fNi3219 = bitcast float %fv.field18 to i32 %zN = zext i32 %fNi3219 to i64 @@ -7434,43 +8228,43 @@ entry: %alloca = alloca { <3 x float> }, align 16 %ba.tmp = alloca <3 x float>, align 16 store { <3 x float> } %1, ptr %alloca, align 16 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 11 }, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 11 }, { ptr, i64 } { ptr @str.737, 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.292 + br label %while.hdr.322 -while.hdr.292: ; preds = %fv.merge, %entry +while.hdr.322: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.293, label %while.exit.294 + br i1 %icmp, label %while.body.323, label %while.exit.324 -while.body.293: ; preds = %while.hdr.292 +while.body.323: ; preds = %while.hdr.322 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.295, label %if.merge.296 + br i1 %icmpN, label %if.then.325, label %if.merge.326 -while.exit.294: ; preds = %while.hdr.292 +while.exit.324: ; preds = %while.hdr.322 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %callN -if.then.295: ; preds = %while.body.293 +if.then.325: ; preds = %while.body.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %while.body.293 +if.merge.326: ; preds = %if.then.325, %while.body.323 %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.657, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.741, 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.658, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { <3 x float> }, ptr %alloca, align 16 @@ -7487,16 +8281,16 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.292 + br label %while.hdr.322 -fv.default: ; preds = %if.merge.296 +fv.default: ; preds = %if.merge.326 br label %fv.merge -fv.case: ; preds = %if.merge.296 +fv.case: ; preds = %if.merge.326 %fv.field = extractvalue { <3 x float> } %loadN, 0 store <3 x float> %fv.field, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -7506,43 +8300,43 @@ entry: %alloca = alloca { <3 x float> }, align 16 %ba.tmp = alloca <3 x float>, align 16 store { <3 x float> } %1, ptr %alloca, align 16 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 4 }, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 4 }, { ptr, i64 } { ptr @str.744, 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.297 + br label %while.hdr.327 -while.hdr.297: ; preds = %fv.merge, %entry +while.hdr.327: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.298, label %while.exit.299 + br i1 %icmp, label %while.body.328, label %while.exit.329 -while.body.298: ; preds = %while.hdr.297 +while.body.328: ; preds = %while.hdr.327 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.300, label %if.merge.301 + br i1 %icmpN, label %if.then.330, label %if.merge.331 -while.exit.299: ; preds = %while.hdr.297 +while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 1 }) ret { ptr, i64 } %callN -if.then.300: ; preds = %while.body.298 +if.then.330: ; preds = %while.body.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.301 + br label %if.merge.331 -if.merge.301: ; preds = %if.then.300, %while.body.298 +if.merge.331: ; preds = %if.then.330, %while.body.328 %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.664, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.748, 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.665, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { <3 x float> }, ptr %alloca, align 16 @@ -7559,16 +8353,16 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.297 + br label %while.hdr.327 -fv.default: ; preds = %if.merge.301 +fv.default: ; preds = %if.merge.331 br label %fv.merge -fv.case: ; preds = %if.merge.301 +fv.case: ; preds = %if.merge.331 %fv.field = extractvalue { <3 x float> } %loadN, 0 store <3 x float> %fv.field, ptr %ba.tmp, align 16 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -7577,43 +8371,43 @@ define internal { ptr, i64 } @struct_to_string__Complex__u32(ptr %0, { i32, i32 entry: %alloca = alloca { i32, i32 }, align 8 store { i32, i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 12 }, { ptr, i64 } { ptr @str.667, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 12 }, { ptr, i64 } { ptr @str.751, 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.302 + br label %while.hdr.332 -while.hdr.302: ; preds = %fv.merge, %entry +while.hdr.332: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.303, label %while.exit.304 + br i1 %icmp, label %while.body.333, label %while.exit.334 -while.body.303: ; preds = %while.hdr.302 +while.body.333: ; preds = %while.hdr.332 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.305, label %if.merge.306 + br i1 %icmpN, label %if.then.335, label %if.merge.336 -while.exit.304: ; preds = %while.hdr.302 +while.exit.334: ; preds = %while.hdr.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) ret { ptr, i64 } %callN -if.then.305: ; preds = %while.body.303 +if.then.335: ; preds = %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %while.body.303 +if.merge.336: ; preds = %if.then.335, %while.body.333 %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.672, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.756, 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.673, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -7631,18 +8425,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 -fv.default: ; preds = %if.merge.306 +fv.default: ; preds = %if.merge.336 br label %fv.merge -fv.case: ; preds = %if.merge.306 +fv.case: ; preds = %if.merge.336 %fv.field = extractvalue { i32, i32 } %loadN, 0 %zN = zext i32 %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.306 +fv.case17: ; preds = %if.merge.336 %fv.field18 = extractvalue { i32, i32 } %loadN, 1 %zN = zext i32 %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1 @@ -7654,43 +8448,43 @@ define internal { ptr, i64 } @struct_to_string__Foo(ptr %0, { i32, i32 } %1) #0 entry: %alloca = alloca { i32, i32 }, align 8 store { i32, i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 3 }, { ptr, i64 } { ptr @str.675, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 3 }, { ptr, i64 } { ptr @str.759, 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.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %fv.merge, %entry +while.hdr.337: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.760, i64 1 }) ret { ptr, i64 } %callN -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.761, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %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.680, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.764, 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.681, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.765, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -7708,18 +8502,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -fv.default: ; preds = %if.merge.311 +fv.default: ; preds = %if.merge.341 br label %fv.merge -fv.case: ; preds = %if.merge.311 +fv.case: ; preds = %if.merge.341 %fv.field = extractvalue { i32, i32 } %loadN, 0 %zN = zext i32 %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.311 +fv.case17: ; preds = %if.merge.341 %fv.field18 = extractvalue { i32, i32 } %loadN, 1 %zN = zext i32 %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 8, i64 undef }, i64 %zN, 1 @@ -7735,9 +8529,9 @@ entry: %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.687, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.771, 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.682, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, 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 @@ -7751,18 +8545,18 @@ entry: %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.320, label %if.merge.321 + br i1 %icmp, label %if.then.350, label %if.merge.351 -if.then.320: ; preds = %entry +if.then.350: ; 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.689, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.773, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, 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.321 + br label %if.merge.351 -if.merge.321: ; preds = %if.then.320, %entry +if.merge.351: ; preds = %if.then.350, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7776,9 +8570,9 @@ entry: %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.694, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.778, 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.690, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, 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 @@ -7792,18 +8586,18 @@ entry: %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.322, label %if.merge.323 + br i1 %icmp, label %if.then.352, label %if.merge.353 -if.then.322: ; preds = %entry +if.then.352: ; 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.696, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, 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.323 + br label %if.merge.353 -if.merge.323: ; preds = %if.then.322, %entry +if.merge.353: ; preds = %if.then.352, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7828,9 +8622,9 @@ entry: %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.704, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.788, 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.697, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, 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 @@ -7844,16 +8638,16 @@ entry: i64 5, label %fv.case24 ] -if.then.324: ; preds = %fv.merge +if.then.354: ; 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.706, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, 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.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %fv.merge +if.merge.355: ; preds = %if.then.354, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7866,7 +8660,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.324, label %if.merge.325 + br i1 %icmp, label %if.then.354, label %if.merge.355 fv.default: ; preds = %entry br label %fv.merge @@ -7926,9 +8720,9 @@ entry: %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.715, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.799, 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.707, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, 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 @@ -7942,18 +8736,18 @@ entry: %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.326, label %if.merge.327 + br i1 %icmp, label %if.then.356, label %if.merge.357 -if.then.326: ; preds = %entry +if.then.356: ; 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.717, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, 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.327 + br label %if.merge.357 -if.merge.327: ; preds = %if.then.326, %entry +if.merge.357: ; preds = %if.then.356, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7967,9 +8761,9 @@ entry: %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.724, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.808, 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.718, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, 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 @@ -7983,18 +8777,18 @@ entry: %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.328, label %if.merge.329 + br i1 %icmp, label %if.then.358, label %if.merge.359 -if.then.328: ; preds = %entry +if.then.358: ; 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.726, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, 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.329 + br label %if.merge.359 -if.merge.329: ; preds = %if.then.328, %entry +if.merge.359: ; preds = %if.then.358, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8013,9 +8807,9 @@ entry: %allocaN = alloca i64, align 8 store i64 %etag, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.730, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.814, 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.727, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 1 }, { ptr, i64 } %fn.load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { i64, [4 x i8] }, ptr %alloca, align 8 @@ -8025,16 +8819,16 @@ entry: i64 1, label %fv.case6 ] -if.then.330: ; preds = %fv.merge +if.then.360: ; 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.732, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.816, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, 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.331 + br label %if.merge.361 -if.merge.331: ; preds = %if.then.330, %fv.merge +if.merge.361: ; preds = %if.then.360, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -8047,7 +8841,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.330, label %if.merge.331 + br i1 %icmp, label %if.then.360, label %if.merge.361 fv.default: ; preds = %entry br label %fv.merge @@ -8076,33 +8870,33 @@ entry: %alloca = alloca <3 x float>, align 16 store <3 x float> %1, ptr %alloca, align 16 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.733, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.817, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 -while.hdr.335: ; preds = %if.merge.339, %entry +while.hdr.365: ; preds = %if.merge.369, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.336, label %while.exit.337 + br i1 %icmp, label %while.body.366, label %while.exit.367 -while.body.336: ; preds = %while.hdr.335 +while.body.366: ; preds = %while.hdr.365 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.338, label %if.merge.339 + br i1 %icmpN, label %if.then.368, label %if.merge.369 -while.exit.337: ; preds = %while.hdr.335 +while.exit.367: ; preds = %while.hdr.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.818, i64 1 }) ret { ptr, i64 } %call -if.then.338: ; preds = %while.body.336 +if.then.368: ; preds = %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.819, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.339 + br label %if.merge.369 -if.merge.339: ; preds = %if.then.338, %while.body.336 +if.merge.369: ; preds = %if.then.368, %while.body.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load <3 x float>, ptr %alloca, align 16 %loadN = load i64, ptr %allocaN, align 8 @@ -8117,7 +8911,7 @@ if.merge.339: ; preds = %if.then.338, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.335 + br label %while.hdr.365 } ; Function Attrs: nounwind @@ -8127,33 +8921,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.736, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.820, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.821, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.822, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8167,7 +8961,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -8178,33 +8972,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.739, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.823, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.824, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8220,7 +9014,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -8230,33 +9024,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.742, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.826, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.827, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %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 }) + %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.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8270,7 +9064,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -8280,33 +9074,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.745, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.829, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.830, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.831, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -8321,7 +9115,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -8331,33 +9125,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.748, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.832, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 -while.hdr.370: ; preds = %if.merge.374, %entry +while.hdr.400: ; preds = %if.merge.404, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.371, label %while.exit.372 + br i1 %icmp, label %while.body.401, label %while.exit.402 -while.body.371: ; preds = %while.hdr.370 +while.body.401: ; preds = %while.hdr.400 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 + br i1 %icmpN, label %if.then.403, label %if.merge.404 -while.exit.372: ; preds = %while.hdr.370 +while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.833, i64 1 }) ret { ptr, i64 } %call -if.then.373: ; preds = %while.body.371 +if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.834, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.374 + br label %if.merge.404 -if.merge.374: ; preds = %if.then.373, %while.body.371 +if.merge.404: ; preds = %if.then.403, %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8371,7 +9165,7 @@ if.merge.374: ; preds = %if.then.373, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 } ; Function Attrs: nounwind @@ -8381,33 +9175,33 @@ entry: %ig.tmp = alloca [16 x float], align 4 store [16 x float] %1, ptr %alloca, align 4 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.751, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.835, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 -while.hdr.375: ; preds = %if.merge.379, %entry +while.hdr.405: ; preds = %if.merge.409, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.376, label %while.exit.377 + br i1 %icmp, label %while.body.406, label %while.exit.407 -while.body.376: ; preds = %while.hdr.375 +while.body.406: ; preds = %while.hdr.405 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.378, label %if.merge.379 + br i1 %icmpN, label %if.then.408, label %if.merge.409 -while.exit.377: ; preds = %while.hdr.375 +while.exit.407: ; preds = %while.hdr.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.836, i64 1 }) ret { ptr, i64 } %call -if.then.378: ; preds = %while.body.376 +if.then.408: ; preds = %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) + %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.379 + br label %if.merge.409 -if.merge.379: ; preds = %if.then.378, %while.body.376 +if.merge.409: ; preds = %if.then.408, %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x float], ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 @@ -8423,7 +9217,7 @@ if.merge.379: ; preds = %if.then.378, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 } ; Function Attrs: nounwind @@ -8434,33 +9228,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.754, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.838, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 -while.hdr.380: ; preds = %if.merge.384, %entry +while.hdr.410: ; preds = %if.merge.414, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.381, label %while.exit.382 + br i1 %icmp, label %while.body.411, label %while.exit.412 -while.body.381: ; preds = %while.hdr.380 +while.body.411: ; preds = %while.hdr.410 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.383, label %if.merge.384 + br i1 %icmpN, label %if.then.413, label %if.merge.414 -while.exit.382: ; preds = %while.hdr.380 +while.exit.412: ; preds = %while.hdr.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.839, i64 1 }) ret { ptr, i64 } %call -if.then.383: ; preds = %while.body.381 +if.then.413: ; preds = %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.840, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.384 + br label %if.merge.414 -if.merge.384: ; preds = %if.then.383, %while.body.381 +if.merge.414: ; preds = %if.then.413, %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8476,7 +9270,7 @@ if.merge.384: ; preds = %if.then.383, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 } ; Function Attrs: nounwind @@ -8486,33 +9280,33 @@ entry: %ig.tmp = alloca [5 x float], align 4 store [5 x float] %1, ptr %alloca, align 4 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.757, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.841, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 -while.hdr.385: ; preds = %if.merge.389, %entry +while.hdr.415: ; preds = %if.merge.419, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.386, label %while.exit.387 + br i1 %icmp, label %while.body.416, label %while.exit.417 -while.body.386: ; preds = %while.hdr.385 +while.body.416: ; preds = %while.hdr.415 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.388, label %if.merge.389 + br i1 %icmpN, label %if.then.418, label %if.merge.419 -while.exit.387: ; preds = %while.hdr.385 +while.exit.417: ; preds = %while.hdr.415 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.758, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.842, i64 1 }) ret { ptr, i64 } %call -if.then.388: ; preds = %while.body.386 +if.then.418: ; preds = %while.body.416 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.843, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.389 + br label %if.merge.419 -if.merge.389: ; preds = %if.then.388, %while.body.386 +if.merge.419: ; preds = %if.then.418, %while.body.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [5 x float], ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 @@ -8528,7 +9322,7 @@ if.merge.389: ; preds = %if.then.388, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 } ; Function Attrs: nounwind @@ -8538,35 +9332,35 @@ entry: %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.760, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.844, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.398 + br label %while.hdr.428 -while.hdr.398: ; preds = %if.merge.402, %entry +while.hdr.428: ; preds = %if.merge.432, %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.399, label %while.exit.400 + br i1 %icmp, label %while.body.429, label %while.exit.430 -while.body.399: ; preds = %while.hdr.398 +while.body.429: ; preds = %while.hdr.428 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.401, label %if.merge.402 + br i1 %icmpN, label %if.then.431, label %if.merge.432 -while.exit.400: ; preds = %while.hdr.398 +while.exit.430: ; preds = %while.hdr.428 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.761, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.845, i64 1 }) ret { ptr, i64 } %call -if.then.401: ; preds = %while.body.399 +if.then.431: ; preds = %while.body.429 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.762, i64 2 }) + %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.402 + br label %if.merge.432 -if.merge.402: ; preds = %if.then.401, %while.body.399 +if.merge.432: ; preds = %if.then.431, %while.body.429 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8582,7 +9376,7 @@ if.merge.402: ; preds = %if.then.401, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.398 + br label %while.hdr.428 } ; Function Attrs: nounwind @@ -8591,35 +9385,35 @@ 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.763, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.847, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.403 + br label %while.hdr.433 -while.hdr.403: ; preds = %if.merge.407, %entry +while.hdr.433: ; preds = %if.merge.437, %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.404, label %while.exit.405 + br i1 %icmp, label %while.body.434, label %while.exit.435 -while.body.404: ; preds = %while.hdr.403 +while.body.434: ; preds = %while.hdr.433 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.406, label %if.merge.407 + br i1 %icmpN, label %if.then.436, label %if.merge.437 -while.exit.405: ; preds = %while.hdr.403 +while.exit.435: ; preds = %while.hdr.433 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.764, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.848, i64 1 }) ret { ptr, i64 } %call -if.then.406: ; preds = %while.body.404 +if.then.436: ; preds = %while.body.434 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.765, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.849, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.407 + br label %if.merge.437 -if.merge.407: ; preds = %if.then.406, %while.body.404 +if.merge.437: ; preds = %if.then.436, %while.body.434 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8634,7 +9428,7 @@ if.merge.407: ; preds = %if.then.406, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.403 + br label %while.hdr.433 } ; Function Attrs: nounwind @@ -8644,35 +9438,35 @@ entry: %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.766, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.850, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.408 + br label %while.hdr.438 -while.hdr.408: ; preds = %if.merge.412, %entry +while.hdr.438: ; preds = %if.merge.442, %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.409, label %while.exit.410 + br i1 %icmp, label %while.body.439, label %while.exit.440 -while.body.409: ; preds = %while.hdr.408 +while.body.439: ; preds = %while.hdr.438 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.411, label %if.merge.412 + br i1 %icmpN, label %if.then.441, label %if.merge.442 -while.exit.410: ; preds = %while.hdr.408 +while.exit.440: ; preds = %while.hdr.438 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.767, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.851, i64 1 }) ret { ptr, i64 } %call -if.then.411: ; preds = %while.body.409 +if.then.441: ; preds = %while.body.439 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.852, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.412 + br label %if.merge.442 -if.merge.412: ; preds = %if.then.411, %while.body.409 +if.merge.442: ; preds = %if.then.441, %while.body.439 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8688,7 +9482,7 @@ if.merge.412: ; preds = %if.then.411, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.408 + br label %while.hdr.438 } ; Function Attrs: nounwind @@ -8698,35 +9492,35 @@ entry: %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.769, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.853, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.413 + br label %while.hdr.443 -while.hdr.413: ; preds = %if.merge.417, %entry +while.hdr.443: ; preds = %if.merge.447, %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.414, label %while.exit.415 + br i1 %icmp, label %while.body.444, label %while.exit.445 -while.body.414: ; preds = %while.hdr.413 +while.body.444: ; preds = %while.hdr.443 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.416, label %if.merge.417 + br i1 %icmpN, label %if.then.446, label %if.merge.447 -while.exit.415: ; preds = %while.hdr.413 +while.exit.445: ; preds = %while.hdr.443 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.770, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.854, i64 1 }) ret { ptr, i64 } %call -if.then.416: ; preds = %while.body.414 +if.then.446: ; preds = %while.body.444 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.855, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.417 + br label %if.merge.447 -if.merge.417: ; preds = %if.then.416, %while.body.414 +if.merge.447: ; preds = %if.then.446, %while.body.444 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8742,7 +9536,7 @@ if.merge.417: ; preds = %if.then.416, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.413 + br label %while.hdr.443 } ; Function Attrs: nounwind @@ -8752,35 +9546,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.772, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.856, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.418 + br label %while.hdr.448 -while.hdr.418: ; preds = %if.merge.422, %entry +while.hdr.448: ; preds = %if.merge.452, %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.419, label %while.exit.420 + br i1 %icmp, label %while.body.449, label %while.exit.450 -while.body.419: ; preds = %while.hdr.418 +while.body.449: ; preds = %while.hdr.448 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.421, label %if.merge.422 + br i1 %icmpN, label %if.then.451, label %if.merge.452 -while.exit.420: ; preds = %while.hdr.418 +while.exit.450: ; preds = %while.hdr.448 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.773, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.857, i64 1 }) ret { ptr, i64 } %call -if.then.421: ; preds = %while.body.419 +if.then.451: ; preds = %while.body.449 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.774, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.858, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.422 + br label %if.merge.452 -if.merge.422: ; preds = %if.then.421, %while.body.419 +if.merge.452: ; preds = %if.then.451, %while.body.449 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8796,7 +9590,7 @@ if.merge.422: ; preds = %if.then.421, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.418 + br label %while.hdr.448 } ; Function Attrs: nounwind @@ -8806,35 +9600,35 @@ entry: %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.775, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.859, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.453 -while.hdr.423: ; preds = %if.merge.427, %entry +while.hdr.453: ; preds = %if.merge.457, %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.424, label %while.exit.425 + br i1 %icmp, label %while.body.454, label %while.exit.455 -while.body.424: ; preds = %while.hdr.423 +while.body.454: ; preds = %while.hdr.453 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.426, label %if.merge.427 + br i1 %icmpN, label %if.then.456, label %if.merge.457 -while.exit.425: ; preds = %while.hdr.423 +while.exit.455: ; preds = %while.hdr.453 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.860, i64 1 }) ret { ptr, i64 } %call -if.then.426: ; preds = %while.body.424 +if.then.456: ; preds = %while.body.454 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.861, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.427 + br label %if.merge.457 -if.merge.427: ; preds = %if.then.426, %while.body.424 +if.merge.457: ; preds = %if.then.456, %while.body.454 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8850,206 +9644,11 @@ if.merge.427: ; preds = %if.then.426, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.453 } ; 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.471, label %if.else.472 - -if.then.471: ; preds = %entry - br label %if.merge.473 - -if.else.472: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.473 - -if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] - 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.487, label %if.else.488 - -if.then.487: ; preds = %entry - br label %if.merge.489 - -if.else.488: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.489 - -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] - 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.490, label %if.else.491 - -if.then.490: ; preds = %entry - br label %if.merge.492 - -if.else.491: ; 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.786, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.492 - -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] - 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.493, label %if.else.494 - -if.then.493: ; preds = %entry - br label %if.merge.495 - -if.else.494: ; 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.789, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.495 - -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] - 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.496, label %if.else.497 - -if.then.496: ; preds = %entry - br label %if.merge.498 - -if.else.497: ; 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.792, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.498 - -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] - ret { ptr, i64 } %bp -} - -; 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.499, label %if.else.500 - -if.then.499: ; preds = %entry - br label %if.merge.501 - -if.else.500: ; 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.795, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.501 - -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] - 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.502, label %if.else.503 - -if.then.502: ; preds = %entry - br label %if.merge.504 - -if.else.503: ; 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.798, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.504 - -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] - 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 @@ -9067,12 +9666,207 @@ if.then.505: ; preds = %entry if.else.506: ; 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.801, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 5 }, { ptr, i64 } %callN) br label %if.merge.507 if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + 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.521, label %if.else.522 + +if.then.521: ; preds = %entry + br label %if.merge.523 + +if.else.522: ; 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.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.523 + +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] + 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.524, label %if.else.525 + +if.then.524: ; preds = %entry + br label %if.merge.526 + +if.else.525: ; 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.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.526 + +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] + 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.527, label %if.else.528 + +if.then.527: ; preds = %entry + br label %if.merge.529 + +if.else.528: ; 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.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.529 + +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] + 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.530, label %if.else.531 + +if.then.530: ; preds = %entry + br label %if.merge.532 + +if.else.531: ; 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.876, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.532 + +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] + ret { ptr, i64 } %bp +} + +; 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.533, label %if.else.534 + +if.then.533: ; preds = %entry + br label %if.merge.535 + +if.else.534: ; 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.879, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.535 + +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] + 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.536, label %if.else.537 + +if.then.536: ; preds = %entry + br label %if.merge.538 + +if.else.537: ; 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.882, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.538 + +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.880, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] + 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.539, label %if.else.540 + +if.then.539: ; preds = %entry + br label %if.merge.541 + +if.else.540: ; 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.885, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.541 + +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.883, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } @@ -9087,20 +9881,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.542, label %if.else.543 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.542: ; preds = %entry + br label %if.merge.544 -if.else.509: ; preds = %entry +if.else.543: ; 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.804, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.888, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.544 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.886, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -9115,20 +9909,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.545, label %if.else.546 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.545: ; preds = %entry + br label %if.merge.547 -if.else.512: ; preds = %entry +if.else.546: ; 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.807, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.891, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.547 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.889, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -9143,20 +9937,20 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.515: ; preds = %entry +if.else.549: ; 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.810, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.892, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -9171,20 +9965,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.551, label %if.else.552 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.551: ; preds = %entry + br label %if.merge.553 -if.else.518: ; preds = %entry +if.else.552: ; 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.813, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.897, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.553 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.895, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -9198,20 +9992,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.554, label %if.else.555 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.554: ; preds = %entry + br label %if.merge.556 -if.else.521: ; preds = %entry +if.else.555: ; 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.816, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.900, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.556 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.898, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -9226,20 +10020,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.557, label %if.else.558 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.557: ; preds = %entry + br label %if.merge.559 -if.else.524: ; preds = %entry +if.else.558: ; 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.819, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.559 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.901, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -9253,20 +10047,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.560, label %if.else.561 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.560: ; preds = %entry + br label %if.merge.562 -if.else.527: ; preds = %entry +if.else.561: ; 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.822, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.905, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.562 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.904, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -9281,20 +10075,20 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.530: ; preds = %entry +if.else.564: ; 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.825, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.907, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -9309,20 +10103,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.533: ; preds = %entry +if.else.567: ; 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.828, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.912, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.910, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -9337,20 +10131,20 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.536: ; preds = %entry +if.else.570: ; 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.831, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.913, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] ret { ptr, i64 } %bp } @@ -9365,20 +10159,20 @@ entry: 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.538, label %if.else.539 + br i1 %icmp, label %if.then.572, label %if.else.573 -if.then.538: ; preds = %entry - br label %if.merge.540 +if.then.572: ; preds = %entry + br label %if.merge.574 -if.else.539: ; preds = %entry +if.else.573: ; 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.834, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.540 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.574 -if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.916, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] ret { ptr, i64 } %bp } @@ -9393,20 +10187,20 @@ entry: 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.541, label %if.else.542 + br i1 %icmp, label %if.then.575, label %if.else.576 -if.then.541: ; preds = %entry - br label %if.merge.543 +if.then.575: ; preds = %entry + br label %if.merge.577 -if.else.542: ; preds = %entry +if.else.576: ; 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.837, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.543 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.577 -if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.919, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] ret { ptr, i64 } %bp } @@ -9421,20 +10215,20 @@ entry: 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.544, label %if.else.545 + br i1 %icmp, label %if.then.578, label %if.else.579 -if.then.544: ; preds = %entry - br label %if.merge.546 +if.then.578: ; preds = %entry + br label %if.merge.580 -if.else.545: ; preds = %entry +if.else.579: ; 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.840, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.546 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.580 -if.merge.546: ; preds = %if.else.545, %if.then.544 - %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.922, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] ret { ptr, i64 } %bp } @@ -9449,20 +10243,20 @@ entry: 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.547, label %if.else.548 + br i1 %icmp, label %if.then.581, label %if.else.582 -if.then.547: ; preds = %entry - br label %if.merge.549 +if.then.581: ; preds = %entry + br label %if.merge.583 -if.else.548: ; preds = %entry +if.else.582: ; 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.843, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.549 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.583 -if.merge.549: ; preds = %if.else.548, %if.then.547 - %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.925, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -9477,20 +10271,20 @@ entry: 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.550, label %if.else.551 + br i1 %icmp, label %if.then.584, label %if.else.585 -if.then.550: ; preds = %entry - br label %if.merge.552 +if.then.584: ; preds = %entry + br label %if.merge.586 -if.else.551: ; preds = %entry +if.else.585: ; 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.846, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.552 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.586 -if.merge.552: ; preds = %if.else.551, %if.then.550 - %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] +if.merge.586: ; preds = %if.else.585, %if.then.584 + %bp = phi { ptr, i64 } [ { ptr @str.928, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] ret { ptr, i64 } %bp } @@ -9505,20 +10299,20 @@ entry: 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.553, label %if.else.554 + br i1 %icmp, label %if.then.587, label %if.else.588 -if.then.553: ; preds = %entry - br label %if.merge.555 +if.then.587: ; preds = %entry + br label %if.merge.589 -if.else.554: ; preds = %entry +if.else.588: ; 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.849, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.555 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.932, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.589 -if.merge.555: ; preds = %if.else.554, %if.then.553 - %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] +if.merge.589: ; preds = %if.else.588, %if.then.587 + %bp = phi { ptr, i64 } [ { ptr @str.931, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] ret { ptr, i64 } %bp } @@ -9533,20 +10327,20 @@ entry: 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.556, label %if.else.557 + br i1 %icmp, label %if.then.590, label %if.else.591 -if.then.556: ; preds = %entry - br label %if.merge.558 +if.then.590: ; preds = %entry + br label %if.merge.592 -if.else.557: ; preds = %entry +if.else.591: ; 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.852, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.558 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.935, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.592 -if.merge.558: ; preds = %if.else.557, %if.then.556 - %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] +if.merge.592: ; preds = %if.else.591, %if.then.590 + %bp = phi { ptr, i64 } [ { ptr @str.934, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] ret { ptr, i64 } %bp } @@ -9561,20 +10355,131 @@ entry: 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.559, label %if.else.560 + br i1 %icmp, label %if.then.593, label %if.else.594 -if.then.559: ; preds = %entry - br label %if.merge.561 +if.then.593: ; preds = %entry + br label %if.merge.595 -if.else.560: ; preds = %entry +if.else.594: ; 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.855, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.561 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.938, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.595 -if.merge.561: ; preds = %if.else.560, %if.then.559 - %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] +if.merge.595: ; preds = %if.else.594, %if.then.593 + %bp = phi { ptr, i64 } [ { ptr @str.937, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] + 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.596, label %if.else.597 + +if.then.596: ; preds = %entry + br label %if.merge.598 + +if.else.597: ; 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.942, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.598 + +if.merge.598: ; preds = %if.else.597, %if.then.596 + %bp = phi { ptr, i64 } [ { ptr @str.940, i64 4 }, %if.then.596 ], [ %callN, %if.else.597 ] + 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.599, label %if.else.600 + +if.then.599: ; preds = %entry + br label %if.merge.601 + +if.else.600: ; 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.945, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.944, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.601 + +if.merge.601: ; preds = %if.else.600, %if.then.599 + %bp = phi { ptr, i64 } [ { ptr @str.943, i64 4 }, %if.then.599 ], [ %callN, %if.else.600 ] + 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.602, label %if.else.603 + +if.then.602: ; preds = %entry + br label %if.merge.604 + +if.else.603: ; 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.948, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.947, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.604 + +if.merge.604: ; preds = %if.else.603, %if.then.602 + %bp = phi { ptr, i64 } [ { ptr @str.946, i64 4 }, %if.then.602 ], [ %callN, %if.else.603 ] + 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.605, label %if.else.606 + +if.then.605: ; preds = %entry + br label %if.merge.607 + +if.else.606: ; 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.951, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.950, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.607 + +if.merge.607: ; preds = %if.else.606, %if.then.605 + %bp = phi { ptr, i64 } [ { ptr @str.949, i64 4 }, %if.then.605 ], [ %callN, %if.else.606 ] ret { ptr, i64 } %bp } @@ -9589,20 +10494,20 @@ entry: 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.562, label %if.else.563 + br i1 %icmp, label %if.then.608, label %if.else.609 -if.then.562: ; preds = %entry - br label %if.merge.564 +if.then.608: ; preds = %entry + br label %if.merge.610 -if.else.563: ; preds = %entry +if.else.609: ; 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.858, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.564 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.954, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.953, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.610 -if.merge.564: ; preds = %if.else.563, %if.then.562 - %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] +if.merge.610: ; preds = %if.else.609, %if.then.608 + %bp = phi { ptr, i64 } [ { ptr @str.952, i64 4 }, %if.then.608 ], [ %callN, %if.else.609 ] ret { ptr, i64 } %bp } @@ -9617,20 +10522,20 @@ entry: 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.565, label %if.else.566 + br i1 %icmp, label %if.then.611, label %if.else.612 -if.then.565: ; preds = %entry - br label %if.merge.567 +if.then.611: ; preds = %entry + br label %if.merge.613 -if.else.566: ; preds = %entry +if.else.612: ; 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.861, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.567 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.957, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.956, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.613 -if.merge.567: ; preds = %if.else.566, %if.then.565 - %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] +if.merge.613: ; preds = %if.else.612, %if.then.611 + %bp = phi { ptr, i64 } [ { ptr @str.955, i64 4 }, %if.then.611 ], [ %callN, %if.else.612 ] ret { ptr, i64 } %bp } @@ -9645,20 +10550,20 @@ entry: 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.568, label %if.else.569 + br i1 %icmp, label %if.then.614, label %if.else.615 -if.then.568: ; preds = %entry - br label %if.merge.570 +if.then.614: ; preds = %entry + br label %if.merge.616 -if.else.569: ; preds = %entry +if.else.615: ; 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.864, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.570 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.960, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.959, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.616 -if.merge.570: ; preds = %if.else.569, %if.then.568 - %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] +if.merge.616: ; preds = %if.else.615, %if.then.614 + %bp = phi { ptr, i64 } [ { ptr @str.958, i64 4 }, %if.then.614 ], [ %callN, %if.else.615 ] ret { ptr, i64 } %bp } @@ -9673,20 +10578,20 @@ entry: 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.571, label %if.else.572 + br i1 %icmp, label %if.then.617, label %if.else.618 -if.then.571: ; preds = %entry - br label %if.merge.573 +if.then.617: ; preds = %entry + br label %if.merge.619 -if.else.572: ; preds = %entry +if.else.618: ; 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.867, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.573 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.963, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.962, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.619 -if.merge.573: ; preds = %if.else.572, %if.then.571 - %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.571 ], [ %callN, %if.else.572 ] +if.merge.619: ; preds = %if.else.618, %if.then.617 + %bp = phi { ptr, i64 } [ { ptr @str.961, i64 4 }, %if.then.617 ], [ %callN, %if.else.618 ] ret { ptr, i64 } %bp } @@ -9701,20 +10606,20 @@ entry: 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.574, label %if.else.575 + br i1 %icmp, label %if.then.620, label %if.else.621 -if.then.574: ; preds = %entry - br label %if.merge.576 +if.then.620: ; preds = %entry + br label %if.merge.622 -if.else.575: ; preds = %entry +if.else.621: ; 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.870, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.576 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.966, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.965, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.622 -if.merge.576: ; preds = %if.else.575, %if.then.574 - %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.574 ], [ %callN, %if.else.575 ] +if.merge.622: ; preds = %if.else.621, %if.then.620 + %bp = phi { ptr, i64 } [ { ptr @str.964, i64 4 }, %if.then.620 ], [ %callN, %if.else.621 ] ret { ptr, i64 } %bp } @@ -9729,20 +10634,20 @@ entry: 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.577, label %if.else.578 + br i1 %icmp, label %if.then.623, label %if.else.624 -if.then.577: ; preds = %entry - br label %if.merge.579 +if.then.623: ; preds = %entry + br label %if.merge.625 -if.else.578: ; preds = %entry +if.else.624: ; 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.873, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.579 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.969, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.968, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.625 -if.merge.579: ; preds = %if.else.578, %if.then.577 - %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.577 ], [ %callN, %if.else.578 ] +if.merge.625: ; preds = %if.else.624, %if.then.623 + %bp = phi { ptr, i64 } [ { ptr @str.967, i64 4 }, %if.then.623 ], [ %callN, %if.else.624 ] ret { ptr, i64 } %bp } @@ -9757,20 +10662,20 @@ entry: 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.580, label %if.else.581 + br i1 %icmp, label %if.then.626, label %if.else.627 -if.then.580: ; preds = %entry - br label %if.merge.582 +if.then.626: ; preds = %entry + br label %if.merge.628 -if.else.581: ; preds = %entry +if.else.627: ; 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.876, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.582 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.972, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.971, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.628 -if.merge.582: ; preds = %if.else.581, %if.then.580 - %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.580 ], [ %callN, %if.else.581 ] +if.merge.628: ; preds = %if.else.627, %if.then.626 + %bp = phi { ptr, i64 } [ { ptr @str.970, i64 4 }, %if.then.626 ], [ %callN, %if.else.627 ] ret { ptr, i64 } %bp } @@ -9785,20 +10690,20 @@ entry: 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.583, label %if.else.584 + br i1 %icmp, label %if.then.629, label %if.else.630 -if.then.583: ; preds = %entry - br label %if.merge.585 +if.then.629: ; preds = %entry + br label %if.merge.631 -if.else.584: ; preds = %entry +if.else.630: ; 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.879, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.585 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.975, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.974, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.631 -if.merge.585: ; preds = %if.else.584, %if.then.583 - %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.583 ], [ %callN, %if.else.584 ] +if.merge.631: ; preds = %if.else.630, %if.then.629 + %bp = phi { ptr, i64 } [ { ptr @str.973, i64 4 }, %if.then.629 ], [ %callN, %if.else.630 ] ret { ptr, i64 } %bp } @@ -9813,20 +10718,20 @@ entry: 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.586, label %if.else.587 + br i1 %icmp, label %if.then.632, label %if.else.633 -if.then.586: ; preds = %entry - br label %if.merge.588 +if.then.632: ; preds = %entry + br label %if.merge.634 -if.else.587: ; preds = %entry +if.else.633: ; 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.882, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.588 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.978, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.977, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.634 -if.merge.588: ; preds = %if.else.587, %if.then.586 - %bp = phi { ptr, i64 } [ { ptr @str.880, i64 4 }, %if.then.586 ], [ %callN, %if.else.587 ] +if.merge.634: ; preds = %if.else.633, %if.then.632 + %bp = phi { ptr, i64 } [ { ptr @str.976, i64 4 }, %if.then.632 ], [ %callN, %if.else.633 ] ret { ptr, i64 } %bp } @@ -9841,20 +10746,20 @@ entry: 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.589, label %if.else.590 + br i1 %icmp, label %if.then.635, label %if.else.636 -if.then.589: ; preds = %entry - br label %if.merge.591 +if.then.635: ; preds = %entry + br label %if.merge.637 -if.else.590: ; preds = %entry +if.else.636: ; 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.885, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.591 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.981, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.980, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.637 -if.merge.591: ; preds = %if.else.590, %if.then.589 - %bp = phi { ptr, i64 } [ { ptr @str.883, i64 4 }, %if.then.589 ], [ %callN, %if.else.590 ] +if.merge.637: ; preds = %if.else.636, %if.then.635 + %bp = phi { ptr, i64 } [ { ptr @str.979, i64 4 }, %if.then.635 ], [ %callN, %if.else.636 ] ret { ptr, i64 } %bp } @@ -9869,20 +10774,20 @@ entry: 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.592, label %if.else.593 + br i1 %icmp, label %if.then.638, label %if.else.639 -if.then.592: ; preds = %entry - br label %if.merge.594 +if.then.638: ; preds = %entry + br label %if.merge.640 -if.else.593: ; preds = %entry +if.else.639: ; 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.888, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 14 }, { ptr, i64 } %callN) - br label %if.merge.594 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.984, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.983, i64 14 }, { ptr, i64 } %callN) + br label %if.merge.640 -if.merge.594: ; preds = %if.else.593, %if.then.592 - %bp = phi { ptr, i64 } [ { ptr @str.886, i64 4 }, %if.then.592 ], [ %callN, %if.else.593 ] +if.merge.640: ; preds = %if.else.639, %if.then.638 + %bp = phi { ptr, i64 } [ { ptr @str.982, i64 4 }, %if.then.638 ], [ %callN, %if.else.639 ] ret { ptr, i64 } %bp } @@ -9897,20 +10802,20 @@ entry: 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.595, label %if.else.596 + br i1 %icmp, label %if.then.641, label %if.else.642 -if.then.595: ; preds = %entry - br label %if.merge.597 +if.then.641: ; preds = %entry + br label %if.merge.643 -if.else.596: ; preds = %entry +if.else.642: ; 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.891, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.597 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.987, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.986, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.643 -if.merge.597: ; preds = %if.else.596, %if.then.595 - %bp = phi { ptr, i64 } [ { ptr @str.889, i64 4 }, %if.then.595 ], [ %callN, %if.else.596 ] +if.merge.643: ; preds = %if.else.642, %if.then.641 + %bp = phi { ptr, i64 } [ { ptr @str.985, i64 4 }, %if.then.641 ], [ %callN, %if.else.642 ] ret { ptr, i64 } %bp } @@ -9925,20 +10830,20 @@ entry: 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.598, label %if.else.599 + br i1 %icmp, label %if.then.644, label %if.else.645 -if.then.598: ; preds = %entry - br label %if.merge.600 +if.then.644: ; preds = %entry + br label %if.merge.646 -if.else.599: ; preds = %entry +if.else.645: ; 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.894, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.600 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.990, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.989, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.646 -if.merge.600: ; preds = %if.else.599, %if.then.598 - %bp = phi { ptr, i64 } [ { ptr @str.892, i64 4 }, %if.then.598 ], [ %callN, %if.else.599 ] +if.merge.646: ; preds = %if.else.645, %if.then.644 + %bp = phi { ptr, i64 } [ { ptr @str.988, i64 4 }, %if.then.644 ], [ %callN, %if.else.645 ] ret { ptr, i64 } %bp } @@ -9953,20 +10858,20 @@ entry: 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.601, label %if.else.602 + br i1 %icmp, label %if.then.647, label %if.else.648 -if.then.601: ; preds = %entry - br label %if.merge.603 +if.then.647: ; preds = %entry + br label %if.merge.649 -if.else.602: ; preds = %entry +if.else.648: ; 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.897, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.603 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.993, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.992, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.649 -if.merge.603: ; preds = %if.else.602, %if.then.601 - %bp = phi { ptr, i64 } [ { ptr @str.895, i64 4 }, %if.then.601 ], [ %callN, %if.else.602 ] +if.merge.649: ; preds = %if.else.648, %if.then.647 + %bp = phi { ptr, i64 } [ { ptr @str.991, i64 4 }, %if.then.647 ], [ %callN, %if.else.648 ] ret { ptr, i64 } %bp } @@ -9981,20 +10886,20 @@ entry: 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.604, label %if.else.605 + br i1 %icmp, label %if.then.650, label %if.else.651 -if.then.604: ; preds = %entry - br label %if.merge.606 +if.then.650: ; preds = %entry + br label %if.merge.652 -if.else.605: ; preds = %entry +if.else.651: ; 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.900, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.606 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.996, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.995, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.652 -if.merge.606: ; preds = %if.else.605, %if.then.604 - %bp = phi { ptr, i64 } [ { ptr @str.898, i64 4 }, %if.then.604 ], [ %callN, %if.else.605 ] +if.merge.652: ; preds = %if.else.651, %if.then.650 + %bp = phi { ptr, i64 } [ { ptr @str.994, i64 4 }, %if.then.650 ], [ %callN, %if.else.651 ] ret { ptr, i64 } %bp } @@ -10007,12 +10912,12 @@ entry: %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.614, label %if.merge.615 + br i1 %lnot, label %if.then.660, label %if.merge.661 -if.then.614: ; preds = %entry - ret { ptr, i64 } { ptr @str.901, i64 4 } +if.then.660: ; preds = %entry + ret { ptr, i64 } { ptr @str.997, i64 4 } -if.merge.615: ; preds = %entry +if.merge.661: ; 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 @@ -10031,12 +10936,12 @@ entry: %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.616, label %if.merge.617 + br i1 %lnot, label %if.then.662, label %if.merge.663 -if.then.616: ; preds = %entry - ret { ptr, i64 } { ptr @str.902, i64 4 } +if.then.662: ; preds = %entry + ret { ptr, i64 } { ptr @str.998, i64 4 } -if.merge.617: ; preds = %entry +if.merge.663: ; 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 @@ -10054,12 +10959,12 @@ entry: %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.618, label %if.merge.619 + br i1 %lnot, label %if.then.664, label %if.merge.665 -if.then.618: ; preds = %entry - ret { ptr, i64 } { ptr @str.903, i64 4 } +if.then.664: ; preds = %entry + ret { ptr, i64 } { ptr @str.999, i64 4 } -if.merge.619: ; preds = %entry +if.merge.665: ; 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 @@ -10076,12 +10981,12 @@ entry: %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.620, label %if.merge.621 + br i1 %lnot, label %if.then.666, label %if.merge.667 -if.then.620: ; preds = %entry - ret { ptr, i64 } { ptr @str.904, i64 4 } +if.then.666: ; preds = %entry + ret { ptr, i64 } { ptr @str.1000, i64 4 } -if.merge.621: ; preds = %entry +if.merge.667: ; 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 @@ -10100,12 +11005,12 @@ entry: %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.622, label %if.merge.623 + br i1 %lnot, label %if.then.668, label %if.merge.669 -if.then.622: ; preds = %entry - ret { ptr, i64 } { ptr @str.905, i64 4 } +if.then.668: ; preds = %entry + ret { ptr, i64 } { ptr @str.1001, i64 4 } -if.merge.623: ; preds = %entry +if.merge.669: ; 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 diff --git a/examples/expected/0301-closures-fn-pointers.ir b/examples/expected/0301-closures-fn-pointers.ir index e2be27e..ec5ef91 100644 --- a/examples/expected/0301-closures-fn-pointers.ir +++ b/examples/expected/0301-closures-fn-pointers.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [187 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] +@__sx_type_is_unsigned = private constant [205 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,466 +28,466 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [18 x i8] c"(i32, i32) -> i32\00" -@tn.str.212 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.213 = private constant [7 x i8] c"**void\00" -@tn.str.214 = private constant [19 x i8] c"*(i32, i32) -> i32\00" -@tn.str.215 = private constant [8 x i8] c"*string\00" -@tn.str.216 = private constant [6 x i8] c"[]Any\00" -@tn.str.217 = private constant [5 x i8] c"*Any\00" -@tn.str.218 = private constant [7 x i8] c"[1]Any\00" -@tn.str.219 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.220 = private constant [7 x i8] c"*[]Any\00" -@tn.str.221 = private constant [4 x i8] c"*u8\00" -@tn.str.222 = private constant [6 x i8] c"*bool\00" -@tn.str.223 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.224 = private constant [5 x i8] c"*f64\00" -@tn.str.225 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.226 = private constant [11 x i8] c"*Allocator\00" -@tn.str.227 = private constant [9 x i8] c"*Context\00" -@tn.str.228 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.229 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.230 = private constant [8 x i8] c"*Member\00" -@tn.str.231 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.232 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.233 = private constant [9 x i8] c"*Command\00" -@tn.str.234 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.235 = private constant [7 x i8] c"*Event\00" -@tn.str.236 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.237 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.238 = private constant [7 x i8] c"*Value\00" -@tn.str.239 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.240 = private constant [14 x i8] c"*Architecture\00" -@tn.str.241 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.242 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.243 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.244 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.245 = private constant [10 x i8] c"*[]string\00" -@tn.str.246 = private constant [6 x i8] c"*[]u8\00" -@tn.str.247 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.248 = private constant [11 x i8] c"*[]Command\00" -@tn.str.249 = private constant [9 x i8] c"*[]Event\00" -@tn.str.250 = private constant [6 x i8] c"**GPA\00" -@tn.str.251 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.252 = private constant [8 x i8] c"**Arena\00" -@tn.str.253 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.254 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.255 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.256 = private constant [7 x i8] c"**File\00" -@tn.str.257 = private constant [6 x i8] c"**i32\00" -@tn.str.258 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.259 = private constant [6 x i8] c"**u32\00" -@tn.str.260 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.261 = private constant [8 x i8] c"**Array\00" -@tn.str.262 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.263 = private constant [9 x i8] c"**Object\00" -@tn.str.264 = private constant [7 x i8] c"**Sink\00" -@tn.str.265 = private constant [9 x i8] c"**Parser\00" -@tn.str.266 = private constant [6 x i8] c"**i64\00" -@tn.str.267 = private constant [9 x i8] c"**Parsed\00" -@tn.str.268 = private constant [7 x i8] c"**Diag\00" -@tn.str.269 = private constant [9 x i8] c"**Sha256\00" -@tn.str.270 = private constant [11 x i8] c"**Timespec\00" -@tn.str.271 = private constant [9 x i8] c"**Kevent\00" -@tn.str.272 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.273 = private constant [7 x i8] c"**Loop\00" -@tn.str.274 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.275 = private constant [8 x i8] c"***void\00" -@tn.str.276 = private constant [20 x i8] c"**(i32, i32) -> i32\00" -@tn.str.277 = private constant [9 x i8] c"**string\00" -@tn.str.278 = private constant [6 x i8] c"**Any\00" -@tn.str.279 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.280 = private constant [8 x i8] c"**[]Any\00" -@tn.str.281 = private constant [5 x i8] c"**u8\00" -@tn.str.282 = private constant [7 x i8] c"**bool\00" -@tn.str.283 = private constant [7 x i8] c"*?File\00" -@tn.str.284 = private constant [9 x i8] c"*?string\00" -@tn.str.285 = private constant [10 x i8] c"*?cstring\00" -@tn.str.286 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.287 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [187 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 17 }, { ptr, i64 } { ptr @tn.str.212, i64 12 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 18 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 5 }, { ptr, i64 } { ptr @tn.str.217, i64 4 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 3 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 16 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 8 }, { ptr, i64 } { ptr @tn.str.228, i64 11 }, { ptr, i64 } { ptr @tn.str.229, i64 14 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 13 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 8 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 13 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 11 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 12 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 19 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 6 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 12 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 13 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 19 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 7 }, { ptr, i64 } { ptr @tn.str.281, i64 4 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 9 }, { ptr, i64 } { ptr @tn.str.286, i64 15 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }] -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.295 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.296 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.297 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.298 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.299 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.300 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.301 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.302 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.303 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.305 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.306 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.308 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.309 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [18 x i8] c"(i32, i32) -> i32\00" +@tn.str.226 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.227 = private constant [7 x i8] c"**void\00" +@tn.str.228 = private constant [19 x i8] c"*(i32, i32) -> i32\00" +@tn.str.229 = private constant [8 x i8] c"*string\00" +@tn.str.230 = private constant [6 x i8] c"[]Any\00" +@tn.str.231 = private constant [5 x i8] c"*Any\00" +@tn.str.232 = private constant [7 x i8] c"[1]Any\00" +@tn.str.233 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.234 = private constant [7 x i8] c"*[]Any\00" +@tn.str.235 = private constant [4 x i8] c"*u8\00" +@tn.str.236 = private constant [6 x i8] c"*bool\00" +@tn.str.237 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.238 = private constant [5 x i8] c"*f64\00" +@tn.str.239 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.240 = private constant [11 x i8] c"*Allocator\00" +@tn.str.241 = private constant [9 x i8] c"*Context\00" +@tn.str.242 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.243 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.244 = private constant [8 x i8] c"*Member\00" +@tn.str.245 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.246 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.247 = private constant [9 x i8] c"*Command\00" +@tn.str.248 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.249 = private constant [7 x i8] c"*Event\00" +@tn.str.250 = private constant [8 x i8] c"*Config\00" +@tn.str.251 = private constant [6 x i8] c"*Conn\00" +@tn.str.252 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.253 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.254 = private constant [7 x i8] c"*Value\00" +@tn.str.255 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.256 = private constant [14 x i8] c"*Architecture\00" +@tn.str.257 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.258 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.259 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.260 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.261 = private constant [10 x i8] c"*[]string\00" +@tn.str.262 = private constant [6 x i8] c"*[]u8\00" +@tn.str.263 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.264 = private constant [11 x i8] c"*[]Command\00" +@tn.str.265 = private constant [9 x i8] c"*[]Event\00" +@tn.str.266 = private constant [6 x i8] c"**GPA\00" +@tn.str.267 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.268 = private constant [8 x i8] c"**Arena\00" +@tn.str.269 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.270 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.271 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.272 = private constant [7 x i8] c"**File\00" +@tn.str.273 = private constant [6 x i8] c"**i32\00" +@tn.str.274 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.275 = private constant [6 x i8] c"**u32\00" +@tn.str.276 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.277 = private constant [8 x i8] c"**Array\00" +@tn.str.278 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.279 = private constant [9 x i8] c"**Object\00" +@tn.str.280 = private constant [7 x i8] c"**Sink\00" +@tn.str.281 = private constant [9 x i8] c"**Parser\00" +@tn.str.282 = private constant [6 x i8] c"**i64\00" +@tn.str.283 = private constant [9 x i8] c"**Parsed\00" +@tn.str.284 = private constant [7 x i8] c"**Diag\00" +@tn.str.285 = private constant [9 x i8] c"**Sha256\00" +@tn.str.286 = private constant [11 x i8] c"**Timespec\00" +@tn.str.287 = private constant [9 x i8] c"**Kevent\00" +@tn.str.288 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.289 = private constant [7 x i8] c"**Loop\00" +@tn.str.290 = private constant [10 x i8] c"**Request\00" +@tn.str.291 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.292 = private constant [11 x i8] c"**Response\00" +@tn.str.293 = private constant [9 x i8] c"**Server\00" +@tn.str.294 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.295 = private constant [8 x i8] c"***void\00" +@tn.str.296 = private constant [20 x i8] c"**(i32, i32) -> i32\00" +@tn.str.297 = private constant [9 x i8] c"**string\00" +@tn.str.298 = private constant [6 x i8] c"**Any\00" +@tn.str.299 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.300 = private constant [8 x i8] c"**[]Any\00" +@tn.str.301 = private constant [5 x i8] c"**u8\00" +@tn.str.302 = private constant [7 x i8] c"**bool\00" +@tn.str.303 = private constant [7 x i8] c"*?File\00" +@tn.str.304 = private constant [9 x i8] c"*?string\00" +@tn.str.305 = private constant [10 x i8] c"*?cstring\00" +@tn.str.306 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.307 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [205 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 17 }, { ptr, i64 } { ptr @tn.str.226, i64 12 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 18 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 3 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 16 }, { ptr, i64 } { ptr @tn.str.256, i64 13 }, { ptr, i64 } { ptr @tn.str.257, i64 14 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 9 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 11 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 12 }, { ptr, i64 } { ptr @tn.str.268, i64 7 }, { ptr, i64 } { ptr @tn.str.269, i64 6 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 19 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 9 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 5 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 10 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 12 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 9 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 10 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 13 }, { ptr, i64 } { ptr @tn.str.295, i64 7 }, { ptr, i64 } { ptr @tn.str.296, i64 19 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 5 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 7 }, { ptr, i64 } { ptr @tn.str.301, i64 4 }, { ptr, i64 } { ptr @tn.str.302, i64 6 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 9 }, { ptr, i64 } { ptr @tn.str.306, i64 15 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }] +@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 -@str.312 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.314 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 -@str.315 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 -@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.317 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 -@str.318 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.319 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.320 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.314 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.315 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.316 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.317 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.318 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.319 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.320 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.322 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.323 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.325 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.329 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 +@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.331 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 +@str.332 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 +@str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.334 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 +@str.335 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 +@str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.337 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 +@str.338 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.339 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.340 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.322 = private constant [5 x i8] c"line\00" -@fld.str.323 = private constant [4 x i8] c"col\00" -@fld.str.324 = 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.322, i64 4 }, { ptr, i64 } { ptr @fld.str.323, i64 3 }, { ptr, i64 } { ptr @fld.str.324, i64 4 }] -@str.325 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.326 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.327 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.328 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.329 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.330 = private constant [4 x i8] c"ctx\00" -@fld.str.331 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.332 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.333 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.330, i64 3 }, { ptr, i64 } { ptr @fld.str.331, i64 11 }, { ptr, i64 } { ptr @fld.str.332, i64 13 }] -@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.335 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.336 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.337 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.338 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.339 = private constant [10 x i8] c"allocator\00" -@fld.str.340 = private constant [5 x i8] c"data\00" -@field_names.341 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 9 }, { ptr, i64 } { ptr @fld.str.340, i64 4 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.347 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.349 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.353 = private constant [12 x i8] c"alloc_count\00" -@field_names.354 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 11 }] -@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.356 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.357 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.359 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.360 = private constant [5 x i8] c"next\00" -@fld.str.361 = private constant [4 x i8] c"cap\00" -@field_names.362 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 4 }, { ptr, i64 } { ptr @fld.str.361, i64 3 }] -@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.364 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.368 = private constant [6 x i8] c"first\00" -@fld.str.369 = private constant [10 x i8] c"end_index\00" -@fld.str.370 = private constant [7 x i8] c"parent\00" -@field_names.371 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 5 }, { ptr, i64 } { ptr @fld.str.369, i64 9 }, { ptr, i64 } { ptr @fld.str.370, i64 6 }] -@str.372 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.373 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.375 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.376 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.377 = private constant [4 x i8] c"buf\00" -@fld.str.378 = private constant [4 x i8] c"len\00" -@fld.str.379 = private constant [4 x i8] c"pos\00" -@field_names.380 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.377, i64 3 }, { ptr, i64 } { ptr @fld.str.378, i64 3 }, { ptr, i64 } { ptr @fld.str.379, i64 3 }] -@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.382 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.383 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.384 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.385 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.386 = private constant [7 x i8] c"parent\00" -@fld.str.387 = private constant [12 x i8] c"alloc_count\00" -@fld.str.388 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.389 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.390 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, i64 6 }, { ptr, i64 } { ptr @fld.str.387, i64 11 }, { ptr, i64 } { ptr @fld.str.388, i64 13 }, { ptr, i64 } { ptr @fld.str.389, i64 17 }] -@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.392 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.396 = private constant [3 x i8] c"fd\00" -@field_names.397 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 2 }] -@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.399 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.400 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.402 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.403 = private constant [5 x i8] c"file\00" -@fld.str.404 = private constant [5 x i8] c"line\00" -@fld.str.405 = private constant [4 x i8] c"col\00" -@fld.str.406 = private constant [5 x i8] c"func\00" -@fld.str.407 = private constant [10 x i8] c"line_text\00" -@field_names.408 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.403, i64 4 }, { ptr, i64 } { ptr @fld.str.404, i64 4 }, { ptr, i64 } { ptr @fld.str.405, i64 3 }, { ptr, i64 } { ptr @fld.str.406, i64 4 }, { ptr, i64 } { ptr @fld.str.407, i64 9 }] -@str.409 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.410 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.411 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.412 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.413 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.414 = private constant [10 x i8] c"exit_code\00" -@fld.str.415 = private constant [7 x i8] c"stdout\00" -@field_names.416 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.414, i64 9 }, { ptr, i64 } { ptr @fld.str.415, i64 6 }] -@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.418 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.422 = private constant [8 x i8] c"sin_len\00" -@fld.str.423 = private constant [11 x i8] c"sin_family\00" -@fld.str.424 = private constant [9 x i8] c"sin_port\00" -@fld.str.425 = private constant [9 x i8] c"sin_addr\00" -@fld.str.426 = private constant [9 x i8] c"sin_zero\00" -@field_names.427 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 7 }, { ptr, i64 } { ptr @fld.str.423, i64 10 }, { ptr, i64 } { ptr @fld.str.424, i64 8 }, { ptr, i64 } { ptr @fld.str.425, i64 8 }, { ptr, i64 } { ptr @fld.str.426, i64 8 }] -@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.429 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.430 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.431 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.432 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.433 = private constant [6 x i8] c"items\00" -@fld.str.434 = private constant [4 x i8] c"len\00" -@fld.str.435 = private constant [4 x i8] c"cap\00" -@field_names.436 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.433, i64 5 }, { ptr, i64 } { ptr @fld.str.434, i64 3 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }] +@fld.str.342 = private constant [5 x i8] c"line\00" +@fld.str.343 = private constant [4 x i8] c"col\00" +@fld.str.344 = 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.342, i64 4 }, { ptr, i64 } { ptr @fld.str.343, i64 3 }, { ptr, i64 } { ptr @fld.str.344, i64 4 }] +@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.346 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.347 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.348 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.349 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.350 = private constant [4 x i8] c"ctx\00" +@fld.str.351 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.352 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.353 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.350, i64 3 }, { ptr, i64 } { ptr @fld.str.351, i64 11 }, { ptr, i64 } { ptr @fld.str.352, i64 13 }] +@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.355 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.356 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.357 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.358 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.359 = private constant [10 x i8] c"allocator\00" +@fld.str.360 = private constant [5 x i8] c"data\00" +@field_names.361 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 9 }, { ptr, i64 } { ptr @fld.str.360, i64 4 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.367 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.368 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.369 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.370 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.372 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.373 = private constant [12 x i8] c"alloc_count\00" +@field_names.374 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.373, i64 11 }] +@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.376 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.377 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.379 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.380 = private constant [5 x i8] c"next\00" +@fld.str.381 = private constant [4 x i8] c"cap\00" +@field_names.382 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 4 }, { ptr, i64 } { ptr @fld.str.381, i64 3 }] +@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.384 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.387 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.388 = private constant [6 x i8] c"first\00" +@fld.str.389 = private constant [10 x i8] c"end_index\00" +@fld.str.390 = private constant [7 x i8] c"parent\00" +@field_names.391 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 5 }, { ptr, i64 } { ptr @fld.str.389, i64 9 }, { ptr, i64 } { ptr @fld.str.390, i64 6 }] +@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.393 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.397 = private constant [4 x i8] c"buf\00" +@fld.str.398 = private constant [4 x i8] c"len\00" +@fld.str.399 = private constant [4 x i8] c"pos\00" +@field_names.400 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 3 }, { ptr, i64 } { ptr @fld.str.398, i64 3 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }] +@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.402 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.403 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.404 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.405 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.406 = private constant [7 x i8] c"parent\00" +@fld.str.407 = private constant [12 x i8] c"alloc_count\00" +@fld.str.408 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.409 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.410 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 6 }, { ptr, i64 } { ptr @fld.str.407, i64 11 }, { ptr, i64 } { ptr @fld.str.408, i64 13 }, { ptr, i64 } { ptr @fld.str.409, i64 17 }] +@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.412 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.413 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.415 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.416 = private constant [3 x i8] c"fd\00" +@field_names.417 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 2 }] +@str.418 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.419 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.420 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.422 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.423 = private constant [5 x i8] c"file\00" +@fld.str.424 = private constant [5 x i8] c"line\00" +@fld.str.425 = private constant [4 x i8] c"col\00" +@fld.str.426 = private constant [5 x i8] c"func\00" +@fld.str.427 = private constant [10 x i8] c"line_text\00" +@field_names.428 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 4 }, { ptr, i64 } { ptr @fld.str.424, i64 4 }, { ptr, i64 } { ptr @fld.str.425, i64 3 }, { ptr, i64 } { ptr @fld.str.426, i64 4 }, { ptr, i64 } { ptr @fld.str.427, i64 9 }] +@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.430 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.431 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.432 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.433 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.434 = private constant [10 x i8] c"exit_code\00" +@fld.str.435 = private constant [7 x i8] c"stdout\00" +@field_names.436 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 9 }, { ptr, i64 } { ptr @fld.str.435, i64 6 }] @str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.438 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.438 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.439 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.440 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.441 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.442 = private constant [6 x i8] c"items\00" -@fld.str.443 = private constant [4 x i8] c"len\00" -@fld.str.444 = private constant [4 x i8] c"cap\00" -@field_names.445 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 5 }, { ptr, i64 } { ptr @fld.str.443, i64 3 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }] -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.448 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.449 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.450 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.451 = private constant [4 x i8] c"key\00" -@fld.str.452 = private constant [4 x i8] c"val\00" -@field_names.453 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 3 }, { ptr, i64 } { ptr @fld.str.452, i64 3 }] -@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.455 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.459 = private constant [4 x i8] c"dst\00" -@fld.str.460 = private constant [4 x i8] c"pos\00" -@fld.str.461 = private constant [5 x i8] c"file\00" -@field_names.462 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 3 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 4 }] -@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.464 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.467 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.468 = private constant [4 x i8] c"src\00" -@fld.str.469 = private constant [4 x i8] c"pos\00" -@fld.str.470 = private constant [6 x i8] c"alloc\00" -@field_names.471 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.468, i64 3 }, { ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 5 }] -@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.473 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.477 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.478 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.479 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.480 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.482 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.483 = private constant [5 x i8] c"name\00" -@fld.str.484 = private constant [12 x i8] c"takes_value\00" -@fld.str.485 = private constant [9 x i8] c"required\00" -@field_names.486 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.483, i64 4 }, { ptr, i64 } { ptr @fld.str.484, i64 11 }, { ptr, i64 } { ptr @fld.str.485, i64 8 }] -@str.487 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.488 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.491 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.492 = private constant [6 x i8] c"group\00" -@fld.str.493 = private constant [8 x i8] c"command\00" -@fld.str.494 = private constant [6 x i8] c"flags\00" -@field_names.495 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.492, i64 5 }, { ptr, i64 } { ptr @fld.str.493, i64 7 }, { ptr, i64 } { ptr @fld.str.494, i64 5 }] -@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.497 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.498 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.499 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.500 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.501 = private constant [4 x i8] c"set\00" -@fld.str.502 = private constant [6 x i8] c"value\00" -@field_names.503 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 3 }, { ptr, i64 } { ptr @fld.str.502, i64 5 }] -@str.504 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.505 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.508 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.509 = private constant [6 x i8] c"index\00" -@fld.str.510 = private constant [6 x i8] c"token\00" -@field_names.511 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 5 }, { ptr, i64 } { ptr @fld.str.510, i64 5 }] -@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.513 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.517 = private constant [6 x i8] c"group\00" -@fld.str.518 = private constant [8 x i8] c"command\00" -@fld.str.519 = private constant [10 x i8] c"cmd_index\00" -@fld.str.520 = private constant [5 x i8] c"json\00" -@fld.str.521 = private constant [5 x i8] c"rest\00" -@fld.str.522 = private constant [5 x i8] c"spec\00" -@fld.str.523 = private constant [7 x i8] c"values\00" -@field_names.524 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 7 }, { ptr, i64 } { ptr @fld.str.519, i64 9 }, { ptr, i64 } { ptr @fld.str.520, i64 4 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 6 }] -@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.526 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.527 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.529 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.530 = private constant [2 x i8] c"h\00" -@fld.str.531 = private constant [4 x i8] c"buf\00" -@fld.str.532 = private constant [8 x i8] c"buf_len\00" -@fld.str.533 = private constant [10 x i8] c"total_len\00" -@field_names.534 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 1 }, { ptr, i64 } { ptr @fld.str.531, i64 3 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 9 }] -@str.535 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.536 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.537 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.538 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.539 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.540 = private constant [4 x i8] c"sec\00" -@fld.str.541 = private constant [5 x i8] c"nsec\00" -@field_names.542 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.540, i64 3 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }] -@str.543 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.544 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.545 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.547 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.548 = private constant [6 x i8] c"ident\00" -@fld.str.549 = private constant [7 x i8] c"filter\00" -@fld.str.550 = private constant [6 x i8] c"flags\00" -@fld.str.551 = private constant [7 x i8] c"fflags\00" -@fld.str.552 = private constant [5 x i8] c"data\00" -@fld.str.553 = private constant [6 x i8] c"udata\00" -@field_names.554 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 5 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 5 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }, { ptr, i64 } { ptr @fld.str.552, i64 4 }, { ptr, i64 } { ptr @fld.str.553, i64 5 }] +@fld.str.442 = private constant [8 x i8] c"sin_len\00" +@fld.str.443 = private constant [11 x i8] c"sin_family\00" +@fld.str.444 = private constant [9 x i8] c"sin_port\00" +@fld.str.445 = private constant [9 x i8] c"sin_addr\00" +@fld.str.446 = private constant [9 x i8] c"sin_zero\00" +@field_names.447 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 7 }, { ptr, i64 } { ptr @fld.str.443, i64 10 }, { ptr, i64 } { ptr @fld.str.444, i64 8 }, { ptr, i64 } { ptr @fld.str.445, i64 8 }, { ptr, i64 } { ptr @fld.str.446, i64 8 }] +@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.449 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.450 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.451 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.452 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.453 = private constant [6 x i8] c"items\00" +@fld.str.454 = private constant [4 x i8] c"len\00" +@fld.str.455 = private constant [4 x i8] c"cap\00" +@field_names.456 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.453, i64 5 }, { ptr, i64 } { ptr @fld.str.454, i64 3 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }] +@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.458 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.460 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.461 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.462 = private constant [6 x i8] c"items\00" +@fld.str.463 = private constant [4 x i8] c"len\00" +@fld.str.464 = private constant [4 x i8] c"cap\00" +@field_names.465 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 5 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }, { ptr, i64 } { ptr @fld.str.464, i64 3 }] +@str.466 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.467 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.469 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.470 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.471 = private constant [4 x i8] c"key\00" +@fld.str.472 = private constant [4 x i8] c"val\00" +@field_names.473 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.471, i64 3 }, { ptr, i64 } { ptr @fld.str.472, i64 3 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.478 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.479 = private constant [4 x i8] c"dst\00" +@fld.str.480 = private constant [4 x i8] c"pos\00" +@fld.str.481 = private constant [5 x i8] c"file\00" +@field_names.482 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }, { ptr, i64 } { ptr @fld.str.481, i64 4 }] +@str.483 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.484 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.487 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.488 = private constant [4 x i8] c"src\00" +@fld.str.489 = private constant [4 x i8] c"pos\00" +@fld.str.490 = private constant [6 x i8] c"alloc\00" +@field_names.491 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.488, i64 3 }, { ptr, i64 } { ptr @fld.str.489, i64 3 }, { ptr, i64 } { ptr @fld.str.490, i64 5 }] +@str.492 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.493 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.496 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.497 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.499 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.502 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.503 = private constant [5 x i8] c"name\00" +@fld.str.504 = private constant [12 x i8] c"takes_value\00" +@fld.str.505 = private constant [9 x i8] c"required\00" +@field_names.506 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 4 }, { ptr, i64 } { ptr @fld.str.504, i64 11 }, { ptr, i64 } { ptr @fld.str.505, i64 8 }] +@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.508 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.511 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.512 = private constant [6 x i8] c"group\00" +@fld.str.513 = private constant [8 x i8] c"command\00" +@fld.str.514 = private constant [6 x i8] c"flags\00" +@field_names.515 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 5 }, { ptr, i64 } { ptr @fld.str.513, i64 7 }, { ptr, i64 } { ptr @fld.str.514, i64 5 }] +@str.516 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.517 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.518 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.519 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.520 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.521 = private constant [4 x i8] c"set\00" +@fld.str.522 = private constant [6 x i8] c"value\00" +@field_names.523 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.521, i64 3 }, { ptr, i64 } { ptr @fld.str.522, i64 5 }] +@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.525 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.526 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.528 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.529 = private constant [6 x i8] c"index\00" +@fld.str.530 = private constant [6 x i8] c"token\00" +@field_names.531 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }] +@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.533 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.537 = private constant [6 x i8] c"group\00" +@fld.str.538 = private constant [8 x i8] c"command\00" +@fld.str.539 = private constant [10 x i8] c"cmd_index\00" +@fld.str.540 = private constant [5 x i8] c"json\00" +@fld.str.541 = private constant [5 x i8] c"rest\00" +@fld.str.542 = private constant [5 x i8] c"spec\00" +@fld.str.543 = private constant [7 x i8] c"values\00" +@field_names.544 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 5 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 9 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }] +@str.545 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.546 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.547 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.549 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.550 = private constant [2 x i8] c"h\00" +@fld.str.551 = private constant [4 x i8] c"buf\00" +@fld.str.552 = private constant [8 x i8] c"buf_len\00" +@fld.str.553 = private constant [10 x i8] c"total_len\00" +@field_names.554 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.550, i64 1 }, { ptr, i64 } { ptr @fld.str.551, i64 3 }, { ptr, i64 } { ptr @fld.str.552, i64 7 }, { ptr, i64 } { ptr @fld.str.553, i64 9 }] @str.555 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.556 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.556 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.557 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.558 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.559 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -495,217 +495,313 @@ @fld.str.561 = private constant [5 x i8] c"nsec\00" @field_names.562 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.560, i64 3 }, { ptr, i64 } { ptr @fld.str.561, i64 4 }] @str.563 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.564 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.564 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.565 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.567 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.568 = private constant [3 x i8] c"fd\00" -@fld.str.569 = private constant [6 x i8] c"udata\00" -@fld.str.570 = private constant [9 x i8] c"readable\00" -@fld.str.571 = private constant [9 x i8] c"writable\00" -@fld.str.572 = private constant [4 x i8] c"eof\00" -@fld.str.573 = private constant [4 x i8] c"err\00" -@fld.str.574 = private constant [7 x i8] c"nbytes\00" -@field_names.575 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.568, i64 2 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 8 }, { ptr, i64 } { ptr @fld.str.571, i64 8 }, { ptr, i64 } { ptr @fld.str.572, i64 3 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }, { ptr, i64 } { ptr @fld.str.574, i64 6 }] -@str.576 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.577 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.578 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.579 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.580 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.581 = private constant [3 x i8] c"kq\00" -@field_names.582 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 2 }] +@fld.str.568 = private constant [6 x i8] c"ident\00" +@fld.str.569 = private constant [7 x i8] c"filter\00" +@fld.str.570 = private constant [6 x i8] c"flags\00" +@fld.str.571 = private constant [7 x i8] c"fflags\00" +@fld.str.572 = private constant [5 x i8] c"data\00" +@fld.str.573 = private constant [6 x i8] c"udata\00" +@field_names.574 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.568, i64 5 }, { ptr, i64 } { ptr @fld.str.569, i64 6 }, { ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 6 }, { ptr, i64 } { ptr @fld.str.572, i64 4 }, { ptr, i64 } { ptr @fld.str.573, i64 5 }] +@str.575 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.576 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.577 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.578 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.579 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.580 = private constant [4 x i8] c"sec\00" +@fld.str.581 = private constant [5 x i8] c"nsec\00" +@field_names.582 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.580, i64 3 }, { ptr, i64 } { ptr @fld.str.581, i64 4 }] @str.583 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.584 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.585 = private constant [5 x i8] c"read\00" -@fld.str.586 = private constant [6 x i8] c"write\00" -@fld.str.587 = private constant [7 x i8] c"append\00" -@fld.str.588 = private constant [11 x i8] c"read_write\00" -@field_names.589 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.585, i64 4 }, { ptr, i64 } { ptr @fld.str.586, i64 5 }, { ptr, i64 } { ptr @fld.str.587, i64 6 }, { ptr, i64 } { ptr @fld.str.588, i64 10 }] -@str.590 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.591 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.593 = private constant [4 x i8] c"set\00" -@fld.str.594 = private constant [8 x i8] c"current\00" -@fld.str.595 = private constant [4 x i8] c"end\00" -@field_names.596 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 7 }, { ptr, i64 } { ptr @fld.str.595, i64 3 }] -@str.597 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.598 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.600 = private constant [6 x i8] c"null_\00" -@fld.str.601 = private constant [6 x i8] c"bool_\00" -@fld.str.602 = private constant [5 x i8] c"int_\00" -@fld.str.603 = private constant [4 x i8] c"str\00" -@fld.str.604 = private constant [6 x i8] c"array\00" -@fld.str.605 = private constant [7 x i8] c"object\00" -@field_names.606 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.600, i64 5 }, { ptr, i64 } { ptr @fld.str.601, i64 5 }, { ptr, i64 } { ptr @fld.str.602, i64 4 }, { ptr, i64 } { ptr @fld.str.603, i64 3 }, { ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 6 }] -@str.607 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.608 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.609 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.610 = private constant [6 x i8] c"macos\00" -@fld.str.611 = private constant [6 x i8] c"linux\00" -@fld.str.612 = private constant [8 x i8] c"windows\00" -@fld.str.613 = private constant [5 x i8] c"wasm\00" -@fld.str.614 = private constant [4 x i8] c"ios\00" -@fld.str.615 = private constant [8 x i8] c"android\00" -@fld.str.616 = private constant [8 x i8] c"unknown\00" -@field_names.617 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 5 }, { ptr, i64 } { ptr @fld.str.611, i64 5 }, { ptr, i64 } { ptr @fld.str.612, i64 7 }, { ptr, i64 } { ptr @fld.str.613, i64 4 }, { ptr, i64 } { ptr @fld.str.614, i64 3 }, { ptr, i64 } { ptr @fld.str.615, i64 7 }, { ptr, i64 } { ptr @fld.str.616, i64 7 }] -@str.618 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.619 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.620 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.621 = private constant [8 x i8] c"aarch64\00" -@fld.str.622 = private constant [7 x i8] c"x86_64\00" -@fld.str.623 = private constant [7 x i8] c"wasm32\00" -@fld.str.624 = private constant [7 x i8] c"wasm64\00" -@fld.str.625 = private constant [8 x i8] c"unknown\00" -@field_names.626 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.621, i64 7 }, { ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 6 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 7 }] -@str.627 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.661 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.664 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.665 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.666 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.667 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.668 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.669 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.670 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.671 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.672 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.673 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.674 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.675 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.676 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.678 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.679 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.681 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.682 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.685 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.686 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.687 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.688 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.691 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.694 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.696 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.697 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.698 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.700 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.702 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.703 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.704 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.705 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.706 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.708 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.709 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.710 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.711 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.712 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.713 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.714 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.715 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.716 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.717 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.718 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.719 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.721 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.723 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.724 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.725 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.726 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.727 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.584 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.585 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.587 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.588 = private constant [3 x i8] c"fd\00" +@fld.str.589 = private constant [6 x i8] c"udata\00" +@fld.str.590 = private constant [9 x i8] c"readable\00" +@fld.str.591 = private constant [9 x i8] c"writable\00" +@fld.str.592 = private constant [4 x i8] c"eof\00" +@fld.str.593 = private constant [4 x i8] c"err\00" +@fld.str.594 = private constant [7 x i8] c"nbytes\00" +@field_names.595 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 2 }, { ptr, i64 } { ptr @fld.str.589, i64 5 }, { ptr, i64 } { ptr @fld.str.590, i64 8 }, { ptr, i64 } { ptr @fld.str.591, i64 8 }, { ptr, i64 } { ptr @fld.str.592, i64 3 }, { ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 6 }] +@str.596 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.597 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.598 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.600 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.601 = private constant [3 x i8] c"kq\00" +@field_names.602 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 2 }] +@str.603 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.604 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.605 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.607 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.608 = private constant [5 x i8] c"port\00" +@fld.str.609 = private constant [8 x i8] c"backlog\00" +@fld.str.610 = private constant [9 x i8] c"max_conn\00" +@fld.str.611 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.612 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.613 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.614 = private constant [14 x i8] c"request_count\00" +@field_names.615 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.608, i64 4 }, { ptr, i64 } { ptr @fld.str.609, i64 7 }, { ptr, i64 } { ptr @fld.str.610, i64 8 }, { ptr, i64 } { ptr @fld.str.611, i64 12 }, { ptr, i64 } { ptr @fld.str.612, i64 18 }, { ptr, i64 } { ptr @fld.str.613, i64 20 }, { ptr, i64 } { ptr @fld.str.614, i64 13 }] +@str.616 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.617 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.618 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.619 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.620 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.621 = private constant [7 x i8] c"method\00" +@fld.str.622 = private constant [5 x i8] c"path\00" +@fld.str.623 = private constant [8 x i8] c"version\00" +@fld.str.624 = private constant [12 x i8] c"headers_raw\00" +@fld.str.625 = private constant [5 x i8] c"body\00" +@fld.str.626 = private constant [11 x i8] c"keep_alive\00" +@field_names.627 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.621, i64 6 }, { ptr, i64 } { ptr @fld.str.622, i64 4 }, { ptr, i64 } { ptr @fld.str.623, i64 7 }, { ptr, i64 } { ptr @fld.str.624, i64 11 }, { ptr, i64 } { ptr @fld.str.625, i64 4 }, { ptr, i64 } { ptr @fld.str.626, i64 10 }] +@str.628 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.629 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.630 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.631 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.633 = private constant [7 x i8] c"status\00" +@fld.str.634 = private constant [13 x i8] c"content_type\00" +@fld.str.635 = private constant [14 x i8] c"extra_headers\00" +@fld.str.636 = private constant [5 x i8] c"body\00" +@field_names.637 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.633, i64 6 }, { ptr, i64 } { ptr @fld.str.634, i64 12 }, { ptr, i64 } { ptr @fld.str.635, i64 13 }, { ptr, i64 } { ptr @fld.str.636, i64 4 }] +@str.638 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.639 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.640 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.641 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.642 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.643 = private constant [3 x i8] c"fd\00" +@fld.str.644 = private constant [6 x i8] c"state\00" +@fld.str.645 = private constant [9 x i8] c"read_buf\00" +@fld.str.646 = private constant [9 x i8] c"read_len\00" +@fld.str.647 = private constant [8 x i8] c"out_buf\00" +@fld.str.648 = private constant [8 x i8] c"out_len\00" +@fld.str.649 = private constant [9 x i8] c"out_sent\00" +@fld.str.650 = private constant [9 x i8] c"deadline\00" +@fld.str.651 = private constant [7 x i8] c"served\00" +@fld.str.652 = private constant [12 x i8] c"close_after\00" +@fld.str.653 = private constant [12 x i8] c"write_armed\00" +@field_names.654 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.643, i64 2 }, { ptr, i64 } { ptr @fld.str.644, i64 5 }, { ptr, i64 } { ptr @fld.str.645, i64 8 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 7 }, { ptr, i64 } { ptr @fld.str.648, i64 7 }, { ptr, i64 } { ptr @fld.str.649, i64 8 }, { ptr, i64 } { ptr @fld.str.650, i64 8 }, { ptr, i64 } { ptr @fld.str.651, i64 6 }, { ptr, i64 } { ptr @fld.str.652, i64 11 }, { ptr, i64 } { ptr @fld.str.653, i64 11 }] +@str.655 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.656 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.657 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.659 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.660 = private constant [4 x i8] c"cfg\00" +@fld.str.661 = private constant [5 x i8] c"loop\00" +@fld.str.662 = private constant [4 x i8] c"lfd\00" +@fld.str.663 = private constant [6 x i8] c"conns\00" +@fld.str.664 = private constant [10 x i8] c"own_alloc\00" +@fld.str.665 = private constant [8 x i8] c"handler\00" +@field_names.666 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.660, i64 3 }, { ptr, i64 } { ptr @fld.str.661, i64 4 }, { ptr, i64 } { ptr @fld.str.662, i64 3 }, { ptr, i64 } { ptr @fld.str.663, i64 5 }, { ptr, i64 } { ptr @fld.str.664, i64 9 }, { ptr, i64 } { ptr @fld.str.665, i64 7 }] +@str.667 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.668 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.669 = private constant [5 x i8] c"read\00" +@fld.str.670 = private constant [6 x i8] c"write\00" +@fld.str.671 = private constant [7 x i8] c"append\00" +@fld.str.672 = private constant [11 x i8] c"read_write\00" +@field_names.673 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 4 }, { ptr, i64 } { ptr @fld.str.670, i64 5 }, { ptr, i64 } { ptr @fld.str.671, i64 6 }, { ptr, i64 } { ptr @fld.str.672, i64 10 }] +@str.674 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.675 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.677 = private constant [4 x i8] c"set\00" +@fld.str.678 = private constant [8 x i8] c"current\00" +@fld.str.679 = private constant [4 x i8] c"end\00" +@field_names.680 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 3 }, { ptr, i64 } { ptr @fld.str.678, i64 7 }, { ptr, i64 } { ptr @fld.str.679, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.684 = private constant [6 x i8] c"null_\00" +@fld.str.685 = private constant [6 x i8] c"bool_\00" +@fld.str.686 = private constant [5 x i8] c"int_\00" +@fld.str.687 = private constant [4 x i8] c"str\00" +@fld.str.688 = private constant [6 x i8] c"array\00" +@fld.str.689 = private constant [7 x i8] c"object\00" +@field_names.690 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.684, i64 5 }, { ptr, i64 } { ptr @fld.str.685, i64 5 }, { ptr, i64 } { ptr @fld.str.686, i64 4 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }, { ptr, i64 } { ptr @fld.str.688, i64 5 }, { ptr, i64 } { ptr @fld.str.689, i64 6 }] +@str.691 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.692 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.694 = private constant [6 x i8] c"macos\00" +@fld.str.695 = private constant [6 x i8] c"linux\00" +@fld.str.696 = private constant [8 x i8] c"windows\00" +@fld.str.697 = private constant [5 x i8] c"wasm\00" +@fld.str.698 = private constant [4 x i8] c"ios\00" +@fld.str.699 = private constant [8 x i8] c"android\00" +@fld.str.700 = private constant [8 x i8] c"unknown\00" +@field_names.701 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.694, i64 5 }, { ptr, i64 } { ptr @fld.str.695, i64 5 }, { ptr, i64 } { ptr @fld.str.696, i64 7 }, { ptr, i64 } { ptr @fld.str.697, i64 4 }, { ptr, i64 } { ptr @fld.str.698, i64 3 }, { ptr, i64 } { ptr @fld.str.699, i64 7 }, { ptr, i64 } { ptr @fld.str.700, i64 7 }] +@str.702 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.703 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.704 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.705 = private constant [8 x i8] c"aarch64\00" +@fld.str.706 = private constant [7 x i8] c"x86_64\00" +@fld.str.707 = private constant [7 x i8] c"wasm32\00" +@fld.str.708 = private constant [7 x i8] c"wasm64\00" +@fld.str.709 = private constant [8 x i8] c"unknown\00" +@field_names.710 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.705, i64 7 }, { ptr, i64 } { ptr @fld.str.706, i64 6 }, { ptr, i64 } { ptr @fld.str.707, i64 6 }, { ptr, i64 } { ptr @fld.str.708, i64 6 }, { ptr, i64 } { ptr @fld.str.709, i64 7 }] +@str.711 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.716 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.717 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.718 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.719 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \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 +@str.737 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \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 +@str.743 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.745 = private unnamed_addr constant [3 x i8] c", \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 @str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [10 x i8] c"*function\00", align 1 +@str.750 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.753 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.756 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.759 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.762 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.765 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.768 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.771 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.774 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.777 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.780 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.783 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.786 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.789 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.792 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.795 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.798 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.801 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.804 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.807 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.813 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.816 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.819 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.822 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.825 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.828 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.831 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.834 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.837 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [10 x i8] c"*function\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.865 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.866 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1143,38 +1239,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 -while.hdr.411: ; preds = %if.merge.416, %entry +while.hdr.445: ; preds = %if.merge.450, %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.412, label %while.exit.413 + br i1 %icmp, label %while.body.446, label %while.exit.447 -while.body.412: ; preds = %while.hdr.411 +while.body.446: ; preds = %while.hdr.445 %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.414, label %if.else.415 + br i1 %icmpN, label %if.then.448, label %if.else.449 -while.exit.413: ; preds = %while.hdr.411 +while.exit.447: ; preds = %while.hdr.445 ret void -if.then.414: ; preds = %while.body.412 +if.then.448: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.416 + br label %if.merge.450 -if.else.415: ; preds = %while.body.412 +if.else.449: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.416 + br label %if.merge.450 -if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi i64 [ %addN, %if.then.414 ], [ %addN, %if.else.415 ] +if.merge.450: ; preds = %if.else.449, %if.then.448 + %bp = phi i64 [ %addN, %if.then.448 ], [ %addN, %if.else.449 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1187,7 +1283,7 @@ if.merge.416: ; preds = %if.else.415, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 } ; Function Attrs: nounwind @@ -1300,12 +1396,12 @@ entry: 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.409, label %if.merge.410 + br i1 %icmp, label %if.then.443, label %if.merge.444 -if.then.409: ; preds = %entry +if.then.443: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.410: ; preds = %entry +if.merge.444: ; 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 @@ -1328,14 +1424,14 @@ if.merge.410: ; preds = %entry %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.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.421, %if.merge.410 +while.hdr.451: ; preds = %if.merge.455, %if.merge.444 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.418, label %while.exit.419 + br i1 %icmpN, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1343,9 +1439,9 @@ while.body.418: ; preds = %while.hdr.417 %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.420, label %if.merge.421 + br i1 %icmpN, label %if.then.454, label %if.merge.455 -while.exit.419: ; preds = %if.then.420, %while.hdr.417 +while.exit.453: ; preds = %if.then.454, %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1353,14 +1449,14 @@ while.exit.419: ; preds = %if.then.420, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.420: ; preds = %while.body.418 - br label %while.exit.419 +if.then.454: ; preds = %while.body.452 + br label %while.exit.453 -if.merge.421: ; preds = %while.body.418 +if.merge.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1508,6 +1604,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1518,18 +1619,19 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 117, label %match.arm.47 + i64 129, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 115, label %match.arm.48 + i64 127, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1556,15 +1658,19 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 111, label %match.arm.49 - i64 112, label %match.arm.49 - i64 113, label %match.arm.49 i64 114, label %match.arm.49 i64 116, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 + i64 123, label %match.arm.49 + i64 124, label %match.arm.49 + i64 125, label %match.arm.49 + i64 126, label %match.arm.49 + i64 128, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1573,7 +1679,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.524, %dispatch.merge.369, %dispatch.merge.331, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.570, %dispatch.merge.399, %dispatch.merge.361, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1587,7 +1693,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [187 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [205 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1615,7 +1721,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1650,28 +1756,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1683,80 +1794,84 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 117, label %dispatch.case.300 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 129, label %dispatch.case.330 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.332 [ - i64 24, label %dispatch.case.333 - i64 64, label %dispatch.case.334 - i64 81, label %dispatch.case.335 - i64 89, label %dispatch.case.336 - i64 109, label %dispatch.case.337 - i64 115, label %dispatch.case.338 + switch i64 %ua.raw33, label %dispatch.default.362 [ + i64 24, label %dispatch.case.363 + i64 64, label %dispatch.case.364 + i64 81, label %dispatch.case.365 + i64 89, label %dispatch.case.366 + i64 109, label %dispatch.case.367 + i64 127, label %dispatch.case.368 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 19, label %dispatch.case.371 - i64 26, label %dispatch.case.372 - i64 28, label %dispatch.case.373 - i64 30, label %dispatch.case.374 - i64 32, label %dispatch.case.375 - i64 33, label %dispatch.case.376 - i64 35, label %dispatch.case.377 - i64 37, label %dispatch.case.378 - i64 41, label %dispatch.case.379 - i64 48, label %dispatch.case.380 - i64 50, label %dispatch.case.381 - i64 51, label %dispatch.case.382 - i64 60, label %dispatch.case.383 - i64 61, label %dispatch.case.384 - i64 62, label %dispatch.case.385 - i64 63, label %dispatch.case.386 - i64 66, label %dispatch.case.387 - i64 71, label %dispatch.case.388 - i64 78, label %dispatch.case.389 - i64 87, label %dispatch.case.390 - i64 90, label %dispatch.case.391 - i64 94, label %dispatch.case.392 - i64 98, label %dispatch.case.393 - i64 101, label %dispatch.case.394 - i64 102, label %dispatch.case.395 - i64 107, label %dispatch.case.396 - i64 111, label %dispatch.case.397 - i64 112, label %dispatch.case.398 - i64 113, label %dispatch.case.399 - i64 114, label %dispatch.case.400 - i64 116, label %dispatch.case.401 - i64 118, label %dispatch.case.402 - i64 119, label %dispatch.case.403 - i64 120, label %dispatch.case.404 - i64 121, label %dispatch.case.405 + switch i64 %ua.raw37, label %dispatch.default.400 [ + i64 19, label %dispatch.case.401 + i64 26, label %dispatch.case.402 + i64 28, label %dispatch.case.403 + i64 30, label %dispatch.case.404 + i64 32, label %dispatch.case.405 + i64 33, label %dispatch.case.406 + i64 35, label %dispatch.case.407 + i64 37, label %dispatch.case.408 + i64 41, label %dispatch.case.409 + i64 48, label %dispatch.case.410 + i64 50, label %dispatch.case.411 + i64 51, label %dispatch.case.412 + i64 60, label %dispatch.case.413 + i64 61, label %dispatch.case.414 + i64 62, label %dispatch.case.415 + i64 63, label %dispatch.case.416 + i64 66, label %dispatch.case.417 + i64 71, label %dispatch.case.418 + i64 78, label %dispatch.case.419 + i64 87, label %dispatch.case.420 + i64 90, label %dispatch.case.421 + i64 94, label %dispatch.case.422 + i64 98, label %dispatch.case.423 + i64 101, label %dispatch.case.424 + i64 102, label %dispatch.case.425 + i64 107, label %dispatch.case.426 + i64 114, label %dispatch.case.427 + i64 116, label %dispatch.case.428 + i64 117, label %dispatch.case.429 + i64 121, label %dispatch.case.430 + i64 123, label %dispatch.case.431 + i64 124, label %dispatch.case.432 + i64 125, label %dispatch.case.433 + i64 126, label %dispatch.case.434 + i64 128, label %dispatch.case.435 + i64 130, label %dispatch.case.436 + i64 131, label %dispatch.case.437 + i64 132, label %dispatch.case.438 + i64 133, label %dispatch.case.439 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.525 [ - i64 42, label %dispatch.case.526 - i64 43, label %dispatch.case.527 - i64 45, label %dispatch.case.528 - i64 47, label %dispatch.case.529 - i64 95, label %dispatch.case.530 + switch i64 %ua.raw41, label %dispatch.default.571 [ + i64 42, label %dispatch.case.572 + i64 43, label %dispatch.case.573 + i64 45, label %dispatch.case.574 + i64 47, label %dispatch.case.575 + i64 95, label %dispatch.case.576 ] match.arm.51: ; preds = %entry @@ -1765,7 +1880,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [205 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1810,13 +1925,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2059,462 +2174,530 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.331: ; preds = %dispatch.case.338, %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.default.332 +dispatch.case.326: ; preds = %match.arm.47 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.327: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.328: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.361: ; preds = %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.default.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.332: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.331 +dispatch.default.362: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.361 -dispatch.case.333: ; preds = %match.arm.48 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.334: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.335: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.336: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.337: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.338: ; preds = %match.arm.48 +dispatch.case.363: ; preds = %match.arm.48 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 + br label %dispatch.merge.361 -dispatch.merge.369: ; preds = %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.default.370 +dispatch.case.364: ; preds = %match.arm.48 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.365: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.366: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.367: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.368: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.merge.399: ; preds = %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.default.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.370: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.371: ; preds = %match.arm.49 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.372: ; preds = %match.arm.49 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.373: ; preds = %match.arm.49 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.374: ; preds = %match.arm.49 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.375: ; preds = %match.arm.49 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.376: ; preds = %match.arm.49 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_fn_i32_i32__i32(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 +dispatch.default.400: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.399 dispatch.case.401: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.402: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.403: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.404: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.405: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 -dispatch.merge.524: ; preds = %dispatch.case.530, %dispatch.case.529, %dispatch.case.528, %dispatch.case.527, %dispatch.case.526, %dispatch.default.525 +dispatch.case.406: ; preds = %match.arm.49 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.407: ; preds = %match.arm.49 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.408: ; preds = %match.arm.49 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.409: ; preds = %match.arm.49 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.410: ; preds = %match.arm.49 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.411: ; preds = %match.arm.49 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_fn_i32_i32__i32(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.merge.570: ; preds = %dispatch.case.576, %dispatch.case.575, %dispatch.case.574, %dispatch.case.573, %dispatch.case.572, %dispatch.default.571 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.525: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.524 +dispatch.default.571: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.570 -dispatch.case.526: ; preds = %match.arm.50 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.572: ; preds = %match.arm.50 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.527: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.573: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.528: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.574: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.529: ; preds = %match.arm.50 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.575: ; preds = %match.arm.50 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.530: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.576: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 } ; Function Attrs: nounwind @@ -2523,7 +2706,7 @@ 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.294, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.314, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2619,7 +2802,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, 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 @@ -2627,7 +2810,7 @@ if.then.12: ; preds = %if.then.9 %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.296, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, 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 @@ -2637,13 +2820,13 @@ if.then.12: ; preds = %if.then.9 %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.297, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2651,7 +2834,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.299, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2665,7 +2848,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2673,7 +2856,7 @@ if.then.23: ; preds = %if.else.10 %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.301, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2684,7 +2867,7 @@ if.then.23: ; preds = %if.else.10 %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.302, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2741,7 +2924,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2749,7 +2932,7 @@ if.then.32: ; preds = %if.then.29 %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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2760,7 +2943,7 @@ if.then.32: ; preds = %if.then.29 %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.305, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2780,7 +2963,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2788,7 +2971,7 @@ if.then.35: ; preds = %while.exit.2 %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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2799,7 +2982,7 @@ if.then.35: ; preds = %while.exit.2 %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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3632,6 +3815,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @add(ptr %0, i32 %1, i32 %2) #0 { entry: @@ -3711,7 +3942,7 @@ entry: define internal void @print__ct_sab6a3b1f9bc359ad__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.309, i64 13 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.329, i64 13 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3727,7 +3958,7 @@ entry: %gepN = getelementptr inbounds { 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.310, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.330, 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 10) @@ -3755,7 +3986,7 @@ entry: ; 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.311, i64 13 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.331, i64 13 }) ret { ptr, i64 } %call } @@ -3763,7 +3994,7 @@ entry: define internal void @print__ct_s3417a75739024851__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.312, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.332, i64 20 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3779,7 +4010,7 @@ entry: %gepN = getelementptr inbounds { 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.313, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.333, 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 17) @@ -3807,7 +4038,7 @@ entry: ; 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.314, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.334, i64 20 }) ret { ptr, i64 } %call } @@ -3815,7 +4046,7 @@ entry: define internal void @print__ct_s2ed9f416bd1dfc65__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.315, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.335, i64 20 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3831,7 +4062,7 @@ entry: %gepN = getelementptr inbounds { 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.316, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.336, 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 17) @@ -3859,7 +4090,7 @@ entry: ; 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.317, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.337, i64 20 }) ret { ptr, i64 } %call } @@ -3870,35 +4101,35 @@ entry: %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.318, i64 15 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.338, i64 15 }, { ptr, i64 } { ptr @str.339, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3906,7 +4137,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.325, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, 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 @@ -3926,31 +4157,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -3963,43 +4194,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.326, i64 9 }, { ptr, i64 } { ptr @str.327, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.346, i64 9 }, { ptr, i64 } { ptr @str.347, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.333, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.353, 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.334, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, 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 @@ -4018,24 +4249,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4048,43 +4279,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.335, i64 7 }, { ptr, i64 } { ptr @str.336, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.355, i64 7 }, { ptr, i64 } { ptr @str.356, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.361, 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.342, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, 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 %alloca, align 8 @@ -4102,19 +4333,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4126,43 +4357,43 @@ 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.343, i64 10 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 10 }, { ptr, i64 } { ptr @str.364, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.347, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.367, 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.348, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4173,7 +4404,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4181,43 +4412,43 @@ 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.349, i64 3 }, { ptr, i64 } { ptr @str.350, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.369, i64 3 }, { ptr, i64 } { ptr @str.370, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.354, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.374, 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.355, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, 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 @@ -4234,12 +4465,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4250,43 +4481,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.356, i64 10 }, { ptr, i64 } { ptr @str.357, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.376, i64 10 }, { ptr, i64 } { ptr @str.377, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.362, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.382, 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.363, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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 @@ -4304,18 +4535,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4327,91 +4558,7 @@ 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.364, i64 5 }, { ptr, i64 } { ptr @str.365, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.371, 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.372, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.373, i64 8 }, { ptr, i64 } { ptr @str.374, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.384, i64 5 }, { ptr, i64 } { ptr @str.385, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4430,27 +4577,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.380, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.391, 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.381, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, 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 { 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 @@ -4472,17 +4619,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.393, i64 8 }, { ptr, i64 } { ptr @str.394, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.400, 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.401, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4494,43 +4725,43 @@ 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.382, i64 17 }, { ptr, i64 } { ptr @str.383, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.402, i64 17 }, { ptr, i64 } { ptr @str.403, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.390, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.410, 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.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, 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 @@ -4550,29 +4781,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4583,43 +4814,43 @@ 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.392, i64 4 }, { ptr, i64 } { ptr @str.393, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.412, i64 4 }, { ptr, i64 } { ptr @str.413, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.397, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.417, 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.398, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, 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 @@ -4636,12 +4867,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4656,43 +4887,43 @@ entry: %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.399, i64 10 }, { ptr, i64 } { ptr @str.400, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.419, i64 10 }, { ptr, i64 } { ptr @str.420, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.408, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.428, 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.409, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, 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 @@ -4713,38 +4944,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4758,43 +4989,43 @@ 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.410, i64 13 }, { ptr, i64 } { ptr @str.411, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.430, i64 13 }, { ptr, i64 } { ptr @str.431, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.416, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.436, 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.417, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, 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 @@ -4812,18 +5043,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4836,43 +5067,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.418, i64 8 }, { ptr, i64 } { ptr @str.419, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.438, i64 8 }, { ptr, i64 } { ptr @str.439, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.427, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.447, 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.428, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, 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 @@ -4893,36 +5124,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4933,89 +5164,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.429, i64 5 }, { ptr, i64 } { ptr @str.430, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.436, 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.437, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.438, i64 6 }, { ptr, i64 } { ptr @str.439, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.449, i64 5 }, { ptr, i64 } { ptr @str.450, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5034,24 +5183,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.456, 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.446, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, 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 @@ -5078,7 +5227,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -5093,13 +5242,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.447, i64 6 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %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.458, i64 6 }, { ptr, i64 } { ptr @str.459, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5108,7 +5255,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5118,24 +5265,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.453, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.465, 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.454, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.467, i64 6 }, { ptr, i64 } { ptr @str.468, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.473, 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.474, 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 @@ -5153,19 +5384,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5179,93 +5410,7 @@ 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.455, i64 4 }, { ptr, i64 } { ptr @str.456, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.462, 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.463, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.464, i64 6 }, { ptr, i64 } { ptr @str.465, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.475, i64 4 }, { ptr, i64 } { ptr @str.476, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5284,24 +5429,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.471, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.482, 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.472, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.484, i64 6 }, { ptr, i64 } { ptr @str.485, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.491, 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.492, 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 @@ -5320,24 +5551,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5350,43 +5581,43 @@ 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.473, i64 12 }, { ptr, i64 } { ptr @str.474, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.493, i64 12 }, { ptr, i64 } { ptr @str.494, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.477, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.497, 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.478, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5397,7 +5628,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5406,95 +5637,7 @@ 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.479, i64 8 }, { ptr, i64 } { ptr @str.480, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.486, 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.487, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.488, i64 7 }, { ptr, i64 } { ptr @str.489, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.499, i64 8 }, { ptr, i64 } { ptr @str.500, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5513,24 +5656,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.495, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.506, 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.496, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.508, i64 7 }, { ptr, i64 } { ptr @str.509, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.515, 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.516, 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 @@ -5549,26 +5780,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5582,86 +5813,7 @@ 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.497, i64 9 }, { ptr, i64 } { ptr @str.498, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.503, 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.504, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.505, i64 4 }, { ptr, i64 } { ptr @str.506, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 9 }, { ptr, i64 } { ptr @str.518, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5680,27 +5832,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.511, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.523, 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.512, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, 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 { 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 @@ -5721,11 +5873,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.525, i64 4 }, { ptr, i64 } { ptr @str.526, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.531, 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.532, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5743,43 +5974,43 @@ entry: %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.513, i64 6 }, { ptr, i64 } { ptr @str.514, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.533, i64 6 }, { ptr, i64 } { ptr @str.534, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.524, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.544, 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.525, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, 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 @@ -5802,51 +6033,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5861,43 +6092,43 @@ entry: %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.526, i64 6 }, { ptr, i64 } { ptr @str.527, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.546, i64 6 }, { ptr, i64 } { ptr @str.547, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.548, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.534, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.554, 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.535, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, 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 @@ -5917,31 +6148,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -5952,82 +6183,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.536, i64 8 }, { ptr, i64 } { ptr @str.537, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.542, 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.543, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.544, i64 6 }, { ptr, i64 } { ptr @str.545, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.556, i64 8 }, { ptr, i64 } { ptr @str.557, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6036,7 +6192,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -6046,118 +6202,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.554, 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.555, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.556, i64 10 }, { ptr, i64 } { ptr @str.557, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.562, i64 0, i64 %loadN @@ -6183,17 +6237,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.564, i64 6 }, { ptr, i64 } { ptr @str.565, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.574, 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.575, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.576, i64 10 }, { ptr, i64 } { ptr @str.577, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.582, 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.583, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6204,43 +6435,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.564, i64 5 }, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 5 }, { ptr, i64 } { ptr @str.585, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.575, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.595, 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.576, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.596, 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, i64 }, ptr %alloca, align 8 @@ -6263,47 +6494,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6314,43 +6545,43 @@ 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.577, i64 4 }, { ptr, i64 } { ptr @str.578, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 4 }, { ptr, i64 } { ptr @str.598, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.599, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.582, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.602, 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.583, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, 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 @@ -6367,18 +6598,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 6 }, { ptr, i64 } { ptr @str.605, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.615, 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.616, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.617, i64 7 }, { ptr, i64 } { ptr @str.618, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.627, 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.628, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.629, i64 8 }, { ptr, i64 } { ptr @str.630, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.637, 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.638, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 4 }, { ptr, i64 } { ptr @str.640, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.654, 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.655, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 6 }, { ptr, i64 } { ptr @str.657, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.666, 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.667, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6388,9 +7182,9 @@ entry: %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.589, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.673, 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.584, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, 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 @@ -6404,18 +7198,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.591, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.675, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6429,9 +7223,9 @@ entry: %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.596, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.680, 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.592, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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 @@ -6445,18 +7239,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.598, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6481,9 +7275,9 @@ entry: %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.606, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.690, 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.599, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, 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 @@ -6497,16 +7291,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.608, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6519,7 +7313,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6579,9 +7373,9 @@ entry: %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.617, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.701, 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.609, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, 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 @@ -6595,18 +7389,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.619, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6620,9 +7414,9 @@ entry: %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.626, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.710, 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.620, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, 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 @@ -6636,18 +7430,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.628, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6659,33 +7453,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.629, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.713, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 -while.hdr.301: ; preds = %if.merge.305, %entry +while.hdr.331: ; preds = %if.merge.335, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.302, label %while.exit.303 + br i1 %icmp, label %while.body.332, label %while.exit.333 -while.body.302: ; preds = %while.hdr.301 +while.body.332: ; preds = %while.hdr.331 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.304, label %if.merge.305 + br i1 %icmpN, label %if.then.334, label %if.merge.335 -while.exit.303: ; preds = %while.hdr.301 +while.exit.333: ; preds = %while.hdr.331 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) ret { ptr, i64 } %call -if.then.304: ; preds = %while.body.302 +if.then.334: ; preds = %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + %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 - br label %if.merge.305 + br label %if.merge.335 -if.merge.305: ; preds = %if.then.304, %while.body.302 +if.merge.335: ; preds = %if.then.334, %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6699,7 +7493,7 @@ if.merge.305: ; preds = %if.then.304, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 } ; Function Attrs: nounwind @@ -6710,33 +7504,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.632, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.716, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 -while.hdr.306: ; preds = %if.merge.310, %entry +while.hdr.336: ; preds = %if.merge.340, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.307, label %while.exit.308 + br i1 %icmp, label %while.body.337, label %while.exit.338 -while.body.307: ; preds = %while.hdr.306 +while.body.337: ; preds = %while.hdr.336 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.309, label %if.merge.310 + br i1 %icmpN, label %if.then.339, label %if.merge.340 -while.exit.308: ; preds = %while.hdr.306 +while.exit.338: ; preds = %while.hdr.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 1 }) ret { ptr, i64 } %call -if.then.309: ; preds = %while.body.307 +if.then.339: ; preds = %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %while.body.307 +if.merge.340: ; preds = %if.then.339, %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6752,7 +7546,7 @@ if.merge.310: ; preds = %if.then.309, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 } ; Function Attrs: nounwind @@ -6762,33 +7556,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.719, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 -while.hdr.311: ; preds = %if.merge.315, %entry +while.hdr.341: ; preds = %if.merge.345, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.312, label %while.exit.313 + br i1 %icmp, label %while.body.342, label %while.exit.343 -while.body.312: ; preds = %while.hdr.311 +while.body.342: ; preds = %while.hdr.341 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.314, label %if.merge.315 + br i1 %icmpN, label %if.then.344, label %if.merge.345 -while.exit.313: ; preds = %while.hdr.311 +while.exit.343: ; preds = %while.hdr.341 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %call -if.then.314: ; preds = %while.body.312 +if.then.344: ; preds = %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %while.body.312 +if.merge.345: ; preds = %if.then.344, %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6802,7 +7596,7 @@ if.merge.315: ; preds = %if.then.314, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 } ; Function Attrs: nounwind @@ -6812,33 +7606,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.722, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 -while.hdr.316: ; preds = %if.merge.320, %entry +while.hdr.346: ; preds = %if.merge.350, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.317, label %while.exit.318 + br i1 %icmp, label %while.body.347, label %while.exit.348 -while.body.317: ; preds = %while.hdr.316 +while.body.347: ; preds = %while.hdr.346 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.319, label %if.merge.320 + br i1 %icmpN, label %if.then.349, label %if.merge.350 -while.exit.318: ; preds = %while.hdr.316 +while.exit.348: ; preds = %while.hdr.346 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %call -if.then.319: ; preds = %while.body.317 +if.then.349: ; preds = %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %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 - br label %if.merge.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %while.body.317 +if.merge.350: ; preds = %if.then.349, %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6853,7 +7647,7 @@ if.merge.320: ; preds = %if.then.319, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 } ; Function Attrs: nounwind @@ -6863,33 +7657,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.725, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %if.merge.325, %entry +while.hdr.351: ; preds = %if.merge.355, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %call -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6903,7 +7697,7 @@ if.merge.325: ; preds = %if.then.324, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 } ; Function Attrs: nounwind @@ -6914,33 +7708,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.644, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.728, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6956,7 +7750,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -6966,35 +7760,35 @@ entry: %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.647, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.731, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 -while.hdr.339: ; preds = %if.merge.343, %entry +while.hdr.369: ; preds = %if.merge.373, %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.340, label %while.exit.341 + br i1 %icmp, label %while.body.370, label %while.exit.371 -while.body.340: ; preds = %while.hdr.339 +while.body.370: ; preds = %while.hdr.369 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.342, label %if.merge.343 + br i1 %icmpN, label %if.then.372, label %if.merge.373 -while.exit.341: ; preds = %while.hdr.339 +while.exit.371: ; preds = %while.hdr.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %call -if.then.342: ; preds = %while.body.340 +if.then.372: ; preds = %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.343 + br label %if.merge.373 -if.merge.343: ; preds = %if.then.342, %while.body.340 +if.merge.373: ; preds = %if.then.372, %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7010,7 +7804,7 @@ if.merge.343: ; preds = %if.then.342, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 } ; Function Attrs: nounwind @@ -7019,35 +7813,35 @@ 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.650, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.734, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %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.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + %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.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7062,7 +7856,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -7072,35 +7866,35 @@ entry: %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.653, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.737, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 -while.hdr.349: ; preds = %if.merge.353, %entry +while.hdr.379: ; preds = %if.merge.383, %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.350, label %while.exit.351 + br i1 %icmp, label %while.body.380, label %while.exit.381 -while.body.350: ; preds = %while.hdr.349 +while.body.380: ; preds = %while.hdr.379 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.352, label %if.merge.353 + br i1 %icmpN, label %if.then.382, label %if.merge.383 -while.exit.351: ; preds = %while.hdr.349 +while.exit.381: ; preds = %while.hdr.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %call -if.then.352: ; preds = %while.body.350 +if.then.382: ; preds = %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.353 + br label %if.merge.383 -if.merge.353: ; preds = %if.then.352, %while.body.350 +if.merge.383: ; preds = %if.then.382, %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7116,7 +7910,7 @@ if.merge.353: ; preds = %if.then.352, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 } ; Function Attrs: nounwind @@ -7126,35 +7920,35 @@ entry: %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.656, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.740, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 -while.hdr.354: ; preds = %if.merge.358, %entry +while.hdr.384: ; preds = %if.merge.388, %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.355, label %while.exit.356 + br i1 %icmp, label %while.body.385, label %while.exit.386 -while.body.355: ; preds = %while.hdr.354 +while.body.385: ; preds = %while.hdr.384 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.357, label %if.merge.358 + br i1 %icmpN, label %if.then.387, label %if.merge.388 -while.exit.356: ; preds = %while.hdr.354 +while.exit.386: ; preds = %while.hdr.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) ret { ptr, i64 } %call -if.then.357: ; preds = %while.body.355 +if.then.387: ; preds = %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + %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.358 + br label %if.merge.388 -if.merge.358: ; preds = %if.then.357, %while.body.355 +if.merge.388: ; preds = %if.then.387, %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7170,7 +7964,7 @@ if.merge.358: ; preds = %if.then.357, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 } ; Function Attrs: nounwind @@ -7180,35 +7974,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.659, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.743, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 -while.hdr.359: ; preds = %if.merge.363, %entry +while.hdr.389: ; preds = %if.merge.393, %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.360, label %while.exit.361 + br i1 %icmp, label %while.body.390, label %while.exit.391 -while.body.360: ; preds = %while.hdr.359 +while.body.390: ; preds = %while.hdr.389 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.362, label %if.merge.363 + br i1 %icmpN, label %if.then.392, label %if.merge.393 -while.exit.361: ; preds = %while.hdr.359 +while.exit.391: ; preds = %while.hdr.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 1 }) ret { ptr, i64 } %call -if.then.362: ; preds = %while.body.360 +if.then.392: ; preds = %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.363 + br label %if.merge.393 -if.merge.363: ; preds = %if.then.362, %while.body.360 +if.merge.393: ; preds = %if.then.392, %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7224,7 +8018,7 @@ if.merge.363: ; preds = %if.then.362, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 } ; Function Attrs: nounwind @@ -7234,35 +8028,35 @@ entry: %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.662, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.746, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 -while.hdr.364: ; preds = %if.merge.368, %entry +while.hdr.394: ; preds = %if.merge.398, %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.365, label %while.exit.366 + br i1 %icmp, label %while.body.395, label %while.exit.396 -while.body.365: ; preds = %while.hdr.364 +while.body.395: ; preds = %while.hdr.394 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.367, label %if.merge.368 + br i1 %icmpN, label %if.then.397, label %if.merge.398 -while.exit.366: ; preds = %while.hdr.364 +while.exit.396: ; preds = %while.hdr.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 1 }) ret { ptr, i64 } %call -if.then.367: ; preds = %while.body.365 +if.then.397: ; preds = %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 2 }) + %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.368 + br label %if.merge.398 -if.merge.368: ; preds = %if.then.367, %while.body.365 +if.merge.398: ; preds = %if.then.397, %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7278,206 +8072,11 @@ if.merge.368: ; preds = %if.then.367, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 } ; 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.406, label %if.else.407 - -if.then.406: ; preds = %entry - br label %if.merge.408 - -if.else.407: ; 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.408 - -if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] - 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.422, label %if.else.423 - -if.then.422: ; preds = %entry - br label %if.merge.424 - -if.else.423: ; 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.424 - -if.merge.424: ; preds = %if.else.423, %if.then.422 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] - 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.425, label %if.else.426 - -if.then.425: ; preds = %entry - br label %if.merge.427 - -if.else.426: ; 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.427 - -if.merge.427: ; preds = %if.else.426, %if.then.425 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - ret { ptr, i64 } %bp -} - -; 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.685, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - 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 @@ -7495,12 +8094,207 @@ if.then.440: ; preds = %entry if.else.441: ; 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.688, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 5 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + 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.456, label %if.else.457 + +if.then.456: ; preds = %entry + br label %if.merge.458 + +if.else.457: ; 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.754, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.458 + +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + 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.459, label %if.else.460 + +if.then.459: ; preds = %entry + br label %if.merge.461 + +if.else.460: ; 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.757, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.461 + +if.merge.461: ; preds = %if.else.460, %if.then.459 + %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.760, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.763, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + ret { ptr, i64 } %bp +} + +; 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.766, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.769, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.772, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } @@ -7515,20 +8309,20 @@ entry: 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.443, label %if.else.444 + br i1 %icmp, label %if.then.477, label %if.else.478 -if.then.443: ; preds = %entry - br label %if.merge.445 +if.then.477: ; preds = %entry + br label %if.merge.479 -if.else.444: ; preds = %entry +if.else.478: ; 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.445 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.479 -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } @@ -7543,20 +8337,20 @@ entry: 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.446, label %if.else.447 + br i1 %icmp, label %if.then.480, label %if.else.481 -if.then.446: ; preds = %entry - br label %if.merge.448 +if.then.480: ; preds = %entry + br label %if.merge.482 -if.else.447: ; preds = %entry +if.else.481: ; 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.448 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.482 -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7571,20 +8365,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7599,20 +8393,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.700, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7626,20 +8420,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7654,20 +8448,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7681,20 +8475,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7709,20 +8503,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7737,20 +8531,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7765,20 +8559,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7793,20 +8587,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7821,20 +8615,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7849,20 +8643,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7877,20 +8671,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7905,20 +8699,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7933,20 +8727,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7961,20 +8755,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7989,20 +8783,131 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] + 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.531, label %if.else.532 + +if.then.531: ; preds = %entry + br label %if.merge.533 + +if.else.532: ; 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.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.533 + +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] + 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.534, label %if.else.535 + +if.then.534: ; preds = %entry + br label %if.merge.536 + +if.else.535: ; 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.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 + +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -8017,20 +8922,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.498: ; preds = %entry +if.else.544: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -8045,20 +8950,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.501: ; preds = %entry +if.else.547: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -8073,20 +8978,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8101,20 +9006,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8129,20 +9034,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8157,20 +9062,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8185,20 +9090,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8213,20 +9118,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.766, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.860, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8241,20 +9146,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.769, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.863, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8267,12 +9172,12 @@ entry: %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.531, label %if.merge.532 + br i1 %lnot, label %if.then.577, label %if.merge.578 -if.then.531: ; preds = %entry - ret { ptr, i64 } { ptr @str.770, i64 4 } +if.then.577: ; preds = %entry + ret { ptr, i64 } { ptr @str.866, i64 4 } -if.merge.532: ; preds = %entry +if.merge.578: ; 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 @@ -8291,12 +9196,12 @@ entry: %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.533, label %if.merge.534 + br i1 %lnot, label %if.then.579, label %if.merge.580 -if.then.533: ; preds = %entry - ret { ptr, i64 } { ptr @str.771, i64 4 } +if.then.579: ; preds = %entry + ret { ptr, i64 } { ptr @str.867, i64 4 } -if.merge.534: ; preds = %entry +if.merge.580: ; 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 @@ -8314,12 +9219,12 @@ entry: %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.535, label %if.merge.536 + br i1 %lnot, label %if.then.581, label %if.merge.582 -if.then.535: ; preds = %entry - ret { ptr, i64 } { ptr @str.772, i64 4 } +if.then.581: ; preds = %entry + ret { ptr, i64 } { ptr @str.868, i64 4 } -if.merge.536: ; preds = %entry +if.merge.582: ; 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 @@ -8336,12 +9241,12 @@ entry: %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.537, label %if.merge.538 + br i1 %lnot, label %if.then.583, label %if.merge.584 -if.then.537: ; preds = %entry - ret { ptr, i64 } { ptr @str.773, i64 4 } +if.then.583: ; preds = %entry + ret { ptr, i64 } { ptr @str.869, i64 4 } -if.merge.538: ; preds = %entry +if.merge.584: ; 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 @@ -8360,12 +9265,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.774, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.870, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 diff --git a/examples/expected/0400-protocols-impl-for-builtin.ir b/examples/expected/0400-protocols-impl-for-builtin.ir index cd79485..13feed1 100644 --- a/examples/expected/0400-protocols-impl-for-builtin.ir +++ b/examples/expected/0400-protocols-impl-for-builtin.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [190 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] +@__sx_type_is_unsigned = private constant [208 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,474 +28,474 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [9 x i8] c"Lerpable\00" -@tn.str.122 = private constant [16 x i8] c"Source_Location\00" -@tn.str.123 = private constant [10 x i8] c"Allocator\00" -@tn.str.124 = private constant [8 x i8] c"Context\00" -@tn.str.125 = private constant [7 x i8] c"[4]i64\00" -@tn.str.126 = private constant [9 x i8] c"[]string\00" -@tn.str.127 = private constant [11 x i8] c"CAllocator\00" -@tn.str.128 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.129 = private constant [4 x i8] c"GPA\00" -@tn.str.130 = private constant [5 x i8] c"*GPA\00" -@tn.str.131 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.132 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.133 = private constant [6 x i8] c"Arena\00" -@tn.str.134 = private constant [7 x i8] c"*Arena\00" -@tn.str.135 = private constant [6 x i8] c"[*]u8\00" -@tn.str.136 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.137 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.138 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.139 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.140 = private constant [9 x i8] c"OpenMode\00" -@tn.str.141 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.142 = private constant [5 x i8] c"File\00" -@tn.str.143 = private constant [6 x i8] c"*File\00" -@tn.str.144 = private constant [6 x i8] c"?File\00" -@tn.str.145 = private constant [8 x i8] c"?string\00" -@tn.str.146 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.147 = private constant [9 x i8] c"?cstring\00" -@tn.str.148 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.149 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.150 = private constant [5 x i8] c"*i32\00" -@tn.str.151 = private constant [9 x i8] c"SockAddr\00" -@tn.str.152 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.153 = private constant [5 x i8] c"*u32\00" -@tn.str.154 = private constant [8 x i8] c"SockErr\00" -@tn.str.155 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.156 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.157 = private constant [10 x i8] c"JsonError\00" -@tn.str.158 = private constant [6 x i8] c"Array\00" -@tn.str.159 = private constant [7 x i8] c"Object\00" -@tn.str.160 = private constant [6 x i8] c"Value\00" -@tn.str.161 = private constant [7 x i8] c"Member\00" -@tn.str.162 = private constant [9 x i8] c"[*]Value\00" -@tn.str.163 = private constant [7 x i8] c"*Array\00" -@tn.str.164 = private constant [10 x i8] c"[*]Member\00" -@tn.str.165 = private constant [8 x i8] c"*Object\00" -@tn.str.166 = private constant [5 x i8] c"[]u8\00" -@tn.str.167 = private constant [5 x i8] c"Sink\00" -@tn.str.168 = private constant [6 x i8] c"*Sink\00" -@tn.str.169 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.170 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.171 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.172 = private constant [7 x i8] c"Parser\00" -@tn.str.173 = private constant [8 x i8] c"*Parser\00" -@tn.str.174 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.175 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.176 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.177 = private constant [13 x i8] c"Architecture\00" -@tn.str.178 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.179 = private constant [11 x i8] c"() -> bool\00" -@tn.str.180 = private constant [5 x i8] c"*i64\00" -@tn.str.181 = private constant [9 x i8] c"CliError\00" -@tn.str.182 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.183 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.184 = private constant [8 x i8] c"Command\00" -@tn.str.185 = private constant [10 x i8] c"FlagValue\00" -@tn.str.186 = private constant [5 x i8] c"Diag\00" -@tn.str.187 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.188 = private constant [7 x i8] c"Parsed\00" -@tn.str.189 = private constant [8 x i8] c"*Parsed\00" -@tn.str.190 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.191 = private constant [10 x i8] c"[]Command\00" -@tn.str.192 = private constant [6 x i8] c"*Diag\00" -@tn.str.193 = private constant [7 x i8] c"[8]i64\00" -@tn.str.194 = private constant [7 x i8] c"[64]u8\00" -@tn.str.195 = private constant [7 x i8] c"Sha256\00" -@tn.str.196 = private constant [8 x i8] c"*Sha256\00" -@tn.str.197 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.198 = private constant [8 x i8] c"[64]i64\00" -@tn.str.199 = private constant [9 x i8] c"Timespec\00" -@tn.str.200 = private constant [10 x i8] c"*Timespec\00" -@tn.str.201 = private constant [7 x i8] c"Kevent\00" -@tn.str.202 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.203 = private constant [8 x i8] c"*Kevent\00" -@tn.str.204 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.205 = private constant [9 x i8] c"EventErr\00" -@tn.str.206 = private constant [6 x i8] c"Event\00" -@tn.str.207 = private constant [5 x i8] c"Loop\00" -@tn.str.208 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.209 = private constant [6 x i8] c"*Loop\00" -@tn.str.210 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.211 = private constant [8 x i8] c"[]Event\00" -@tn.str.212 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.213 = private constant [7 x i8] c"**void\00" -@tn.str.214 = private constant [5 x i8] c"*f32\00" -@tn.str.215 = private constant [8 x i8] c"*string\00" -@tn.str.216 = private constant [6 x i8] c"[]Any\00" -@tn.str.217 = private constant [5 x i8] c"*Any\00" -@tn.str.218 = private constant [7 x i8] c"[1]Any\00" -@tn.str.219 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.220 = private constant [7 x i8] c"*[]Any\00" -@tn.str.221 = private constant [4 x i8] c"*u8\00" -@tn.str.222 = private constant [6 x i8] c"*bool\00" -@tn.str.223 = private constant [6 x i8] c"**f32\00" -@tn.str.224 = private constant [10 x i8] c"*Lerpable\00" -@tn.str.225 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.226 = private constant [5 x i8] c"*f64\00" -@tn.str.227 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.228 = private constant [11 x i8] c"*Allocator\00" -@tn.str.229 = private constant [9 x i8] c"*Context\00" -@tn.str.230 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.231 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.232 = private constant [8 x i8] c"*Member\00" -@tn.str.233 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.234 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.235 = private constant [9 x i8] c"*Command\00" -@tn.str.236 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.237 = private constant [7 x i8] c"*Event\00" -@tn.str.238 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.239 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.240 = private constant [7 x i8] c"*Value\00" -@tn.str.241 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.242 = private constant [14 x i8] c"*Architecture\00" -@tn.str.243 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.244 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.245 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.246 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.247 = private constant [10 x i8] c"*[]string\00" -@tn.str.248 = private constant [6 x i8] c"*[]u8\00" -@tn.str.249 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.250 = private constant [11 x i8] c"*[]Command\00" -@tn.str.251 = private constant [9 x i8] c"*[]Event\00" -@tn.str.252 = private constant [6 x i8] c"**GPA\00" -@tn.str.253 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.254 = private constant [8 x i8] c"**Arena\00" -@tn.str.255 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.256 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.257 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.258 = private constant [7 x i8] c"**File\00" -@tn.str.259 = private constant [6 x i8] c"**i32\00" -@tn.str.260 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.261 = private constant [6 x i8] c"**u32\00" -@tn.str.262 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.263 = private constant [8 x i8] c"**Array\00" -@tn.str.264 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.265 = private constant [9 x i8] c"**Object\00" -@tn.str.266 = private constant [7 x i8] c"**Sink\00" -@tn.str.267 = private constant [9 x i8] c"**Parser\00" -@tn.str.268 = private constant [6 x i8] c"**i64\00" -@tn.str.269 = private constant [9 x i8] c"**Parsed\00" -@tn.str.270 = private constant [7 x i8] c"**Diag\00" -@tn.str.271 = private constant [9 x i8] c"**Sha256\00" -@tn.str.272 = private constant [11 x i8] c"**Timespec\00" -@tn.str.273 = private constant [9 x i8] c"**Kevent\00" -@tn.str.274 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.275 = private constant [7 x i8] c"**Loop\00" -@tn.str.276 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.277 = private constant [8 x i8] c"***void\00" -@tn.str.278 = private constant [9 x i8] c"**string\00" -@tn.str.279 = private constant [6 x i8] c"**Any\00" -@tn.str.280 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.281 = private constant [8 x i8] c"**[]Any\00" -@tn.str.282 = private constant [5 x i8] c"**u8\00" -@tn.str.283 = private constant [7 x i8] c"**bool\00" -@tn.str.284 = private constant [7 x i8] c"***f32\00" -@tn.str.285 = private constant [11 x i8] c"**Lerpable\00" -@tn.str.286 = private constant [7 x i8] c"*?File\00" -@tn.str.287 = private constant [9 x i8] c"*?string\00" -@tn.str.288 = private constant [10 x i8] c"*?cstring\00" -@tn.str.289 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.290 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [190 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 8 }, { ptr, i64 } { ptr @tn.str.122, i64 15 }, { ptr, i64 } { ptr @tn.str.123, i64 9 }, { ptr, i64 } { ptr @tn.str.124, i64 7 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 10 }, { ptr, i64 } { ptr @tn.str.128, i64 11 }, { ptr, i64 } { ptr @tn.str.129, i64 3 }, { ptr, i64 } { ptr @tn.str.130, i64 4 }, { ptr, i64 } { ptr @tn.str.131, i64 10 }, { ptr, i64 } { ptr @tn.str.132, i64 11 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 6 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 8 }, { ptr, i64 } { ptr @tn.str.137, i64 9 }, { ptr, i64 } { ptr @tn.str.138, i64 17 }, { ptr, i64 } { ptr @tn.str.139, i64 18 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 4 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 7 }, { ptr, i64 } { ptr @tn.str.146, i64 10 }, { ptr, i64 } { ptr @tn.str.147, i64 8 }, { ptr, i64 } { ptr @tn.str.148, i64 13 }, { ptr, i64 } { ptr @tn.str.149, i64 14 }, { ptr, i64 } { ptr @tn.str.150, i64 4 }, { ptr, i64 } { ptr @tn.str.151, i64 8 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 7 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 9 }, { ptr, i64 } { ptr @tn.str.158, i64 5 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 5 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 8 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 9 }, { ptr, i64 } { ptr @tn.str.165, i64 7 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 5 }, { ptr, i64 } { ptr @tn.str.169, i64 16 }, { ptr, i64 } { ptr @tn.str.170, i64 14 }, { ptr, i64 } { ptr @tn.str.171, i64 21 }, { ptr, i64 } { ptr @tn.str.172, i64 6 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 24 }, { ptr, i64 } { ptr @tn.str.175, i64 23 }, { ptr, i64 } { ptr @tn.str.176, i64 15 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 10 }, { ptr, i64 } { ptr @tn.str.180, i64 4 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 10 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 9 }, { ptr, i64 } { ptr @tn.str.186, i64 4 }, { ptr, i64 } { ptr @tn.str.187, i64 13 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 18 }, { ptr, i64 } { ptr @tn.str.191, i64 9 }, { ptr, i64 } { ptr @tn.str.192, i64 5 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 8 }, { ptr, i64 } { ptr @tn.str.200, i64 9 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 5 }, { ptr, i64 } { ptr @tn.str.207, i64 4 }, { ptr, i64 } { ptr @tn.str.208, i64 16 }, { ptr, i64 } { ptr @tn.str.209, i64 5 }, { ptr, i64 } { ptr @tn.str.210, i64 15 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 12 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 4 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 5 }, { ptr, i64 } { ptr @tn.str.217, i64 4 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 3 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 16 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 8 }, { ptr, i64 } { ptr @tn.str.230, i64 11 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 13 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 9 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 11 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 12 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 19 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 12 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 13 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 5 }, { ptr, i64 } { ptr @tn.str.280, i64 8 }, { ptr, i64 } { ptr @tn.str.281, i64 7 }, { ptr, i64 } { ptr @tn.str.282, i64 4 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 10 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 15 }, { ptr, i64 } { ptr @tn.str.290, i64 8 }] -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.297 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.298 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.300 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.301 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.302 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.303 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.305 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.306 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.308 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.309 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.311 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.312 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [9 x i8] c"Lerpable\00" +@tn.str.124 = private constant [16 x i8] c"Source_Location\00" +@tn.str.125 = private constant [10 x i8] c"Allocator\00" +@tn.str.126 = private constant [8 x i8] c"Context\00" +@tn.str.127 = private constant [7 x i8] c"[4]i64\00" +@tn.str.128 = private constant [9 x i8] c"[]string\00" +@tn.str.129 = private constant [11 x i8] c"CAllocator\00" +@tn.str.130 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.131 = private constant [4 x i8] c"GPA\00" +@tn.str.132 = private constant [5 x i8] c"*GPA\00" +@tn.str.133 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.134 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.135 = private constant [6 x i8] c"Arena\00" +@tn.str.136 = private constant [7 x i8] c"*Arena\00" +@tn.str.137 = private constant [6 x i8] c"[*]u8\00" +@tn.str.138 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.139 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.140 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.141 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.142 = private constant [9 x i8] c"OpenMode\00" +@tn.str.143 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.144 = private constant [5 x i8] c"File\00" +@tn.str.145 = private constant [6 x i8] c"*File\00" +@tn.str.146 = private constant [6 x i8] c"?File\00" +@tn.str.147 = private constant [8 x i8] c"?string\00" +@tn.str.148 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.149 = private constant [9 x i8] c"?cstring\00" +@tn.str.150 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.151 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.152 = private constant [5 x i8] c"*i32\00" +@tn.str.153 = private constant [9 x i8] c"SockAddr\00" +@tn.str.154 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.155 = private constant [5 x i8] c"*u32\00" +@tn.str.156 = private constant [8 x i8] c"SockErr\00" +@tn.str.157 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.158 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.159 = private constant [10 x i8] c"JsonError\00" +@tn.str.160 = private constant [6 x i8] c"Array\00" +@tn.str.161 = private constant [7 x i8] c"Object\00" +@tn.str.162 = private constant [6 x i8] c"Value\00" +@tn.str.163 = private constant [7 x i8] c"Member\00" +@tn.str.164 = private constant [9 x i8] c"[*]Value\00" +@tn.str.165 = private constant [7 x i8] c"*Array\00" +@tn.str.166 = private constant [10 x i8] c"[*]Member\00" +@tn.str.167 = private constant [8 x i8] c"*Object\00" +@tn.str.168 = private constant [5 x i8] c"[]u8\00" +@tn.str.169 = private constant [5 x i8] c"Sink\00" +@tn.str.170 = private constant [6 x i8] c"*Sink\00" +@tn.str.171 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.172 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.173 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.174 = private constant [7 x i8] c"Parser\00" +@tn.str.175 = private constant [8 x i8] c"*Parser\00" +@tn.str.176 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.177 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.178 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.179 = private constant [13 x i8] c"Architecture\00" +@tn.str.180 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.181 = private constant [11 x i8] c"() -> bool\00" +@tn.str.182 = private constant [5 x i8] c"*i64\00" +@tn.str.183 = private constant [9 x i8] c"CliError\00" +@tn.str.184 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.185 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.186 = private constant [8 x i8] c"Command\00" +@tn.str.187 = private constant [10 x i8] c"FlagValue\00" +@tn.str.188 = private constant [5 x i8] c"Diag\00" +@tn.str.189 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.190 = private constant [7 x i8] c"Parsed\00" +@tn.str.191 = private constant [8 x i8] c"*Parsed\00" +@tn.str.192 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.193 = private constant [10 x i8] c"[]Command\00" +@tn.str.194 = private constant [6 x i8] c"*Diag\00" +@tn.str.195 = private constant [7 x i8] c"[8]i64\00" +@tn.str.196 = private constant [7 x i8] c"[64]u8\00" +@tn.str.197 = private constant [7 x i8] c"Sha256\00" +@tn.str.198 = private constant [8 x i8] c"*Sha256\00" +@tn.str.199 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.200 = private constant [8 x i8] c"[64]i64\00" +@tn.str.201 = private constant [9 x i8] c"Timespec\00" +@tn.str.202 = private constant [10 x i8] c"*Timespec\00" +@tn.str.203 = private constant [7 x i8] c"Kevent\00" +@tn.str.204 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.205 = private constant [8 x i8] c"*Kevent\00" +@tn.str.206 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.207 = private constant [9 x i8] c"EventErr\00" +@tn.str.208 = private constant [6 x i8] c"Event\00" +@tn.str.209 = private constant [5 x i8] c"Loop\00" +@tn.str.210 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.211 = private constant [6 x i8] c"*Loop\00" +@tn.str.212 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.213 = private constant [8 x i8] c"[]Event\00" +@tn.str.214 = private constant [8 x i8] c"HttpErr\00" +@tn.str.215 = private constant [7 x i8] c"Config\00" +@tn.str.216 = private constant [8 x i8] c"Request\00" +@tn.str.217 = private constant [9 x i8] c"Response\00" +@tn.str.218 = private constant [9 x i8] c"*Request\00" +@tn.str.219 = private constant [5 x i8] c"Conn\00" +@tn.str.220 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.221 = private constant [10 x i8] c"*Response\00" +@tn.str.222 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.223 = private constant [7 x i8] c"Server\00" +@tn.str.224 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.225 = private constant [8 x i8] c"*Server\00" +@tn.str.226 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.227 = private constant [7 x i8] c"**void\00" +@tn.str.228 = private constant [5 x i8] c"*f32\00" +@tn.str.229 = private constant [8 x i8] c"*string\00" +@tn.str.230 = private constant [6 x i8] c"[]Any\00" +@tn.str.231 = private constant [5 x i8] c"*Any\00" +@tn.str.232 = private constant [7 x i8] c"[1]Any\00" +@tn.str.233 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.234 = private constant [7 x i8] c"*[]Any\00" +@tn.str.235 = private constant [4 x i8] c"*u8\00" +@tn.str.236 = private constant [6 x i8] c"*bool\00" +@tn.str.237 = private constant [6 x i8] c"**f32\00" +@tn.str.238 = private constant [10 x i8] c"*Lerpable\00" +@tn.str.239 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.240 = private constant [5 x i8] c"*f64\00" +@tn.str.241 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.242 = private constant [11 x i8] c"*Allocator\00" +@tn.str.243 = private constant [9 x i8] c"*Context\00" +@tn.str.244 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.245 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.246 = private constant [8 x i8] c"*Member\00" +@tn.str.247 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.248 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.249 = private constant [9 x i8] c"*Command\00" +@tn.str.250 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.251 = private constant [7 x i8] c"*Event\00" +@tn.str.252 = private constant [8 x i8] c"*Config\00" +@tn.str.253 = private constant [6 x i8] c"*Conn\00" +@tn.str.254 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.255 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.256 = private constant [7 x i8] c"*Value\00" +@tn.str.257 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.258 = private constant [14 x i8] c"*Architecture\00" +@tn.str.259 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.260 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.261 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.262 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.263 = private constant [10 x i8] c"*[]string\00" +@tn.str.264 = private constant [6 x i8] c"*[]u8\00" +@tn.str.265 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.266 = private constant [11 x i8] c"*[]Command\00" +@tn.str.267 = private constant [9 x i8] c"*[]Event\00" +@tn.str.268 = private constant [6 x i8] c"**GPA\00" +@tn.str.269 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.270 = private constant [8 x i8] c"**Arena\00" +@tn.str.271 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.272 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.273 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.274 = private constant [7 x i8] c"**File\00" +@tn.str.275 = private constant [6 x i8] c"**i32\00" +@tn.str.276 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.277 = private constant [6 x i8] c"**u32\00" +@tn.str.278 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.279 = private constant [8 x i8] c"**Array\00" +@tn.str.280 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.281 = private constant [9 x i8] c"**Object\00" +@tn.str.282 = private constant [7 x i8] c"**Sink\00" +@tn.str.283 = private constant [9 x i8] c"**Parser\00" +@tn.str.284 = private constant [6 x i8] c"**i64\00" +@tn.str.285 = private constant [9 x i8] c"**Parsed\00" +@tn.str.286 = private constant [7 x i8] c"**Diag\00" +@tn.str.287 = private constant [9 x i8] c"**Sha256\00" +@tn.str.288 = private constant [11 x i8] c"**Timespec\00" +@tn.str.289 = private constant [9 x i8] c"**Kevent\00" +@tn.str.290 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.291 = private constant [7 x i8] c"**Loop\00" +@tn.str.292 = private constant [10 x i8] c"**Request\00" +@tn.str.293 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.294 = private constant [11 x i8] c"**Response\00" +@tn.str.295 = private constant [9 x i8] c"**Server\00" +@tn.str.296 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.297 = private constant [8 x i8] c"***void\00" +@tn.str.298 = private constant [9 x i8] c"**string\00" +@tn.str.299 = private constant [6 x i8] c"**Any\00" +@tn.str.300 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.301 = private constant [8 x i8] c"**[]Any\00" +@tn.str.302 = private constant [5 x i8] c"**u8\00" +@tn.str.303 = private constant [7 x i8] c"**bool\00" +@tn.str.304 = private constant [7 x i8] c"***f32\00" +@tn.str.305 = private constant [11 x i8] c"**Lerpable\00" +@tn.str.306 = private constant [7 x i8] c"*?File\00" +@tn.str.307 = private constant [9 x i8] c"*?string\00" +@tn.str.308 = private constant [10 x i8] c"*?cstring\00" +@tn.str.309 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.310 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [208 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 8 }, { ptr, i64 } { ptr @tn.str.124, i64 15 }, { ptr, i64 } { ptr @tn.str.125, i64 9 }, { ptr, i64 } { ptr @tn.str.126, i64 7 }, { ptr, i64 } { ptr @tn.str.127, i64 6 }, { ptr, i64 } { ptr @tn.str.128, i64 8 }, { ptr, i64 } { ptr @tn.str.129, i64 10 }, { ptr, i64 } { ptr @tn.str.130, i64 11 }, { ptr, i64 } { ptr @tn.str.131, i64 3 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 10 }, { ptr, i64 } { ptr @tn.str.134, i64 11 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 6 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 9 }, { ptr, i64 } { ptr @tn.str.140, i64 17 }, { ptr, i64 } { ptr @tn.str.141, i64 18 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 7 }, { ptr, i64 } { ptr @tn.str.148, i64 10 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 13 }, { ptr, i64 } { ptr @tn.str.151, i64 14 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 8 }, { ptr, i64 } { ptr @tn.str.154, i64 9 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 7 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 9 }, { ptr, i64 } { ptr @tn.str.160, i64 5 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 5 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 8 }, { ptr, i64 } { ptr @tn.str.165, i64 6 }, { ptr, i64 } { ptr @tn.str.166, i64 9 }, { ptr, i64 } { ptr @tn.str.167, i64 7 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 5 }, { ptr, i64 } { ptr @tn.str.171, i64 16 }, { ptr, i64 } { ptr @tn.str.172, i64 14 }, { ptr, i64 } { ptr @tn.str.173, i64 21 }, { ptr, i64 } { ptr @tn.str.174, i64 6 }, { ptr, i64 } { ptr @tn.str.175, i64 7 }, { ptr, i64 } { ptr @tn.str.176, i64 24 }, { ptr, i64 } { ptr @tn.str.177, i64 23 }, { ptr, i64 } { ptr @tn.str.178, i64 15 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 12 }, { ptr, i64 } { ptr @tn.str.181, i64 10 }, { ptr, i64 } { ptr @tn.str.182, i64 4 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 8 }, { ptr, i64 } { ptr @tn.str.185, i64 10 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 9 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 13 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 18 }, { ptr, i64 } { ptr @tn.str.193, i64 9 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 9 }, { ptr, i64 } { ptr @tn.str.203, i64 6 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 7 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 4 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 5 }, { ptr, i64 } { ptr @tn.str.212, i64 15 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 4 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 21 }, { ptr, i64 } { ptr @tn.str.223, i64 6 }, { ptr, i64 } { ptr @tn.str.224, i64 17 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 12 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 3 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 5 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 4 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 10 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 11 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 5 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 16 }, { ptr, i64 } { ptr @tn.str.258, i64 13 }, { ptr, i64 } { ptr @tn.str.259, i64 14 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 11 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 19 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 10 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 12 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 9 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 10 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 13 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 5 }, { ptr, i64 } { ptr @tn.str.300, i64 8 }, { ptr, i64 } { ptr @tn.str.301, i64 7 }, { ptr, i64 } { ptr @tn.str.302, i64 4 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 6 }, { ptr, i64 } { ptr @tn.str.305, i64 10 }, { ptr, i64 } { ptr @tn.str.306, i64 6 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }, { ptr, i64 } { ptr @tn.str.308, i64 9 }, { ptr, i64 } { ptr @tn.str.309, i64 15 }, { ptr, i64 } { ptr @tn.str.310, i64 8 }] +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.314 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 -@str.315 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.317 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 -@str.318 = private unnamed_addr constant [9 x i8] c"Lerpable\00", align 1 -@str.319 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.320 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str = private constant [4 x i8] c"ctx\00" -@fld.str.322 = private constant [5 x i8] c"lerp\00" -@field_names = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str, i64 3 }, { ptr, i64 } { ptr @fld.str.322, i64 4 }] -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.325 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.326 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.317 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.318 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.320 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.321 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.322 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.323 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.325 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [5 x i8] c"file\00" -@fld.str.329 = private constant [5 x i8] c"line\00" -@fld.str.330 = private constant [4 x i8] c"col\00" -@fld.str.331 = private constant [5 x i8] c"func\00" -@field_names.332 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 4 }, { ptr, i64 } { ptr @fld.str.329, i64 4 }, { ptr, i64 } { ptr @fld.str.330, i64 3 }, { ptr, i64 } { ptr @fld.str.331, i64 4 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.335 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.336 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.337 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.338 = private constant [4 x i8] c"ctx\00" -@fld.str.339 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.340 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.341 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 3 }, { ptr, i64 } { ptr @fld.str.339, i64 11 }, { ptr, i64 } { ptr @fld.str.340, i64 13 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.347 = private constant [10 x i8] c"allocator\00" -@fld.str.348 = private constant [5 x i8] c"data\00" -@field_names.349 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 9 }, { ptr, i64 } { ptr @fld.str.348, i64 4 }] -@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.351 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.353 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.354 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.355 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.361 = private constant [12 x i8] c"alloc_count\00" -@field_names.362 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 11 }] -@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.364 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.368 = private constant [5 x i8] c"next\00" -@fld.str.369 = private constant [4 x i8] c"cap\00" -@field_names.370 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 3 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.375 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.376 = private constant [6 x i8] c"first\00" -@fld.str.377 = private constant [10 x i8] c"end_index\00" -@fld.str.378 = private constant [7 x i8] c"parent\00" -@field_names.379 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 5 }, { ptr, i64 } { ptr @fld.str.377, i64 9 }, { ptr, i64 } { ptr @fld.str.378, i64 6 }] -@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.381 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.383 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.384 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.385 = private constant [4 x i8] c"buf\00" -@fld.str.386 = private constant [4 x i8] c"len\00" -@fld.str.387 = private constant [4 x i8] c"pos\00" -@field_names.388 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 3 }, { ptr, i64 } { ptr @fld.str.386, i64 3 }, { ptr, i64 } { ptr @fld.str.387, i64 3 }] -@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.390 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.391 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.392 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.393 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.394 = private constant [7 x i8] c"parent\00" -@fld.str.395 = private constant [12 x i8] c"alloc_count\00" -@fld.str.396 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.397 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.398 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.394, i64 6 }, { ptr, i64 } { ptr @fld.str.395, i64 11 }, { ptr, i64 } { ptr @fld.str.396, i64 13 }, { ptr, i64 } { ptr @fld.str.397, i64 17 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [3 x i8] c"fd\00" -@field_names.405 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 2 }] -@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.407 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.408 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.409 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.410 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.411 = private constant [5 x i8] c"file\00" -@fld.str.412 = private constant [5 x i8] c"line\00" -@fld.str.413 = private constant [4 x i8] c"col\00" -@fld.str.414 = private constant [5 x i8] c"func\00" -@fld.str.415 = private constant [10 x i8] c"line_text\00" -@field_names.416 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 4 }, { ptr, i64 } { ptr @fld.str.412, i64 4 }, { ptr, i64 } { ptr @fld.str.413, i64 3 }, { ptr, i64 } { ptr @fld.str.414, i64 4 }, { ptr, i64 } { ptr @fld.str.415, i64 9 }] -@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.418 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.422 = private constant [10 x i8] c"exit_code\00" -@fld.str.423 = private constant [7 x i8] c"stdout\00" -@field_names.424 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 9 }, { ptr, i64 } { ptr @fld.str.423, i64 6 }] -@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.426 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.427 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.428 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.429 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.430 = private constant [8 x i8] c"sin_len\00" -@fld.str.431 = private constant [11 x i8] c"sin_family\00" -@fld.str.432 = private constant [9 x i8] c"sin_port\00" -@fld.str.433 = private constant [9 x i8] c"sin_addr\00" -@fld.str.434 = private constant [9 x i8] c"sin_zero\00" -@field_names.435 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.430, i64 7 }, { ptr, i64 } { ptr @fld.str.431, i64 10 }, { ptr, i64 } { ptr @fld.str.432, i64 8 }, { ptr, i64 } { ptr @fld.str.433, i64 8 }, { ptr, i64 } { ptr @fld.str.434, i64 8 }] -@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.441 = private constant [6 x i8] c"items\00" -@fld.str.442 = private constant [4 x i8] c"len\00" -@fld.str.443 = private constant [4 x i8] c"cap\00" -@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 5 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 3 }] +@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.329 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.331 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.332 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 +@str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.334 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 +@str.335 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.337 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.338 = private unnamed_addr constant [9 x i8] c"Lerpable\00", align 1 +@str.339 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.340 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str = private constant [4 x i8] c"ctx\00" +@fld.str.342 = private constant [5 x i8] c"lerp\00" +@field_names = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str, i64 3 }, { ptr, i64 } { ptr @fld.str.342, i64 4 }] +@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.344 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.348 = private constant [5 x i8] c"file\00" +@fld.str.349 = private constant [5 x i8] c"line\00" +@fld.str.350 = private constant [4 x i8] c"col\00" +@fld.str.351 = private constant [5 x i8] c"func\00" +@field_names.352 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 4 }, { ptr, i64 } { ptr @fld.str.349, i64 4 }, { ptr, i64 } { ptr @fld.str.350, i64 3 }, { ptr, i64 } { ptr @fld.str.351, i64 4 }] +@str.353 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.354 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.355 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.356 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.358 = private constant [4 x i8] c"ctx\00" +@fld.str.359 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.360 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.361 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.358, i64 3 }, { ptr, i64 } { ptr @fld.str.359, i64 11 }, { ptr, i64 } { ptr @fld.str.360, i64 13 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.367 = private constant [10 x i8] c"allocator\00" +@fld.str.368 = private constant [5 x i8] c"data\00" +@field_names.369 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 9 }, { ptr, i64 } { ptr @fld.str.368, i64 4 }] +@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.371 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.375 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.381 = private constant [12 x i8] c"alloc_count\00" +@field_names.382 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 11 }] +@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.384 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.387 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.388 = private constant [5 x i8] c"next\00" +@fld.str.389 = private constant [4 x i8] c"cap\00" +@field_names.390 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 4 }, { ptr, i64 } { ptr @fld.str.389, i64 3 }] +@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.392 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.396 = private constant [6 x i8] c"first\00" +@fld.str.397 = private constant [10 x i8] c"end_index\00" +@fld.str.398 = private constant [7 x i8] c"parent\00" +@field_names.399 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 5 }, { ptr, i64 } { ptr @fld.str.397, i64 9 }, { ptr, i64 } { ptr @fld.str.398, i64 6 }] +@str.400 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.401 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.403 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.404 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.405 = private constant [4 x i8] c"buf\00" +@fld.str.406 = private constant [4 x i8] c"len\00" +@fld.str.407 = private constant [4 x i8] c"pos\00" +@field_names.408 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 3 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }] +@str.409 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.410 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.411 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.412 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.413 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.414 = private constant [7 x i8] c"parent\00" +@fld.str.415 = private constant [12 x i8] c"alloc_count\00" +@fld.str.416 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.417 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.418 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.414, i64 6 }, { ptr, i64 } { ptr @fld.str.415, i64 11 }, { ptr, i64 } { ptr @fld.str.416, i64 13 }, { ptr, i64 } { ptr @fld.str.417, i64 17 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [3 x i8] c"fd\00" +@field_names.425 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 2 }] +@str.426 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.427 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.428 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.429 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.430 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.431 = private constant [5 x i8] c"file\00" +@fld.str.432 = private constant [5 x i8] c"line\00" +@fld.str.433 = private constant [4 x i8] c"col\00" +@fld.str.434 = private constant [5 x i8] c"func\00" +@fld.str.435 = private constant [10 x i8] c"line_text\00" +@field_names.436 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.431, i64 4 }, { ptr, i64 } { ptr @fld.str.432, i64 4 }, { ptr, i64 } { ptr @fld.str.433, i64 3 }, { ptr, i64 } { ptr @fld.str.434, i64 4 }, { ptr, i64 } { ptr @fld.str.435, i64 9 }] +@str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.438 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.439 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.440 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.441 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.442 = private constant [10 x i8] c"exit_code\00" +@fld.str.443 = private constant [7 x i8] c"stdout\00" +@field_names.444 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 9 }, { ptr, i64 } { ptr @fld.str.443, i64 6 }] @str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.446 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.450 = private constant [6 x i8] c"items\00" -@fld.str.451 = private constant [4 x i8] c"len\00" -@fld.str.452 = private constant [4 x i8] c"cap\00" -@field_names.453 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 5 }, { ptr, i64 } { ptr @fld.str.451, i64 3 }, { ptr, i64 } { ptr @fld.str.452, i64 3 }] -@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.455 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.459 = private constant [4 x i8] c"key\00" -@fld.str.460 = private constant [4 x i8] c"val\00" -@field_names.461 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 3 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [4 x i8] c"dst\00" -@fld.str.468 = private constant [4 x i8] c"pos\00" -@fld.str.469 = private constant [5 x i8] c"file\00" -@field_names.470 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 3 }, { ptr, i64 } { ptr @fld.str.468, i64 3 }, { ptr, i64 } { ptr @fld.str.469, i64 4 }] -@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.472 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.473 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.475 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.476 = private constant [4 x i8] c"src\00" -@fld.str.477 = private constant [4 x i8] c"pos\00" -@fld.str.478 = private constant [6 x i8] c"alloc\00" -@field_names.479 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 3 }, { ptr, i64 } { ptr @fld.str.478, i64 5 }] -@str.480 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.481 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.484 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.485 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.491 = private constant [5 x i8] c"name\00" -@fld.str.492 = private constant [12 x i8] c"takes_value\00" -@fld.str.493 = private constant [9 x i8] c"required\00" -@field_names.494 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 11 }, { ptr, i64 } { ptr @fld.str.493, i64 8 }] -@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.496 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.498 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.499 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.500 = private constant [6 x i8] c"group\00" -@fld.str.501 = private constant [8 x i8] c"command\00" -@fld.str.502 = private constant [6 x i8] c"flags\00" -@field_names.503 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.500, i64 5 }, { ptr, i64 } { ptr @fld.str.501, i64 7 }, { ptr, i64 } { ptr @fld.str.502, i64 5 }] -@str.504 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.505 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.508 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.509 = private constant [4 x i8] c"set\00" -@fld.str.510 = private constant [6 x i8] c"value\00" -@field_names.511 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 5 }] -@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.513 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.517 = private constant [6 x i8] c"index\00" -@fld.str.518 = private constant [6 x i8] c"token\00" -@field_names.519 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 5 }] -@str.520 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.521 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.523 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.524 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.525 = private constant [6 x i8] c"group\00" -@fld.str.526 = private constant [8 x i8] c"command\00" -@fld.str.527 = private constant [10 x i8] c"cmd_index\00" -@fld.str.528 = private constant [5 x i8] c"json\00" -@fld.str.529 = private constant [5 x i8] c"rest\00" -@fld.str.530 = private constant [5 x i8] c"spec\00" -@fld.str.531 = private constant [7 x i8] c"values\00" -@field_names.532 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 7 }, { ptr, i64 } { ptr @fld.str.527, i64 9 }, { ptr, i64 } { ptr @fld.str.528, i64 4 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 4 }, { ptr, i64 } { ptr @fld.str.531, i64 6 }] -@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.534 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.538 = private constant [2 x i8] c"h\00" -@fld.str.539 = private constant [4 x i8] c"buf\00" -@fld.str.540 = private constant [8 x i8] c"buf_len\00" -@fld.str.541 = private constant [10 x i8] c"total_len\00" -@field_names.542 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 1 }, { ptr, i64 } { ptr @fld.str.539, i64 3 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 9 }] -@str.543 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.544 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.545 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.547 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.548 = private constant [4 x i8] c"sec\00" -@fld.str.549 = private constant [5 x i8] c"nsec\00" -@field_names.550 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 3 }, { ptr, i64 } { ptr @fld.str.549, i64 4 }] -@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.552 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.556 = private constant [6 x i8] c"ident\00" -@fld.str.557 = private constant [7 x i8] c"filter\00" -@fld.str.558 = private constant [6 x i8] c"flags\00" -@fld.str.559 = private constant [7 x i8] c"fflags\00" -@fld.str.560 = private constant [5 x i8] c"data\00" -@fld.str.561 = private constant [6 x i8] c"udata\00" -@field_names.562 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 5 }, { ptr, i64 } { ptr @fld.str.557, i64 6 }, { ptr, i64 } { ptr @fld.str.558, i64 5 }, { ptr, i64 } { ptr @fld.str.559, i64 6 }, { ptr, i64 } { ptr @fld.str.560, i64 4 }, { ptr, i64 } { ptr @fld.str.561, i64 5 }] +@fld.str.450 = private constant [8 x i8] c"sin_len\00" +@fld.str.451 = private constant [11 x i8] c"sin_family\00" +@fld.str.452 = private constant [9 x i8] c"sin_port\00" +@fld.str.453 = private constant [9 x i8] c"sin_addr\00" +@fld.str.454 = private constant [9 x i8] c"sin_zero\00" +@field_names.455 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 7 }, { ptr, i64 } { ptr @fld.str.451, i64 10 }, { ptr, i64 } { ptr @fld.str.452, i64 8 }, { ptr, i64 } { ptr @fld.str.453, i64 8 }, { ptr, i64 } { ptr @fld.str.454, i64 8 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.458 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.460 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.461 = private constant [6 x i8] c"items\00" +@fld.str.462 = private constant [4 x i8] c"len\00" +@fld.str.463 = private constant [4 x i8] c"cap\00" +@field_names.464 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 5 }, { ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.469 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.470 = private constant [6 x i8] c"items\00" +@fld.str.471 = private constant [4 x i8] c"len\00" +@fld.str.472 = private constant [4 x i8] c"cap\00" +@field_names.473 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 5 }, { ptr, i64 } { ptr @fld.str.471, i64 3 }, { ptr, i64 } { ptr @fld.str.472, i64 3 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.478 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.479 = private constant [4 x i8] c"key\00" +@fld.str.480 = private constant [4 x i8] c"val\00" +@field_names.481 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.487 = private constant [4 x i8] c"dst\00" +@fld.str.488 = private constant [4 x i8] c"pos\00" +@fld.str.489 = private constant [5 x i8] c"file\00" +@field_names.490 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }] +@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.492 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.493 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.495 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.496 = private constant [4 x i8] c"src\00" +@fld.str.497 = private constant [4 x i8] c"pos\00" +@fld.str.498 = private constant [6 x i8] c"alloc\00" +@field_names.499 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 3 }, { ptr, i64 } { ptr @fld.str.498, i64 5 }] +@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.501 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.504 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.505 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.511 = private constant [5 x i8] c"name\00" +@fld.str.512 = private constant [12 x i8] c"takes_value\00" +@fld.str.513 = private constant [9 x i8] c"required\00" +@field_names.514 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 4 }, { ptr, i64 } { ptr @fld.str.512, i64 11 }, { ptr, i64 } { ptr @fld.str.513, i64 8 }] +@str.515 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.516 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.517 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.518 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.519 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.520 = private constant [6 x i8] c"group\00" +@fld.str.521 = private constant [8 x i8] c"command\00" +@fld.str.522 = private constant [6 x i8] c"flags\00" +@field_names.523 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 5 }] +@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.525 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.526 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.528 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.529 = private constant [4 x i8] c"set\00" +@fld.str.530 = private constant [6 x i8] c"value\00" +@field_names.531 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 3 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }] +@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.533 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.537 = private constant [6 x i8] c"index\00" +@fld.str.538 = private constant [6 x i8] c"token\00" +@field_names.539 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 5 }, { ptr, i64 } { ptr @fld.str.538, i64 5 }] +@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.541 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.545 = private constant [6 x i8] c"group\00" +@fld.str.546 = private constant [8 x i8] c"command\00" +@fld.str.547 = private constant [10 x i8] c"cmd_index\00" +@fld.str.548 = private constant [5 x i8] c"json\00" +@fld.str.549 = private constant [5 x i8] c"rest\00" +@fld.str.550 = private constant [5 x i8] c"spec\00" +@fld.str.551 = private constant [7 x i8] c"values\00" +@field_names.552 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 9 }, { ptr, i64 } { ptr @fld.str.548, i64 4 }, { ptr, i64 } { ptr @fld.str.549, i64 4 }, { ptr, i64 } { ptr @fld.str.550, i64 4 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }] +@str.553 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.554 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.555 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.556 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.557 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.558 = private constant [2 x i8] c"h\00" +@fld.str.559 = private constant [4 x i8] c"buf\00" +@fld.str.560 = private constant [8 x i8] c"buf_len\00" +@fld.str.561 = private constant [10 x i8] c"total_len\00" +@field_names.562 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.558, i64 1 }, { ptr, i64 } { ptr @fld.str.559, i64 3 }, { ptr, i64 } { ptr @fld.str.560, i64 7 }, { ptr, i64 } { ptr @fld.str.561, i64 9 }] @str.563 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.564 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.564 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.565 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.567 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -503,223 +503,319 @@ @fld.str.569 = private constant [5 x i8] c"nsec\00" @field_names.570 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.568, i64 3 }, { ptr, i64 } { ptr @fld.str.569, i64 4 }] @str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.572 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.572 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.576 = private constant [3 x i8] c"fd\00" -@fld.str.577 = private constant [6 x i8] c"udata\00" -@fld.str.578 = private constant [9 x i8] c"readable\00" -@fld.str.579 = private constant [9 x i8] c"writable\00" -@fld.str.580 = private constant [4 x i8] c"eof\00" -@fld.str.581 = private constant [4 x i8] c"err\00" -@fld.str.582 = private constant [7 x i8] c"nbytes\00" -@field_names.583 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 2 }, { ptr, i64 } { ptr @fld.str.577, i64 5 }, { ptr, i64 } { ptr @fld.str.578, i64 8 }, { ptr, i64 } { ptr @fld.str.579, i64 8 }, { ptr, i64 } { ptr @fld.str.580, i64 3 }, { ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 6 }] -@str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.585 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.586 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.587 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.588 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.589 = private constant [3 x i8] c"kq\00" -@field_names.590 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 2 }] +@fld.str.576 = private constant [6 x i8] c"ident\00" +@fld.str.577 = private constant [7 x i8] c"filter\00" +@fld.str.578 = private constant [6 x i8] c"flags\00" +@fld.str.579 = private constant [7 x i8] c"fflags\00" +@fld.str.580 = private constant [5 x i8] c"data\00" +@fld.str.581 = private constant [6 x i8] c"udata\00" +@field_names.582 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 5 }, { ptr, i64 } { ptr @fld.str.577, i64 6 }, { ptr, i64 } { ptr @fld.str.578, i64 5 }, { ptr, i64 } { ptr @fld.str.579, i64 6 }, { ptr, i64 } { ptr @fld.str.580, i64 4 }, { ptr, i64 } { ptr @fld.str.581, i64 5 }] +@str.583 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.584 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.585 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.587 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.588 = private constant [4 x i8] c"sec\00" +@fld.str.589 = private constant [5 x i8] c"nsec\00" +@field_names.590 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 4 }] @str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.593 = private constant [5 x i8] c"read\00" -@fld.str.594 = private constant [6 x i8] c"write\00" -@fld.str.595 = private constant [7 x i8] c"append\00" -@fld.str.596 = private constant [11 x i8] c"read_write\00" -@field_names.597 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 4 }, { ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }, { ptr, i64 } { ptr @fld.str.596, i64 10 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [4 x i8] c"set\00" -@fld.str.602 = private constant [8 x i8] c"current\00" -@fld.str.603 = private constant [4 x i8] c"end\00" -@field_names.604 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 7 }, { ptr, i64 } { ptr @fld.str.603, i64 3 }] -@str.605 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.606 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.608 = private constant [6 x i8] c"null_\00" -@fld.str.609 = private constant [6 x i8] c"bool_\00" -@fld.str.610 = private constant [5 x i8] c"int_\00" -@fld.str.611 = private constant [4 x i8] c"str\00" -@fld.str.612 = private constant [6 x i8] c"array\00" -@fld.str.613 = private constant [7 x i8] c"object\00" -@field_names.614 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.608, i64 5 }, { ptr, i64 } { ptr @fld.str.609, i64 5 }, { ptr, i64 } { ptr @fld.str.610, i64 4 }, { ptr, i64 } { ptr @fld.str.611, i64 3 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 6 }] -@str.615 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.616 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.617 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.618 = private constant [6 x i8] c"macos\00" -@fld.str.619 = private constant [6 x i8] c"linux\00" -@fld.str.620 = private constant [8 x i8] c"windows\00" -@fld.str.621 = private constant [5 x i8] c"wasm\00" -@fld.str.622 = private constant [4 x i8] c"ios\00" -@fld.str.623 = private constant [8 x i8] c"android\00" -@fld.str.624 = private constant [8 x i8] c"unknown\00" -@field_names.625 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.618, i64 5 }, { ptr, i64 } { ptr @fld.str.619, i64 5 }, { ptr, i64 } { ptr @fld.str.620, i64 7 }, { ptr, i64 } { ptr @fld.str.621, i64 4 }, { ptr, i64 } { ptr @fld.str.622, i64 3 }, { ptr, i64 } { ptr @fld.str.623, i64 7 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }] -@str.626 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.629 = private constant [8 x i8] c"aarch64\00" -@fld.str.630 = private constant [7 x i8] c"x86_64\00" -@fld.str.631 = private constant [7 x i8] c"wasm32\00" -@fld.str.632 = private constant [7 x i8] c"wasm64\00" -@fld.str.633 = private constant [8 x i8] c"unknown\00" -@field_names.634 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.629, i64 7 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 6 }, { ptr, i64 } { ptr @fld.str.632, i64 6 }, { ptr, i64 } { ptr @fld.str.633, i64 7 }] -@str.635 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.639 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.642 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.645 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.651 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.657 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.663 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.665 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.666 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.669 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.672 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.674 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.675 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.677 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.678 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.679 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.681 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.683 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.684 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.685 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.686 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.687 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.688 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.689 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.690 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.691 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.692 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.693 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.695 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.696 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.697 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.698 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.699 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.700 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.702 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.703 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.704 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.705 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.706 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.708 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.709 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.710 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.711 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.712 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.713 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.714 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.715 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.716 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.717 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.718 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.719 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.720 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.722 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.723 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.724 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.725 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.726 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.727 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.729 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.731 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.732 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.733 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.734 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.735 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.736 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.738 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.740 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.741 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.743 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.744 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.592 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.596 = private constant [3 x i8] c"fd\00" +@fld.str.597 = private constant [6 x i8] c"udata\00" +@fld.str.598 = private constant [9 x i8] c"readable\00" +@fld.str.599 = private constant [9 x i8] c"writable\00" +@fld.str.600 = private constant [4 x i8] c"eof\00" +@fld.str.601 = private constant [4 x i8] c"err\00" +@fld.str.602 = private constant [7 x i8] c"nbytes\00" +@field_names.603 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 2 }, { ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 8 }, { ptr, i64 } { ptr @fld.str.599, i64 8 }, { ptr, i64 } { ptr @fld.str.600, i64 3 }, { ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 6 }] +@str.604 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.605 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.607 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.608 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.609 = private constant [3 x i8] c"kq\00" +@field_names.610 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 2 }] +@str.611 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.612 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.614 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.615 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.616 = private constant [5 x i8] c"port\00" +@fld.str.617 = private constant [8 x i8] c"backlog\00" +@fld.str.618 = private constant [9 x i8] c"max_conn\00" +@fld.str.619 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.620 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.621 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.622 = private constant [14 x i8] c"request_count\00" +@field_names.623 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 4 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }, { ptr, i64 } { ptr @fld.str.618, i64 8 }, { ptr, i64 } { ptr @fld.str.619, i64 12 }, { ptr, i64 } { ptr @fld.str.620, i64 18 }, { ptr, i64 } { ptr @fld.str.621, i64 20 }, { ptr, i64 } { ptr @fld.str.622, i64 13 }] +@str.624 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.625 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.626 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.627 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.628 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.629 = private constant [7 x i8] c"method\00" +@fld.str.630 = private constant [5 x i8] c"path\00" +@fld.str.631 = private constant [8 x i8] c"version\00" +@fld.str.632 = private constant [12 x i8] c"headers_raw\00" +@fld.str.633 = private constant [5 x i8] c"body\00" +@fld.str.634 = private constant [11 x i8] c"keep_alive\00" +@field_names.635 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.629, i64 6 }, { ptr, i64 } { ptr @fld.str.630, i64 4 }, { ptr, i64 } { ptr @fld.str.631, i64 7 }, { ptr, i64 } { ptr @fld.str.632, i64 11 }, { ptr, i64 } { ptr @fld.str.633, i64 4 }, { ptr, i64 } { ptr @fld.str.634, i64 10 }] +@str.636 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.637 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.638 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.639 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.641 = private constant [7 x i8] c"status\00" +@fld.str.642 = private constant [13 x i8] c"content_type\00" +@fld.str.643 = private constant [14 x i8] c"extra_headers\00" +@fld.str.644 = private constant [5 x i8] c"body\00" +@field_names.645 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 6 }, { ptr, i64 } { ptr @fld.str.642, i64 12 }, { ptr, i64 } { ptr @fld.str.643, i64 13 }, { ptr, i64 } { ptr @fld.str.644, i64 4 }] +@str.646 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.647 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.648 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.649 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.651 = private constant [3 x i8] c"fd\00" +@fld.str.652 = private constant [6 x i8] c"state\00" +@fld.str.653 = private constant [9 x i8] c"read_buf\00" +@fld.str.654 = private constant [9 x i8] c"read_len\00" +@fld.str.655 = private constant [8 x i8] c"out_buf\00" +@fld.str.656 = private constant [8 x i8] c"out_len\00" +@fld.str.657 = private constant [9 x i8] c"out_sent\00" +@fld.str.658 = private constant [9 x i8] c"deadline\00" +@fld.str.659 = private constant [7 x i8] c"served\00" +@fld.str.660 = private constant [12 x i8] c"close_after\00" +@fld.str.661 = private constant [12 x i8] c"write_armed\00" +@field_names.662 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.651, i64 2 }, { ptr, i64 } { ptr @fld.str.652, i64 5 }, { ptr, i64 } { ptr @fld.str.653, i64 8 }, { ptr, i64 } { ptr @fld.str.654, i64 8 }, { ptr, i64 } { ptr @fld.str.655, i64 7 }, { ptr, i64 } { ptr @fld.str.656, i64 7 }, { ptr, i64 } { ptr @fld.str.657, i64 8 }, { ptr, i64 } { ptr @fld.str.658, i64 8 }, { ptr, i64 } { ptr @fld.str.659, i64 6 }, { ptr, i64 } { ptr @fld.str.660, i64 11 }, { ptr, i64 } { ptr @fld.str.661, i64 11 }] +@str.663 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.664 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.665 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.666 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.667 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.668 = private constant [4 x i8] c"cfg\00" +@fld.str.669 = private constant [5 x i8] c"loop\00" +@fld.str.670 = private constant [4 x i8] c"lfd\00" +@fld.str.671 = private constant [6 x i8] c"conns\00" +@fld.str.672 = private constant [10 x i8] c"own_alloc\00" +@fld.str.673 = private constant [8 x i8] c"handler\00" +@field_names.674 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.668, i64 3 }, { ptr, i64 } { ptr @fld.str.669, i64 4 }, { ptr, i64 } { ptr @fld.str.670, i64 3 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 9 }, { ptr, i64 } { ptr @fld.str.673, i64 7 }] +@str.675 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.677 = private constant [5 x i8] c"read\00" +@fld.str.678 = private constant [6 x i8] c"write\00" +@fld.str.679 = private constant [7 x i8] c"append\00" +@fld.str.680 = private constant [11 x i8] c"read_write\00" +@field_names.681 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 6 }, { ptr, i64 } { ptr @fld.str.680, i64 10 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [4 x i8] c"set\00" +@fld.str.686 = private constant [8 x i8] c"current\00" +@fld.str.687 = private constant [4 x i8] c"end\00" +@field_names.688 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 3 }, { ptr, i64 } { ptr @fld.str.686, i64 7 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }] +@str.689 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.692 = private constant [6 x i8] c"null_\00" +@fld.str.693 = private constant [6 x i8] c"bool_\00" +@fld.str.694 = private constant [5 x i8] c"int_\00" +@fld.str.695 = private constant [4 x i8] c"str\00" +@fld.str.696 = private constant [6 x i8] c"array\00" +@fld.str.697 = private constant [7 x i8] c"object\00" +@field_names.698 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 5 }, { ptr, i64 } { ptr @fld.str.693, i64 5 }, { ptr, i64 } { ptr @fld.str.694, i64 4 }, { ptr, i64 } { ptr @fld.str.695, i64 3 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 6 }] +@str.699 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.700 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.701 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.702 = private constant [6 x i8] c"macos\00" +@fld.str.703 = private constant [6 x i8] c"linux\00" +@fld.str.704 = private constant [8 x i8] c"windows\00" +@fld.str.705 = private constant [5 x i8] c"wasm\00" +@fld.str.706 = private constant [4 x i8] c"ios\00" +@fld.str.707 = private constant [8 x i8] c"android\00" +@fld.str.708 = private constant [8 x i8] c"unknown\00" +@field_names.709 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.702, i64 5 }, { ptr, i64 } { ptr @fld.str.703, i64 5 }, { ptr, i64 } { ptr @fld.str.704, i64 7 }, { ptr, i64 } { ptr @fld.str.705, i64 4 }, { ptr, i64 } { ptr @fld.str.706, i64 3 }, { ptr, i64 } { ptr @fld.str.707, i64 7 }, { ptr, i64 } { ptr @fld.str.708, i64 7 }] +@str.710 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.713 = private constant [8 x i8] c"aarch64\00" +@fld.str.714 = private constant [7 x i8] c"x86_64\00" +@fld.str.715 = private constant [7 x i8] c"wasm32\00" +@fld.str.716 = private constant [7 x i8] c"wasm64\00" +@fld.str.717 = private constant [8 x i8] c"unknown\00" +@field_names.718 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.713, i64 7 }, { ptr, i64 } { ptr @fld.str.714, i64 6 }, { ptr, i64 } { ptr @fld.str.715, i64 6 }, { ptr, i64 } { ptr @fld.str.716, i64 6 }, { ptr, i64 } { ptr @fld.str.717, i64 7 }] +@str.719 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.726 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.732 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.734 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.736 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.740 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.742 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.743 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.746 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.747 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.748 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.749 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.750 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.753 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.756 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.758 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.761 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.764 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.767 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.770 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.773 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.776 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [6 x i8] c"**f32\00", align 1 +@str.779 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [10 x i8] c"*Lerpable\00", align 1 +@str.782 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.788 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.794 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.797 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.800 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.803 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.806 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.809 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.815 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.818 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.821 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.824 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.827 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.830 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.833 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.836 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.839 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.842 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.845 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.848 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.851 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.857 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [6 x i8] c"**f32\00", align 1 +@str.876 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [10 x i8] c"*Lerpable\00", align 1 +@str.879 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.881 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.882 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.884 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind define internal float @f32.lerp(ptr %0, float %1, float %2, float %3) #0 { @@ -1223,38 +1319,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.419 + br label %while.hdr.453 -while.hdr.419: ; preds = %if.merge.424, %entry +while.hdr.453: ; preds = %if.merge.458, %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.420, label %while.exit.421 + br i1 %icmp, label %while.body.454, label %while.exit.455 -while.body.420: ; preds = %while.hdr.419 +while.body.454: ; preds = %while.hdr.453 %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.422, label %if.else.423 + br i1 %icmpN, label %if.then.456, label %if.else.457 -while.exit.421: ; preds = %while.hdr.419 +while.exit.455: ; preds = %while.hdr.453 ret void -if.then.422: ; preds = %while.body.420 +if.then.456: ; preds = %while.body.454 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.424 + br label %if.merge.458 -if.else.423: ; preds = %while.body.420 +if.else.457: ; preds = %while.body.454 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.424 + br label %if.merge.458 -if.merge.424: ; preds = %if.else.423, %if.then.422 - %bp = phi i64 [ %addN, %if.then.422 ], [ %addN, %if.else.423 ] +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi i64 [ %addN, %if.then.456 ], [ %addN, %if.else.457 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1267,7 +1363,7 @@ if.merge.424: ; preds = %if.else.423, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.419 + br label %while.hdr.453 } ; Function Attrs: nounwind @@ -1380,12 +1476,12 @@ entry: 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.417, label %if.merge.418 + br i1 %icmp, label %if.then.451, label %if.merge.452 -if.then.417: ; preds = %entry +if.then.451: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.418: ; preds = %entry +if.merge.452: ; 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 @@ -1408,14 +1504,14 @@ if.merge.418: ; preds = %entry %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.425 + br label %while.hdr.459 -while.hdr.425: ; preds = %if.merge.429, %if.merge.418 +while.hdr.459: ; preds = %if.merge.463, %if.merge.452 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.426, label %while.exit.427 + br i1 %icmpN, label %while.body.460, label %while.exit.461 -while.body.426: ; preds = %while.hdr.425 +while.body.460: ; preds = %while.hdr.459 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1423,9 +1519,9 @@ while.body.426: ; preds = %while.hdr.425 %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.428, label %if.merge.429 + br i1 %icmpN, label %if.then.462, label %if.merge.463 -while.exit.427: ; preds = %if.then.428, %while.hdr.425 +while.exit.461: ; preds = %if.then.462, %while.hdr.459 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1433,14 +1529,14 @@ while.exit.427: ; preds = %if.then.428, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.428: ; preds = %while.body.426 - br label %while.exit.427 +if.then.462: ; preds = %while.body.460 + br label %while.exit.461 -if.merge.429: ; preds = %while.body.426 +if.merge.463: ; preds = %while.body.460 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.425 + br label %while.hdr.459 } ; Function Attrs: nounwind @@ -1589,6 +1685,11 @@ entry: i64 101, label %match.arm.43 i64 105, label %match.arm.43 i64 106, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 114, label %match.arm.43 + i64 116, label %match.arm.43 + i64 120, label %match.arm.43 i64 39, label %match.arm.44 i64 40, label %match.arm.44 i64 59, label %match.arm.44 @@ -1599,18 +1700,19 @@ entry: i64 69, label %match.arm.45 i64 80, label %match.arm.45 i64 104, label %match.arm.45 + i64 111, label %match.arm.45 i64 24, label %match.arm.47 i64 86, label %match.arm.47 i64 92, label %match.arm.47 i64 93, label %match.arm.47 i64 97, label %match.arm.47 - i64 117, label %match.arm.47 + i64 129, label %match.arm.47 i64 25, label %match.arm.48 i64 65, label %match.arm.48 i64 82, label %match.arm.48 i64 90, label %match.arm.48 i64 110, label %match.arm.48 - i64 115, label %match.arm.48 + i64 127, label %match.arm.48 i64 19, label %match.arm.49 i64 27, label %match.arm.49 i64 29, label %match.arm.49 @@ -1637,17 +1739,21 @@ entry: i64 102, label %match.arm.49 i64 103, label %match.arm.49 i64 108, label %match.arm.49 - i64 111, label %match.arm.49 - i64 112, label %match.arm.49 - i64 113, label %match.arm.49 - i64 114, label %match.arm.49 - i64 116, label %match.arm.49 + i64 115, label %match.arm.49 + i64 117, label %match.arm.49 i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 - i64 121, label %match.arm.49 i64 122, label %match.arm.49 i64 123, label %match.arm.49 + i64 124, label %match.arm.49 + i64 125, label %match.arm.49 + i64 126, label %match.arm.49 + i64 128, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 + i64 134, label %match.arm.49 + i64 135, label %match.arm.49 i64 43, label %match.arm.50 i64 44, label %match.arm.50 i64 46, label %match.arm.50 @@ -1656,7 +1762,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.538, %dispatch.merge.375, %dispatch.merge.337, %dispatch.merge.299, %dispatch.merge.282, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.584, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.329, %dispatch.merge.312, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1670,7 +1776,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [190 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [208 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1698,7 +1804,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1734,28 +1840,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 101, label %dispatch.case.124 i64 105, label %dispatch.case.125 i64 106, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 114, label %dispatch.case.129 + i64 116, label %dispatch.case.130 + i64 120, label %dispatch.case.131 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.283 [ - i64 39, label %dispatch.case.284 - i64 40, label %dispatch.case.285 - i64 59, label %dispatch.case.286 - i64 75, label %dispatch.case.287 - i64 76, label %dispatch.case.288 + switch i64 %ua.raw20, label %dispatch.default.313 [ + i64 39, label %dispatch.case.314 + i64 40, label %dispatch.case.315 + i64 59, label %dispatch.case.316 + i64 75, label %dispatch.case.317 + i64 76, label %dispatch.case.318 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1767,82 +1878,86 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.300 [ - i64 24, label %dispatch.case.301 - i64 86, label %dispatch.case.302 - i64 92, label %dispatch.case.303 - i64 93, label %dispatch.case.304 - i64 97, label %dispatch.case.305 - i64 117, label %dispatch.case.306 + switch i64 %ua.raw29, label %dispatch.default.330 [ + i64 24, label %dispatch.case.331 + i64 86, label %dispatch.case.332 + i64 92, label %dispatch.case.333 + i64 93, label %dispatch.case.334 + i64 97, label %dispatch.case.335 + i64 129, label %dispatch.case.336 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 25, label %dispatch.case.339 - i64 65, label %dispatch.case.340 - i64 82, label %dispatch.case.341 - i64 90, label %dispatch.case.342 - i64 110, label %dispatch.case.343 - i64 115, label %dispatch.case.344 + switch i64 %ua.raw33, label %dispatch.default.368 [ + i64 25, label %dispatch.case.369 + i64 65, label %dispatch.case.370 + i64 82, label %dispatch.case.371 + i64 90, label %dispatch.case.372 + i64 110, label %dispatch.case.373 + i64 127, label %dispatch.case.374 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.376 [ - i64 19, label %dispatch.case.377 - i64 27, label %dispatch.case.378 - i64 29, label %dispatch.case.379 - i64 31, label %dispatch.case.380 - i64 33, label %dispatch.case.381 - i64 34, label %dispatch.case.382 - i64 36, label %dispatch.case.383 - i64 38, label %dispatch.case.384 - i64 42, label %dispatch.case.385 - i64 49, label %dispatch.case.386 - i64 51, label %dispatch.case.387 - i64 52, label %dispatch.case.388 - i64 61, label %dispatch.case.389 - i64 62, label %dispatch.case.390 - i64 63, label %dispatch.case.391 - i64 64, label %dispatch.case.392 - i64 67, label %dispatch.case.393 - i64 72, label %dispatch.case.394 - i64 79, label %dispatch.case.395 - i64 88, label %dispatch.case.396 - i64 91, label %dispatch.case.397 - i64 95, label %dispatch.case.398 - i64 99, label %dispatch.case.399 - i64 102, label %dispatch.case.400 - i64 103, label %dispatch.case.401 - i64 108, label %dispatch.case.402 - i64 111, label %dispatch.case.403 - i64 112, label %dispatch.case.404 - i64 113, label %dispatch.case.405 - i64 114, label %dispatch.case.406 - i64 116, label %dispatch.case.407 - i64 118, label %dispatch.case.408 - i64 119, label %dispatch.case.409 - i64 120, label %dispatch.case.410 - i64 121, label %dispatch.case.411 - i64 122, label %dispatch.case.412 - i64 123, label %dispatch.case.413 + switch i64 %ua.raw37, label %dispatch.default.406 [ + i64 19, label %dispatch.case.407 + i64 27, label %dispatch.case.408 + i64 29, label %dispatch.case.409 + i64 31, label %dispatch.case.410 + i64 33, label %dispatch.case.411 + i64 34, label %dispatch.case.412 + i64 36, label %dispatch.case.413 + i64 38, label %dispatch.case.414 + i64 42, label %dispatch.case.415 + i64 49, label %dispatch.case.416 + i64 51, label %dispatch.case.417 + i64 52, label %dispatch.case.418 + i64 61, label %dispatch.case.419 + i64 62, label %dispatch.case.420 + i64 63, label %dispatch.case.421 + i64 64, label %dispatch.case.422 + i64 67, label %dispatch.case.423 + i64 72, label %dispatch.case.424 + i64 79, label %dispatch.case.425 + i64 88, label %dispatch.case.426 + i64 91, label %dispatch.case.427 + i64 95, label %dispatch.case.428 + i64 99, label %dispatch.case.429 + i64 102, label %dispatch.case.430 + i64 103, label %dispatch.case.431 + i64 108, label %dispatch.case.432 + i64 115, label %dispatch.case.433 + i64 117, label %dispatch.case.434 + i64 118, label %dispatch.case.435 + i64 122, label %dispatch.case.436 + i64 123, label %dispatch.case.437 + i64 124, label %dispatch.case.438 + i64 125, label %dispatch.case.439 + i64 126, label %dispatch.case.440 + i64 128, label %dispatch.case.441 + i64 130, label %dispatch.case.442 + i64 131, label %dispatch.case.443 + i64 132, label %dispatch.case.444 + i64 133, label %dispatch.case.445 + i64 134, label %dispatch.case.446 + i64 135, label %dispatch.case.447 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.539 [ - i64 43, label %dispatch.case.540 - i64 44, label %dispatch.case.541 - i64 46, label %dispatch.case.542 - i64 48, label %dispatch.case.543 - i64 96, label %dispatch.case.544 + switch i64 %ua.raw41, label %dispatch.default.585 [ + i64 43, label %dispatch.case.586 + i64 44, label %dispatch.case.587 + i64 46, label %dispatch.case.588 + i64 48, label %dispatch.case.589 + i64 96, label %dispatch.case.590 ] match.arm.51: ; preds = %entry @@ -1851,7 +1966,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [190 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [208 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1896,13 +2011,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2153,476 +2268,544 @@ dispatch.case.126: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.282: ; preds = %dispatch.case.288, %dispatch.case.287, %dispatch.case.286, %dispatch.case.285, %dispatch.case.284, %dispatch.default.283 +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.312: ; preds = %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.default.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.283: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.282 +dispatch.default.313: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.312 -dispatch.case.284: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw185) +dispatch.case.314: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw205) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.285: ; preds = %match.arm.44 - %ua.raw187 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw187) +dispatch.case.315: ; preds = %match.arm.44 + %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.286: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr190 = inttoptr i64 %ua.raw189 to ptr - %ua.load191 = load { i64, [24 x i8] }, ptr %ua.ptr190, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load191) +dispatch.case.316: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr210 = inttoptr i64 %ua.raw209 to ptr + %ua.load211 = load { i64, [24 x i8] }, ptr %ua.ptr210, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.287: ; preds = %match.arm.44 - %ua.raw193 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw193) +dispatch.case.317: ; preds = %match.arm.44 + %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw213) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.288: ; preds = %match.arm.44 - %ua.raw195 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw195) +dispatch.case.318: ; preds = %match.arm.44 + %ua.raw215 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw215) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.merge.299: ; preds = %dispatch.case.306, %dispatch.case.305, %dispatch.case.304, %dispatch.case.303, %dispatch.case.302, %dispatch.case.301, %dispatch.default.300 +dispatch.merge.329: ; preds = %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.default.330 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.300: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.299 +dispatch.default.330: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.329 -dispatch.case.301: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [4 x i64], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.302: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.303: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [8 x i64], ptr %ua.ptr207, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.304: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i8], ptr %ua.ptr211, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.305: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [64 x i64], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.306: ; preds = %match.arm.47 +dispatch.case.331: ; preds = %match.arm.47 %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [1 x { i64, i64 }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load220) + %ua.load220 = load [4 x i64], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load220) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 + br label %dispatch.merge.329 -dispatch.merge.337: ; preds = %dispatch.case.344, %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.default.338 +dispatch.case.332: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.333: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [8 x i64], ptr %ua.ptr227, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.334: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i8], ptr %ua.ptr231, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.335: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [64 x i64], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.336: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [1 x { i64, i64 }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.338: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.337 +dispatch.default.368: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.367 -dispatch.case.339: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.340: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.341: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.342: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.343: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.344: ; preds = %match.arm.48 +dispatch.case.369: ; preds = %match.arm.48 %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load245) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load245) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 + br label %dispatch.merge.367 -dispatch.merge.375: ; preds = %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.default.376 +dispatch.case.370: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.371: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.372: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.373: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.374: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.merge.405: ; preds = %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.376: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw248 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw248 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 - %iNp251 = inttoptr i64 %ua.raw250 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp251) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw253 = extractvalue { i64, i64 } %loadN, 1 - %iNp254 = inttoptr i64 %ua.raw253 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp254) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp257 = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %iNp260 = inttoptr i64 %ua.raw259 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp260) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 +dispatch.default.406: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.405 dispatch.case.407: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp338) + %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw268 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.408: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp341) + %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 + %iNp271 = inttoptr i64 %ua.raw270 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.409: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp344) + %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 + %iNp274 = inttoptr i64 %ua.raw273 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.410: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp347) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp277 = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.411: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp350) + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %iNp280 = inttoptr i64 %ua.raw279 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.412: ; preds = %match.arm.49 - %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 - %iNp353 = inttoptr i64 %ua.raw352 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_f32(ptr %0, ptr %iNp353) + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.413: ; preds = %match.arm.49 - %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %iNp356 = inttoptr i64 %ua.raw355 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Lerpable(ptr %0, ptr %iNp356) + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 -dispatch.merge.538: ; preds = %dispatch.case.544, %dispatch.case.543, %dispatch.case.542, %dispatch.case.541, %dispatch.case.540, %dispatch.default.539 +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.446: ; preds = %match.arm.49 + %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_f32(ptr %0, ptr %iNp385) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %iNp388 = inttoptr i64 %ua.raw387 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Lerpable(ptr %0, ptr %iNp388) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.merge.584: ; preds = %dispatch.case.590, %dispatch.case.589, %dispatch.case.588, %dispatch.case.587, %dispatch.case.586, %dispatch.default.585 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.539: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.296, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.538 +dispatch.default.585: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.316, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.584 -dispatch.case.540: ; preds = %match.arm.50 - %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr360 = inttoptr i64 %ua.raw359 to ptr - %ua.load361 = load { { i32 }, i1 }, ptr %ua.ptr360, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load361) +dispatch.case.586: ; preds = %match.arm.50 + %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr392 = inttoptr i64 %ua.raw391 to ptr + %ua.load393 = load { { i32 }, i1 }, ptr %ua.ptr392, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load393) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.538 + br label %dispatch.merge.584 -dispatch.case.541: ; preds = %match.arm.50 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr364 = inttoptr i64 %ua.raw363 to ptr - %ua.load365 = load { { ptr, i64 }, i1 }, ptr %ua.ptr364, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load365) +dispatch.case.587: ; preds = %match.arm.50 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr396 = inttoptr i64 %ua.raw395 to ptr + %ua.load397 = load { { ptr, i64 }, i1 }, ptr %ua.ptr396, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load397) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.538 + br label %dispatch.merge.584 -dispatch.case.542: ; preds = %match.arm.50 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %iNp368 = inttoptr i64 %ua.raw367 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp368) +dispatch.case.588: ; preds = %match.arm.50 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %iNp400 = inttoptr i64 %ua.raw399 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp400) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.538 + br label %dispatch.merge.584 -dispatch.case.543: ; preds = %match.arm.50 - %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr371 = inttoptr i64 %ua.raw370 to ptr - %ua.load372 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr371, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load372) +dispatch.case.589: ; preds = %match.arm.50 + %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr403 = inttoptr i64 %ua.raw402 to ptr + %ua.load404 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr403, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load404) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.538 + br label %dispatch.merge.584 -dispatch.case.544: ; preds = %match.arm.50 - %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr375 = inttoptr i64 %ua.raw374 to ptr - %ua.load376 = load { [64 x i8], i1 }, ptr %ua.ptr375, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load376) +dispatch.case.590: ; preds = %match.arm.50 + %ua.raw406 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr407 = inttoptr i64 %ua.raw406 to ptr + %ua.load408 = load { [64 x i8], i1 }, ptr %ua.ptr407, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load408) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.538 + br label %dispatch.merge.584 } ; Function Attrs: nounwind @@ -2631,7 +2814,7 @@ 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.297, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.317, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2727,7 +2910,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2735,7 +2918,7 @@ if.then.12: ; preds = %if.then.9 %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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2745,13 +2928,13 @@ if.then.12: ; preds = %if.then.9 %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.300, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2759,7 +2942,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.302, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2773,7 +2956,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2781,7 +2964,7 @@ if.then.23: ; preds = %if.else.10 %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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2792,7 +2975,7 @@ if.then.23: ; preds = %if.else.10 %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.305, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2849,7 +3032,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2857,7 +3040,7 @@ if.then.32: ; preds = %if.then.29 %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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2868,7 +3051,7 @@ if.then.32: ; preds = %if.then.29 %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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2888,7 +3071,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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 @@ -2896,7 +3079,7 @@ if.then.35: ; preds = %while.exit.2 %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.310, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2907,7 +3090,7 @@ if.then.35: ; preds = %while.exit.2 %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.311, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3740,6 +3923,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal ptr @__thunk_CAllocator_Allocator_alloc_bytes(ptr %0, ptr %1, i64 %2) #0 { entry: @@ -3758,7 +3989,7 @@ entry: define internal void @print__ct_s648b4567d2e0e089__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.312, i64 22 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.332, i64 22 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3775,7 +4006,7 @@ entry: %gepN = getelementptr inbounds { 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.313, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.333, 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 19) @@ -3804,7 +4035,7 @@ entry: ; 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.314, i64 22 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.334, i64 22 }) ret { ptr, i64 } %call } @@ -3823,7 +4054,7 @@ entry: define internal void @print__ct_s865ed00fd204d3cc__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.315, i64 23 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.335, i64 23 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3840,7 +4071,7 @@ entry: %gepN = getelementptr inbounds { 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.316, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.336, 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 20) @@ -3869,7 +4100,7 @@ entry: ; 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.317, i64 23 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.337, i64 23 }) ret { ptr, i64 } %call } @@ -3878,35 +4109,35 @@ define internal { ptr, i64 } @struct_to_string__Lerpable(ptr %0, { ptr, ptr } %1 entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.318, i64 8 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.338, i64 8 }, { ptr, i64 } { ptr @str.339, 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.127 + br label %while.hdr.132 -while.hdr.127: ; preds = %fv.merge, %entry +while.hdr.132: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.128, label %while.exit.129 + br i1 %icmp, label %while.body.133, label %while.exit.134 -while.body.128: ; preds = %while.hdr.127 +while.body.133: ; preds = %while.hdr.132 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.130, label %if.merge.131 + br i1 %icmpN, label %if.then.135, label %if.merge.136 -while.exit.129: ; preds = %while.hdr.127 +while.exit.134: ; preds = %while.hdr.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 1 }) ret { ptr, i64 } %callN -if.then.130: ; preds = %while.body.128 +if.then.135: ; preds = %while.body.133 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.131 + br label %if.merge.136 -if.merge.131: ; preds = %if.then.130, %while.body.128 +if.merge.136: ; preds = %if.then.135, %while.body.133 %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, i64 0, i64 %loadN @@ -3914,7 +4145,7 @@ if.merge.131: ; preds = %if.then.130, %while %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.323, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -3932,18 +4163,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.127 + br label %while.hdr.132 -fv.default: ; preds = %if.merge.131 +fv.default: ; preds = %if.merge.136 br label %fv.merge -fv.case: ; preds = %if.merge.131 +fv.case: ; preds = %if.merge.136 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.131 +fv.case17: ; preds = %if.merge.136 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -3957,43 +4188,43 @@ entry: %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.324, i64 15 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.344, i64 15 }, { ptr, i64 } { ptr @str.345, 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.132 + br label %while.hdr.137 -while.hdr.132: ; preds = %fv.merge, %entry +while.hdr.137: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.133, label %while.exit.134 + br i1 %icmp, label %while.body.138, label %while.exit.139 -while.body.133: ; preds = %while.hdr.132 +while.body.138: ; preds = %while.hdr.137 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.135, label %if.merge.136 + br i1 %icmpN, label %if.then.140, label %if.merge.141 -while.exit.134: ; preds = %while.hdr.132 +while.exit.139: ; preds = %while.hdr.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) ret { ptr, i64 } %callN -if.then.135: ; preds = %while.body.133 +if.then.140: ; preds = %while.body.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.136 + br label %if.merge.141 -if.merge.136: ; preds = %if.then.135, %while.body.133 +if.merge.141: ; preds = %if.then.140, %while.body.138 %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.332, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.352, 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.333, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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 @@ -4013,31 +4244,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.132 + br label %while.hdr.137 -fv.default: ; preds = %if.merge.136 +fv.default: ; preds = %if.merge.141 br label %fv.merge -fv.case: ; preds = %if.merge.136 +fv.case: ; preds = %if.merge.141 %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.136 +fv.case17: ; preds = %if.merge.141 %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.136 +fv.case20: ; preds = %if.merge.141 %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.136 +fv.case24: ; preds = %if.merge.141 %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 @@ -4050,43 +4281,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.334, i64 9 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.354, i64 9 }, { ptr, i64 } { ptr @str.355, 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.137 + br label %while.hdr.142 -while.hdr.137: ; preds = %fv.merge, %entry +while.hdr.142: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.138, label %while.exit.139 + br i1 %icmp, label %while.body.143, label %while.exit.144 -while.body.138: ; preds = %while.hdr.137 +while.body.143: ; preds = %while.hdr.142 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.140, label %if.merge.141 + br i1 %icmpN, label %if.then.145, label %if.merge.146 -while.exit.139: ; preds = %while.hdr.137 +while.exit.144: ; preds = %while.hdr.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 1 }) ret { ptr, i64 } %callN -if.then.140: ; preds = %while.body.138 +if.then.145: ; preds = %while.body.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.141 + br label %if.merge.146 -if.merge.141: ; preds = %if.then.140, %while.body.138 +if.merge.146: ; preds = %if.then.145, %while.body.143 %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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.361, 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.342, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, 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 @@ -4105,24 +4336,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.137 + br label %while.hdr.142 -fv.default: ; preds = %if.merge.141 +fv.default: ; preds = %if.merge.146 br label %fv.merge -fv.case: ; preds = %if.merge.141 +fv.case: ; preds = %if.merge.146 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.141 +fv.case17: ; preds = %if.merge.146 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.141 +fv.case21: ; preds = %if.merge.146 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4135,43 +4366,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.343, i64 7 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 7 }, { ptr, i64 } { ptr @str.364, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %fv.merge, %entry +while.hdr.147: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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.349, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.369, 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.350, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 %alloca, align 8 @@ -4189,19 +4420,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 -fv.default: ; preds = %if.merge.146 +fv.default: ; preds = %if.merge.151 br label %fv.merge -fv.case: ; preds = %if.merge.146 +fv.case: ; preds = %if.merge.151 %fv.field = extractvalue { { 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 22, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.146 +fv.case17: ; preds = %if.merge.151 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4213,43 +4444,43 @@ 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.351, i64 10 }, { ptr, i64 } { ptr @str.352, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.371, i64 10 }, { ptr, i64 } { ptr @str.372, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %if.merge.151, %entry +while.hdr.152: ; preds = %if.merge.156, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4260,7 +4491,7 @@ if.merge.151: ; preds = %if.then.150, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 } ; Function Attrs: nounwind @@ -4268,43 +4499,43 @@ 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.357, i64 3 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 3 }, { ptr, i64 } { ptr @str.378, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %fv.merge, %entry +while.hdr.157: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.362, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.382, 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.363, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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 @@ -4321,12 +4552,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 -fv.default: ; preds = %if.merge.156 +fv.default: ; preds = %if.merge.161 br label %fv.merge -fv.case: ; preds = %if.merge.156 +fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4337,43 +4568,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.364, i64 10 }, { ptr, i64 } { ptr @str.365, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.384, i64 10 }, { ptr, i64 } { ptr @str.385, 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.157 + br label %while.hdr.162 -while.hdr.157: ; preds = %fv.merge, %entry +while.hdr.162: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.158, label %while.exit.159 + br i1 %icmp, label %while.body.163, label %while.exit.164 -while.body.158: ; preds = %while.hdr.157 +while.body.163: ; preds = %while.hdr.162 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 + br i1 %icmpN, label %if.then.165, label %if.merge.166 -while.exit.159: ; preds = %while.hdr.157 +while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 1 }) ret { ptr, i64 } %callN -if.then.160: ; preds = %while.body.158 +if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 + br label %if.merge.166 -if.merge.161: ; preds = %if.then.160, %while.body.158 +if.merge.166: ; preds = %if.then.165, %while.body.163 %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.370, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.390, 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.371, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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 @@ -4391,18 +4622,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.157 + br label %while.hdr.162 -fv.default: ; preds = %if.merge.161 +fv.default: ; preds = %if.merge.166 br label %fv.merge -fv.case: ; preds = %if.merge.161 +fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 31, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.161 +fv.case17: ; preds = %if.merge.166 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4414,91 +4645,7 @@ 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.372, i64 5 }, { ptr, i64 } { ptr @str.373, 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.162 - -while.hdr.162: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.163, label %while.exit.164 - -while.body.163: ; preds = %while.hdr.162 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.165, label %if.merge.166 - -while.exit.164: ; preds = %while.hdr.162 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 1 }) - ret { ptr, i64 } %callN - -if.then.165: ; preds = %while.body.163 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.166 - -if.merge.166: ; preds = %if.then.165, %while.body.163 - %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.379, 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.380, 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.162 - -fv.default: ; preds = %if.merge.166 - br label %fv.merge - -fv.case: ; preds = %if.merge.166 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 31, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.166 - %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.166 - %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 22, 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.381, i64 8 }, { ptr, i64 } { ptr @str.382, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.392, i64 5 }, { ptr, i64 } { ptr @str.393, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4517,27 +4664,27 @@ while.body.168: ; preds = %while.hdr.167 while.exit.169: ; preds = %while.hdr.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) ret { ptr, i64 } %callN if.then.170: ; preds = %while.body.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.171 if.merge.171: ; preds = %if.then.170, %while.body.168 %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.388, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.399, 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.389, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, 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 { 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 @@ -4559,17 +4706,101 @@ fv.default: ; preds = %if.merge.171 br label %fv.merge fv.case: ; preds = %if.merge.171 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 31, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.171 + %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.171 + %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 22, 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.401, i64 8 }, { ptr, i64 } { ptr @str.402, 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.172 + +while.hdr.172: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.173, label %while.exit.174 + +while.body.173: ; preds = %while.hdr.172 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.175, label %if.merge.176 + +while.exit.174: ; preds = %while.hdr.172 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 1 }) + ret { ptr, i64 } %callN + +if.then.175: ; preds = %while.body.173 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.176 + +if.merge.176: ; preds = %if.then.175, %while.body.173 + %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.408, 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.409, 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.172 + +fv.default: ; preds = %if.merge.176 + br label %fv.merge + +fv.case: ; preds = %if.merge.176 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 34, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.171 +fv.case17: ; preds = %if.merge.176 %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.171 +fv.case20: ; preds = %if.merge.176 %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 @@ -4581,43 +4812,43 @@ 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.390, i64 17 }, { ptr, i64 } { ptr @str.391, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.410, i64 17 }, { ptr, i64 } { ptr @str.411, 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.172 + br label %while.hdr.177 -while.hdr.172: ; preds = %fv.merge, %entry +while.hdr.177: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.173, label %while.exit.174 + br i1 %icmp, label %while.body.178, label %while.exit.179 -while.body.173: ; preds = %while.hdr.172 +while.body.178: ; preds = %while.hdr.177 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.175, label %if.merge.176 + br i1 %icmpN, label %if.then.180, label %if.merge.181 -while.exit.174: ; preds = %while.hdr.172 +while.exit.179: ; preds = %while.hdr.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 1 }) ret { ptr, i64 } %callN -if.then.175: ; preds = %while.body.173 +if.then.180: ; preds = %while.body.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.176 + br label %if.merge.181 -if.merge.176: ; preds = %if.then.175, %while.body.173 +if.merge.181: ; preds = %if.then.180, %while.body.178 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4637,29 +4868,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.172 + br label %while.hdr.177 -fv.default: ; preds = %if.merge.176 +fv.default: ; preds = %if.merge.181 br label %fv.merge -fv.case: ; preds = %if.merge.176 +fv.case: ; preds = %if.merge.181 %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 22, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.176 +fv.case17: ; preds = %if.merge.181 %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.176 +fv.case20: ; preds = %if.merge.181 %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.176 +fv.case23: ; preds = %if.merge.181 %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 @@ -4670,43 +4901,43 @@ 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.400, i64 4 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 4 }, { ptr, i64 } { ptr @str.421, 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.177 + br label %while.hdr.182 -while.hdr.177: ; preds = %fv.merge, %entry +while.hdr.182: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.178, label %while.exit.179 + br i1 %icmp, label %while.body.183, label %while.exit.184 -while.body.178: ; preds = %while.hdr.177 +while.body.183: ; preds = %while.hdr.182 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.180, label %if.merge.181 + br i1 %icmpN, label %if.then.185, label %if.merge.186 -while.exit.179: ; preds = %while.hdr.177 +while.exit.184: ; preds = %while.hdr.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN -if.then.180: ; preds = %while.body.178 +if.then.185: ; preds = %while.body.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.181 + br label %if.merge.186 -if.merge.181: ; preds = %if.then.180, %while.body.178 +if.merge.186: ; preds = %if.then.185, %while.body.183 %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.405, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.425, 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.406, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, 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 @@ -4723,12 +4954,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.177 + br label %while.hdr.182 -fv.default: ; preds = %if.merge.181 +fv.default: ; preds = %if.merge.186 br label %fv.merge -fv.case: ; preds = %if.merge.181 +fv.case: ; preds = %if.merge.186 %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 @@ -4743,43 +4974,43 @@ entry: %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.407, i64 10 }, { ptr, i64 } { ptr @str.408, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.427, i64 10 }, { ptr, i64 } { ptr @str.428, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.416, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.436, 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.417, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, 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 @@ -4800,38 +5031,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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.186 +fv.case17: ; preds = %if.merge.191 %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.186 +fv.case20: ; preds = %if.merge.191 %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.186 +fv.case24: ; preds = %if.merge.191 %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.186 +fv.case29: ; preds = %if.merge.191 %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 @@ -4845,43 +5076,43 @@ 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.418, i64 13 }, { ptr, i64 } { ptr @str.419, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.438, i64 13 }, { ptr, i64 } { ptr @str.439, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.424, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.444, 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.425, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, 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 @@ -4899,18 +5130,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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.191 +fv.case17: ; preds = %if.merge.196 %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 @@ -4923,43 +5154,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.426, i64 8 }, { ptr, i64 } { ptr @str.427, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.446, i64 8 }, { ptr, i64 } { ptr @str.447, 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.192 + br label %while.hdr.197 -while.hdr.192: ; preds = %fv.merge, %entry +while.hdr.197: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.193, label %while.exit.194 + br i1 %icmp, label %while.body.198, label %while.exit.199 -while.body.193: ; preds = %while.hdr.192 +while.body.198: ; preds = %while.hdr.197 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 + br i1 %icmpN, label %if.then.200, label %if.merge.201 -while.exit.194: ; preds = %while.hdr.192 +while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) ret { ptr, i64 } %callN -if.then.195: ; preds = %while.body.193 +if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 + br label %if.merge.201 -if.merge.196: ; preds = %if.then.195, %while.body.193 +if.merge.201: ; preds = %if.then.200, %while.body.198 %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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.455, 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.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, 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 @@ -4980,36 +5211,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.192 + br label %while.hdr.197 -fv.default: ; preds = %if.merge.196 +fv.default: ; preds = %if.merge.201 br label %fv.merge -fv.case: ; preds = %if.merge.196 +fv.case: ; preds = %if.merge.201 %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.196 +fv.case17: ; preds = %if.merge.201 %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.196 +fv.case21: ; preds = %if.merge.201 %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.196 +fv.case25: ; preds = %if.merge.201 %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.196 +fv.case29: ; preds = %if.merge.201 %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 @@ -5020,89 +5251,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.437, i64 5 }, { ptr, i64 } { ptr @str.438, 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.197 - -while.hdr.197: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.198, label %while.exit.199 - -while.body.198: ; preds = %while.hdr.197 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.200, label %if.merge.201 - -while.exit.199: ; preds = %while.hdr.197 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) - ret { ptr, i64 } %callN - -if.then.200: ; preds = %while.body.198 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.201 - -if.merge.201: ; preds = %if.then.200, %while.body.198 - %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.444, 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.445, 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.197 - -fv.default: ; preds = %if.merge.201 - br label %fv.merge - -fv.case: ; preds = %if.merge.201 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.201 - %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.201 - %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.446, i64 6 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 5 }, { ptr, i64 } { ptr @str.458, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5121,24 +5270,24 @@ while.body.203: ; preds = %while.hdr.202 while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 1 }) ret { ptr, i64 } %callN if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.206 if.merge.206: ; preds = %if.then.205, %while.body.203 %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.453, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.464, 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.454, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, 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 @@ -5165,7 +5314,7 @@ fv.default: ; preds = %if.merge.206 fv.case: ; preds = %if.merge.206 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 63, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -5180,13 +5329,11 @@ fv.case20: ; preds = %if.merge.206 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.455, i64 6 }, { ptr, i64 } { ptr @str.456, i64 1 }) + %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.466, i64 6 }, { ptr, i64 } { ptr @str.467, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5195,7 +5342,7 @@ entry: while.hdr.207: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.208, label %while.exit.209 while.body.208: ; preds = %while.hdr.207 @@ -5205,24 +5352,108 @@ while.body.208: ; preds = %while.hdr.207 while.exit.209: ; preds = %while.hdr.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 1 }) ret { ptr, i64 } %callN if.then.210: ; preds = %while.body.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.211 if.merge.211: ; preds = %if.then.210, %while.body.208 %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.461, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.473, 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.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, 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.207 + +fv.default: ; preds = %if.merge.211 + br label %fv.merge + +fv.case: ; preds = %if.merge.211 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 63, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.211 + %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.211 + %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.475, i64 6 }, { ptr, i64 } { ptr @str.476, 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.212 + +while.hdr.212: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.213, label %while.exit.214 + +while.body.213: ; preds = %while.hdr.212 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.215, label %if.merge.216 + +while.exit.214: ; preds = %while.hdr.212 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 1 }) + ret { ptr, i64 } %callN + +if.then.215: ; preds = %while.body.213 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.216 + +if.merge.216: ; preds = %if.then.215, %while.body.213 + %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.481, 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.482, 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 @@ -5240,19 +5471,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.207 + br label %while.hdr.212 -fv.default: ; preds = %if.merge.211 +fv.default: ; preds = %if.merge.216 br label %fv.merge -fv.case: ; preds = %if.merge.211 +fv.case: ; preds = %if.merge.216 %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.211 +fv.case17: ; preds = %if.merge.216 %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 @@ -5266,93 +5497,7 @@ 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.463, i64 4 }, { ptr, i64 } { ptr @str.464, 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.212 - -while.hdr.212: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.213, label %while.exit.214 - -while.body.213: ; preds = %while.hdr.212 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.215, label %if.merge.216 - -while.exit.214: ; preds = %while.hdr.212 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) - ret { ptr, i64 } %callN - -if.then.215: ; preds = %while.body.213 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.216 - -if.merge.216: ; preds = %if.then.215, %while.body.213 - %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.470, 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.471, 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.212 - -fv.default: ; preds = %if.merge.216 - br label %fv.merge - -fv.case: ; preds = %if.merge.216 - %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 65, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.216 - %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.216 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 42, 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.472, i64 6 }, { ptr, i64 } { ptr @str.473, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.483, i64 4 }, { ptr, i64 } { ptr @str.484, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5371,24 +5516,110 @@ while.body.218: ; preds = %while.hdr.217 while.exit.219: ; preds = %while.hdr.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) ret { ptr, i64 } %callN if.then.220: ; preds = %while.body.218 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.221 if.merge.221: ; preds = %if.then.220, %while.body.218 %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.479, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.490, 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.480, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, 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.217 + +fv.default: ; preds = %if.merge.221 + br label %fv.merge + +fv.case: ; preds = %if.merge.221 + %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 65, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.221 + %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.221 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 42, 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.492, i64 6 }, { ptr, i64 } { ptr @str.493, 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.222 + +while.hdr.222: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.223, label %while.exit.224 + +while.body.223: ; preds = %while.hdr.222 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.225, label %if.merge.226 + +while.exit.224: ; preds = %while.hdr.222 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 1 }) + ret { ptr, i64 } %callN + +if.then.225: ; preds = %while.body.223 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.226 + +if.merge.226: ; preds = %if.then.225, %while.body.223 + %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.499, 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.500, 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 @@ -5407,24 +5638,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.217 + br label %while.hdr.222 -fv.default: ; preds = %if.merge.221 +fv.default: ; preds = %if.merge.226 br label %fv.merge -fv.case: ; preds = %if.merge.221 +fv.case: ; preds = %if.merge.226 %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.221 +fv.case17: ; preds = %if.merge.226 %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.221 +fv.case20: ; preds = %if.merge.226 %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 @@ -5437,43 +5668,43 @@ 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.481, i64 12 }, { ptr, i64 } { ptr @str.482, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.501, i64 12 }, { ptr, i64 } { ptr @str.502, 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.222 + br label %while.hdr.227 -while.hdr.222: ; preds = %if.merge.226, %entry +while.hdr.227: ; preds = %if.merge.231, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.223, label %while.exit.224 + br i1 %icmp, label %while.body.228, label %while.exit.229 -while.body.223: ; preds = %while.hdr.222 +while.body.228: ; preds = %while.hdr.227 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.225, label %if.merge.226 + br i1 %icmpN, label %if.then.230, label %if.merge.231 -while.exit.224: ; preds = %while.hdr.222 +while.exit.229: ; preds = %while.hdr.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 1 }) ret { ptr, i64 } %callN -if.then.225: ; preds = %while.body.223 +if.then.230: ; preds = %while.body.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.226 + br label %if.merge.231 -if.merge.226: ; preds = %if.then.225, %while.body.223 +if.merge.231: ; preds = %if.then.230, %while.body.228 %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.485, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.505, 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.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5484,7 +5715,7 @@ if.merge.226: ; preds = %if.then.225, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.222 + br label %while.hdr.227 } ; Function Attrs: nounwind @@ -5493,95 +5724,7 @@ 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.487, i64 8 }, { ptr, i64 } { ptr @str.488, 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.227 - -while.hdr.227: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.228, label %while.exit.229 - -while.body.228: ; preds = %while.hdr.227 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.230, label %if.merge.231 - -while.exit.229: ; preds = %while.hdr.227 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) - ret { ptr, i64 } %callN - -if.then.230: ; preds = %while.body.228 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.231 - -if.merge.231: ; preds = %if.then.230, %while.body.228 - %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.494, 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.495, 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.227 - -fv.default: ; preds = %if.merge.231 - br label %fv.merge - -fv.case: ; preds = %if.merge.231 - %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.231 - %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.231 - %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.496, i64 7 }, { ptr, i64 } { ptr @str.497, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, i64 8 }, { ptr, i64 } { ptr @str.508, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5600,24 +5743,112 @@ while.body.233: ; preds = %while.hdr.232 while.exit.234: ; preds = %while.hdr.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) ret { ptr, i64 } %callN if.then.235: ; preds = %while.body.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.236 if.merge.236: ; preds = %if.then.235, %while.body.233 %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.503, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.514, 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.504, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, 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.232 + +fv.default: ; preds = %if.merge.236 + br label %fv.merge + +fv.case: ; preds = %if.merge.236 + %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.236 + %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.236 + %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.516, i64 7 }, { ptr, i64 } { ptr @str.517, 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.237 + +while.hdr.237: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.238, label %while.exit.239 + +while.body.238: ; preds = %while.hdr.237 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.240, label %if.merge.241 + +while.exit.239: ; preds = %while.hdr.237 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 1 }) + ret { ptr, i64 } %callN + +if.then.240: ; preds = %while.body.238 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.241 + +if.merge.241: ; preds = %if.then.240, %while.body.238 + %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.523, 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.524, 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 @@ -5636,26 +5867,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.232 + br label %while.hdr.237 -fv.default: ; preds = %if.merge.236 +fv.default: ; preds = %if.merge.241 br label %fv.merge -fv.case: ; preds = %if.merge.236 +fv.case: ; preds = %if.merge.241 %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.236 +fv.case17: ; preds = %if.merge.241 %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.236 +fv.case22: ; preds = %if.merge.241 %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 @@ -5669,86 +5900,7 @@ 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.505, i64 9 }, { ptr, i64 } { ptr @str.506, 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.237 - -while.hdr.237: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.238, label %while.exit.239 - -while.body.238: ; preds = %while.hdr.237 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.240, label %if.merge.241 - -while.exit.239: ; preds = %while.hdr.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 1 }) - ret { ptr, i64 } %callN - -if.then.240: ; preds = %while.body.238 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.241 - -if.merge.241: ; preds = %if.then.240, %while.body.238 - %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.511, 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.512, 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.237 - -fv.default: ; preds = %if.merge.241 - br label %fv.merge - -fv.case: ; preds = %if.merge.241 - %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.241 - %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.513, i64 4 }, { ptr, i64 } { ptr @str.514, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.525, i64 9 }, { ptr, i64 } { ptr @str.526, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5767,27 +5919,27 @@ while.body.243: ; preds = %while.hdr.242 while.exit.244: ; preds = %while.hdr.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 1 }) ret { ptr, i64 } %callN if.then.245: ; preds = %while.body.243 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.246 if.merge.246: ; preds = %if.then.245, %while.body.243 %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.519, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.531, 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.520, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, 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 { 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 @@ -5808,11 +5960,90 @@ fv.default: ; preds = %if.merge.246 br label %fv.merge fv.case: ; preds = %if.merge.246 + %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.246 + %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.533, i64 4 }, { ptr, i64 } { ptr @str.534, 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.247 + +while.hdr.247: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.248, label %while.exit.249 + +while.body.248: ; preds = %while.hdr.247 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.250, label %if.merge.251 + +while.exit.249: ; preds = %while.hdr.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) + ret { ptr, i64 } %callN + +if.then.250: ; preds = %while.body.248 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.251 + +if.merge.251: ; preds = %if.then.250, %while.body.248 + %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.539, 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.540, 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.247 + +fv.default: ; preds = %if.merge.251 + br label %fv.merge + +fv.case: ; preds = %if.merge.251 %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.246 +fv.case17: ; preds = %if.merge.251 %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 @@ -5830,43 +6061,43 @@ entry: %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.521, i64 6 }, { ptr, i64 } { ptr @str.522, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.541, i64 6 }, { ptr, i64 } { ptr @str.542, 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.247 + br label %while.hdr.252 -while.hdr.247: ; preds = %fv.merge, %entry +while.hdr.252: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.248, label %while.exit.249 + br i1 %icmp, label %while.body.253, label %while.exit.254 -while.body.248: ; preds = %while.hdr.247 +while.body.253: ; preds = %while.hdr.252 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.250, label %if.merge.251 + br i1 %icmpN, label %if.then.255, label %if.merge.256 -while.exit.249: ; preds = %while.hdr.247 +while.exit.254: ; preds = %while.hdr.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) ret { ptr, i64 } %callN -if.then.250: ; preds = %while.body.248 +if.then.255: ; preds = %while.body.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.251 + br label %if.merge.256 -if.merge.251: ; preds = %if.then.250, %while.body.248 +if.merge.256: ; preds = %if.then.255, %while.body.253 %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.532, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.552, 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.533, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, 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 @@ -5889,51 +6120,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.247 + br label %while.hdr.252 -fv.default: ; preds = %if.merge.251 +fv.default: ; preds = %if.merge.256 br label %fv.merge -fv.case: ; preds = %if.merge.251 +fv.case: ; preds = %if.merge.256 %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.251 +fv.case17: ; preds = %if.merge.256 %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.251 +fv.case22: ; preds = %if.merge.256 %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.251 +fv.case25: ; preds = %if.merge.256 %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.251 +fv.case28: ; preds = %if.merge.256 %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 25, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.251 +fv.case33: ; preds = %if.merge.256 %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 82, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.251 +fv.case38: ; preds = %if.merge.256 %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 @@ -5948,43 +6179,43 @@ entry: %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.534, i64 6 }, { ptr, i64 } { ptr @str.535, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 6 }, { ptr, i64 } { ptr @str.555, 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.252 + br label %while.hdr.257 -while.hdr.252: ; preds = %fv.merge, %entry +while.hdr.257: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.253, label %while.exit.254 + br i1 %icmp, label %while.body.258, label %while.exit.259 -while.body.253: ; preds = %while.hdr.252 +while.body.258: ; preds = %while.hdr.257 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.255, label %if.merge.256 + br i1 %icmpN, label %if.then.260, label %if.merge.261 -while.exit.254: ; preds = %while.hdr.252 +while.exit.259: ; preds = %while.hdr.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %callN -if.then.255: ; preds = %while.body.253 +if.then.260: ; preds = %while.body.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.256 + br label %if.merge.261 -if.merge.256: ; preds = %if.then.255, %while.body.253 +if.merge.261: ; preds = %if.then.260, %while.body.258 %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.542, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.562, 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.543, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, 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 @@ -6004,31 +6235,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.252 + br label %while.hdr.257 -fv.default: ; preds = %if.merge.256 +fv.default: ; preds = %if.merge.261 br label %fv.merge -fv.case: ; preds = %if.merge.256 +fv.case: ; preds = %if.merge.261 %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 92, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.256 +fv.case17: ; preds = %if.merge.261 %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 93, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.256 +fv.case22: ; preds = %if.merge.261 %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.256 +fv.case25: ; preds = %if.merge.261 %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 @@ -6039,82 +6270,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.544, i64 8 }, { ptr, i64 } { ptr @str.545, 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.257 - -while.hdr.257: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.258, label %while.exit.259 - -while.body.258: ; preds = %while.hdr.257 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.260, label %if.merge.261 - -while.exit.259: ; preds = %while.hdr.257 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) - ret { ptr, i64 } %callN - -if.then.260: ; preds = %while.body.258 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.261 - -if.merge.261: ; preds = %if.then.260, %while.body.258 - %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.550, 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.551, 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.257 - -fv.default: ; preds = %if.merge.261 - br label %fv.merge - -fv.case: ; preds = %if.merge.261 - %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.261 - %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__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.552, i64 6 }, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.564, i64 8 }, { ptr, i64 } { ptr @str.565, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6123,7 +6279,7 @@ entry: while.hdr.262: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.263, label %while.exit.264 while.body.263: ; preds = %while.hdr.262 @@ -6133,118 +6289,16 @@ while.body.263: ; preds = %while.hdr.262 while.exit.264: ; preds = %while.hdr.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) ret { ptr, i64 } %callN if.then.265: ; preds = %while.body.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.266 if.merge.266: ; preds = %if.then.265, %while.body.263 - %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.562, 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.563, 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.262 - -fv.default: ; preds = %if.merge.266 - br label %fv.merge - -fv.case: ; preds = %if.merge.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.564, i64 10 }, { ptr, i64 } { ptr @str.565, 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.267 - -while.hdr.267: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.268, label %while.exit.269 - -while.body.268: ; preds = %while.hdr.267 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.270, label %if.merge.271 - -while.exit.269: ; preds = %while.hdr.267 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) - ret { ptr, i64 } %callN - -if.then.270: ; preds = %while.body.268 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.271 - -if.merge.271: ; preds = %if.then.270, %while.body.268 %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.570, i64 0, i64 %loadN @@ -6270,17 +6324,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.262 + +fv.default: ; preds = %if.merge.266 + br label %fv.merge + +fv.case: ; preds = %if.merge.266 + %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.266 + %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__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.572, i64 6 }, { ptr, i64 } { ptr @str.573, 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.267 + +while.hdr.267: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.268, label %while.exit.269 + +while.body.268: ; preds = %while.hdr.267 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.270, label %if.merge.271 + +while.exit.269: ; preds = %while.hdr.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + ret { ptr, i64 } %callN + +if.then.270: ; preds = %while.body.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.271 + +if.merge.271: ; preds = %if.then.270, %while.body.268 + %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.582, 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.583, 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.267 fv.default: ; preds = %if.merge.271 br label %fv.merge fv.case: ; preds = %if.merge.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.584, i64 10 }, { ptr, i64 } { ptr @str.585, 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.272 + +while.hdr.272: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.273, label %while.exit.274 + +while.body.273: ; preds = %while.hdr.272 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.275, label %if.merge.276 + +while.exit.274: ; preds = %while.hdr.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 1 }) + ret { ptr, i64 } %callN + +if.then.275: ; preds = %while.body.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.276 + +if.merge.276: ; preds = %if.then.275, %while.body.273 + %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.590, 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.591, 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.272 + +fv.default: ; preds = %if.merge.276 + br label %fv.merge + +fv.case: ; preds = %if.merge.276 %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.271 +fv.case17: ; preds = %if.merge.276 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6291,43 +6522,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.572, i64 5 }, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 5 }, { ptr, i64 } { ptr @str.593, 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.272 + br label %while.hdr.277 -while.hdr.272: ; preds = %fv.merge, %entry +while.hdr.277: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.273, label %while.exit.274 + br i1 %icmp, label %while.body.278, label %while.exit.279 -while.body.273: ; preds = %while.hdr.272 +while.body.278: ; preds = %while.hdr.277 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.275, label %if.merge.276 + br i1 %icmpN, label %if.then.280, label %if.merge.281 -while.exit.274: ; preds = %while.hdr.272 +while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) ret { ptr, i64 } %callN -if.then.275: ; preds = %while.body.273 +if.then.280: ; preds = %while.body.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.276 + br label %if.merge.281 -if.merge.276: ; preds = %if.then.275, %while.body.273 +if.merge.281: ; preds = %if.then.280, %while.body.278 %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.603, 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.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, 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, i64 }, ptr %alloca, align 8 @@ -6350,47 +6581,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.272 + br label %while.hdr.277 -fv.default: ; preds = %if.merge.276 +fv.default: ; preds = %if.merge.281 br label %fv.merge -fv.case: ; preds = %if.merge.276 +fv.case: ; preds = %if.merge.281 %fv.field = extractvalue { i32, i64, 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.276 +fv.case17: ; preds = %if.merge.281 %fv.field18 = extractvalue { i32, i64, 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.276 +fv.case20: ; preds = %if.merge.281 %fv.field21 = extractvalue { i32, i64, 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.276 +fv.case23: ; preds = %if.merge.281 %fv.field24 = extractvalue { i32, i64, 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.276 +fv.case27: ; preds = %if.merge.281 %fv.field28 = extractvalue { i32, i64, 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.276 +fv.case31: ; preds = %if.merge.281 %fv.field32 = extractvalue { i32, i64, 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.276 +fv.case35: ; preds = %if.merge.281 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6401,43 +6632,43 @@ 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.585, i64 4 }, { ptr, i64 } { ptr @str.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 4 }, { ptr, i64 } { ptr @str.606, 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.277 + br label %while.hdr.282 -while.hdr.277: ; preds = %fv.merge, %entry +while.hdr.282: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.278, label %while.exit.279 + br i1 %icmp, label %while.body.283, label %while.exit.284 -while.body.278: ; preds = %while.hdr.277 +while.body.283: ; preds = %while.hdr.282 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 + br i1 %icmpN, label %if.then.285, label %if.merge.286 -while.exit.279: ; preds = %while.hdr.277 +while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) ret { ptr, i64 } %callN -if.then.280: ; preds = %while.body.278 +if.then.285: ; preds = %while.body.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 + br label %if.merge.286 -if.merge.281: ; preds = %if.then.280, %while.body.278 +if.merge.286: ; preds = %if.then.285, %while.body.283 %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.610, 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.591, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, 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 @@ -6454,18 +6685,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.277 + br label %while.hdr.282 -fv.default: ; preds = %if.merge.281 +fv.default: ; preds = %if.merge.286 br label %fv.merge -fv.case: ; preds = %if.merge.281 +fv.case: ; preds = %if.merge.286 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 6 }, { ptr, i64 } { ptr @str.613, 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.287 + +while.hdr.287: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.288, label %while.exit.289 + +while.body.288: ; preds = %while.hdr.287 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.290, label %if.merge.291 + +while.exit.289: ; preds = %while.hdr.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + ret { ptr, i64 } %callN + +if.then.290: ; preds = %while.body.288 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.291 + +if.merge.291: ; preds = %if.then.290, %while.body.288 + %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.623, 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.624, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.287 + +fv.default: ; preds = %if.merge.291 + br label %fv.merge + +fv.case: ; preds = %if.merge.291 + %fv.field = extractvalue { i64, i32, 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.291 + %fv.field18 = extractvalue { i64, i32, 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.291 + %fv.field21 = extractvalue { i64, i32, 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.291 + %fv.field24 = extractvalue { i64, i32, 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.291 + %fv.field27 = extractvalue { i64, i32, 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.291 + %fv.field30 = extractvalue { i64, i32, 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.291 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.625, i64 7 }, { ptr, i64 } { ptr @str.626, 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.292 + +while.hdr.292: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.293, label %while.exit.294 + +while.body.293: ; preds = %while.hdr.292 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.295, label %if.merge.296 + +while.exit.294: ; preds = %while.hdr.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, i64 1 }) + ret { ptr, i64 } %callN + +if.then.295: ; preds = %while.body.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.296 + +if.merge.296: ; preds = %if.then.295, %while.body.293 + %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.635, 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.636, 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.292 + +fv.default: ; preds = %if.merge.296 + br label %fv.merge + +fv.case: ; preds = %if.merge.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.637, i64 8 }, { ptr, i64 } { ptr @str.638, 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + ret { ptr, i64 } %callN + +if.then.300: ; preds = %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %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.645, 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.646, 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %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.301 + %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.301 + %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.301 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } { ptr @str.648, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.662, 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.663, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 34, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.306 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.306 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 34, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.306 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.306 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.306 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.306 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.306 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.306 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 6 }, { ptr, i64 } { ptr @str.665, 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.307 + +while.hdr.307: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.308, label %while.exit.309 + +while.body.308: ; preds = %while.hdr.307 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.310, label %if.merge.311 + +while.exit.309: ; preds = %while.hdr.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 1 }) + ret { ptr, i64 } %callN + +if.then.310: ; preds = %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.311 + +if.merge.311: ; preds = %if.then.310, %while.body.308 + %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.674, 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.675, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.307 + +fv.default: ; preds = %if.merge.311 + br label %fv.merge + +fv.case: ; preds = %if.merge.311 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 112, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.311 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 106, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.311 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.311 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 117, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.311 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 22, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.311 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 119, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6475,9 +7269,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.681, 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.592, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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 @@ -6491,18 +7285,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6516,9 +7310,9 @@ entry: %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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.688, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6532,18 +7326,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.606, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6568,9 +7362,9 @@ entry: %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.614, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.698, 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.607, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, 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 @@ -6584,16 +7378,16 @@ entry: i64 5, label %fv.case24 ] -if.then.293: ; preds = %fv.merge +if.then.323: ; 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.616, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, 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.294 + br label %if.merge.324 -if.merge.294: ; preds = %if.then.293, %fv.merge +if.merge.324: ; preds = %if.then.323, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6606,7 +7400,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.293, label %if.merge.294 + br i1 %icmp, label %if.then.323, label %if.merge.324 fv.default: ; preds = %entry br label %fv.merge @@ -6666,9 +7460,9 @@ entry: %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.625, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.709, 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.617, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, 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 @@ -6682,18 +7476,18 @@ entry: %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.295, label %if.merge.296 + br i1 %icmp, label %if.then.325, label %if.merge.326 -if.then.295: ; preds = %entry +if.then.325: ; 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.627, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, 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.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %entry +if.merge.326: ; preds = %if.then.325, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6707,9 +7501,9 @@ entry: %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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.718, 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.628, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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 @@ -6723,18 +7517,18 @@ entry: %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.297, label %if.merge.298 + br i1 %icmp, label %if.then.327, label %if.merge.328 -if.then.297: ; preds = %entry +if.then.327: ; 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.636, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, 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.298 + br label %if.merge.328 -if.merge.298: ; preds = %if.then.297, %entry +if.merge.328: ; preds = %if.then.327, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6746,33 +7540,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.721, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %if.merge.311, %entry +while.hdr.337: ; preds = %if.merge.341, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) ret { ptr, i64 } %call -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6786,7 +7580,7 @@ if.merge.311: ; preds = %if.then.310, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 } ; Function Attrs: nounwind @@ -6797,33 +7591,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.724, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 -while.hdr.312: ; preds = %if.merge.316, %entry +while.hdr.342: ; preds = %if.merge.346, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.313, label %while.exit.314 + br i1 %icmp, label %while.body.343, label %while.exit.344 -while.body.313: ; preds = %while.hdr.312 +while.body.343: ; preds = %while.hdr.342 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.315, label %if.merge.316 + br i1 %icmpN, label %if.then.345, label %if.merge.346 -while.exit.314: ; preds = %while.hdr.312 +while.exit.344: ; preds = %while.hdr.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) ret { ptr, i64 } %call -if.then.315: ; preds = %while.body.313 +if.then.345: ; preds = %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %while.body.313 +if.merge.346: ; preds = %if.then.345, %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6839,7 +7633,7 @@ if.merge.316: ; preds = %if.then.315, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 } ; Function Attrs: nounwind @@ -6849,33 +7643,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.643, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.727, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 -while.hdr.317: ; preds = %if.merge.321, %entry +while.hdr.347: ; preds = %if.merge.351, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.318, label %while.exit.319 + br i1 %icmp, label %while.body.348, label %while.exit.349 -while.body.318: ; preds = %while.hdr.317 +while.body.348: ; preds = %while.hdr.347 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.320, label %if.merge.321 + br i1 %icmpN, label %if.then.350, label %if.merge.351 -while.exit.319: ; preds = %while.hdr.317 +while.exit.349: ; preds = %while.hdr.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) ret { ptr, i64 } %call -if.then.320: ; preds = %while.body.318 +if.then.350: ; preds = %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.321 + br label %if.merge.351 -if.merge.321: ; preds = %if.then.320, %while.body.318 +if.merge.351: ; preds = %if.then.350, %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6889,7 +7683,7 @@ if.merge.321: ; preds = %if.then.320, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 } ; Function Attrs: nounwind @@ -6899,33 +7693,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.646, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.730, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 -while.hdr.322: ; preds = %if.merge.326, %entry +while.hdr.352: ; preds = %if.merge.356, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.323, label %while.exit.324 + br i1 %icmp, label %while.body.353, label %while.exit.354 -while.body.323: ; preds = %while.hdr.322 +while.body.353: ; preds = %while.hdr.352 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.325, label %if.merge.326 + br i1 %icmpN, label %if.then.355, label %if.merge.356 -while.exit.324: ; preds = %while.hdr.322 +while.exit.354: ; preds = %while.hdr.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 1 }) ret { ptr, i64 } %call -if.then.325: ; preds = %while.body.323 +if.then.355: ; preds = %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + %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 - br label %if.merge.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %while.body.323 +if.merge.356: ; preds = %if.then.355, %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6940,7 +7734,7 @@ if.merge.326: ; preds = %if.then.325, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 } ; Function Attrs: nounwind @@ -6950,33 +7744,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.649, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.733, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 -while.hdr.327: ; preds = %if.merge.331, %entry +while.hdr.357: ; preds = %if.merge.361, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.328, label %while.exit.329 + br i1 %icmp, label %while.body.358, label %while.exit.359 -while.body.328: ; preds = %while.hdr.327 +while.body.358: ; preds = %while.hdr.357 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.330, label %if.merge.331 + br i1 %icmpN, label %if.then.360, label %if.merge.361 -while.exit.329: ; preds = %while.hdr.327 +while.exit.359: ; preds = %while.hdr.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) ret { ptr, i64 } %call -if.then.330: ; preds = %while.body.328 +if.then.360: ; preds = %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.331 + br label %if.merge.361 -if.merge.331: ; preds = %if.then.330, %while.body.328 +if.merge.361: ; preds = %if.then.360, %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6990,7 +7784,7 @@ if.merge.331: ; preds = %if.then.330, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 } ; Function Attrs: nounwind @@ -7001,33 +7795,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.652, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.736, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 -while.hdr.332: ; preds = %if.merge.336, %entry +while.hdr.362: ; preds = %if.merge.366, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.333, label %while.exit.334 + br i1 %icmp, label %while.body.363, label %while.exit.364 -while.body.333: ; preds = %while.hdr.332 +while.body.363: ; preds = %while.hdr.362 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.335, label %if.merge.336 + br i1 %icmpN, label %if.then.365, label %if.merge.366 -while.exit.334: ; preds = %while.hdr.332 +while.exit.364: ; preds = %while.hdr.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) ret { ptr, i64 } %call -if.then.335: ; preds = %while.body.333 +if.then.365: ; preds = %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + %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 - br label %if.merge.336 + br label %if.merge.366 -if.merge.336: ; preds = %if.then.335, %while.body.333 +if.merge.366: ; preds = %if.then.365, %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7043,7 +7837,7 @@ if.merge.336: ; preds = %if.then.335, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 } ; Function Attrs: nounwind @@ -7053,35 +7847,35 @@ entry: %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.655, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.739, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %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.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7097,7 +7891,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -7106,35 +7900,35 @@ 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.658, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.742, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %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.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + %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 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7149,7 +7943,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -7159,35 +7953,35 @@ entry: %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.661, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.745, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %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.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7203,7 +7997,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -7213,35 +8007,35 @@ entry: %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.664, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.748, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %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.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7257,7 +8051,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -7267,35 +8061,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.667, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.751, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %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.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7311,7 +8105,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -7321,35 +8115,35 @@ entry: %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.670, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.754, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 -while.hdr.370: ; preds = %if.merge.374, %entry +while.hdr.400: ; preds = %if.merge.404, %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.371, label %while.exit.372 + br i1 %icmp, label %while.body.401, label %while.exit.402 -while.body.371: ; preds = %while.hdr.370 +while.body.401: ; preds = %while.hdr.400 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 + br i1 %icmpN, label %if.then.403, label %if.merge.404 -while.exit.372: ; preds = %while.hdr.370 +while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 1 }) ret { ptr, i64 } %call -if.then.373: ; preds = %while.body.371 +if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.374 + br label %if.merge.404 -if.merge.374: ; preds = %if.then.373, %while.body.371 +if.merge.404: ; preds = %if.then.403, %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7365,206 +8159,11 @@ if.merge.374: ; preds = %if.then.373, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 } ; 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.414, label %if.else.415 - -if.then.414: ; preds = %entry - br label %if.merge.416 - -if.else.415: ; 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.416 - -if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] - 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.430, label %if.else.431 - -if.then.430: ; preds = %entry - br label %if.merge.432 - -if.else.431: ; 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.432 - -if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] - 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.433, label %if.else.434 - -if.then.433: ; preds = %entry - br label %if.merge.435 - -if.else.434: ; 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.435 - -if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] - 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.436, label %if.else.437 - -if.then.436: ; preds = %entry - br label %if.merge.438 - -if.else.437: ; 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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.438 - -if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] - 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.439, label %if.else.440 - -if.then.439: ; preds = %entry - br label %if.merge.441 - -if.else.440: ; 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.441 - -if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] - ret { ptr, i64 } %bp -} - -; 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.442, label %if.else.443 - -if.then.442: ; preds = %entry - br label %if.merge.444 - -if.else.443: ; 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.690, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.444 - -if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] - 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.445, label %if.else.446 - -if.then.445: ; preds = %entry - br label %if.merge.447 - -if.else.446: ; 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.447 - -if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] - 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 @@ -7582,12 +8181,207 @@ if.then.448: ; preds = %entry if.else.449: ; 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 5 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + 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.464, label %if.else.465 + +if.then.464: ; preds = %entry + br label %if.merge.466 + +if.else.465: ; 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.762, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.466 + +if.merge.466: ; preds = %if.else.465, %if.then.464 + %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + 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.467, label %if.else.468 + +if.then.467: ; preds = %entry + br label %if.merge.469 + +if.else.468: ; 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.765, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.469 + +if.merge.469: ; preds = %if.else.468, %if.then.467 + %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + 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.470, label %if.else.471 + +if.then.470: ; preds = %entry + br label %if.merge.472 + +if.else.471: ; 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.768, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.472 + +if.merge.472: ; preds = %if.else.471, %if.then.470 + %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + 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.473, label %if.else.474 + +if.then.473: ; preds = %entry + br label %if.merge.475 + +if.else.474: ; 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.771, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.475 + +if.merge.475: ; preds = %if.else.474, %if.then.473 + %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + ret { ptr, i64 } %bp +} + +; 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.476, label %if.else.477 + +if.then.476: ; preds = %entry + br label %if.merge.478 + +if.else.477: ; 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.774, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.478 + +if.merge.478: ; preds = %if.else.477, %if.then.476 + %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + 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.479, label %if.else.480 + +if.then.479: ; preds = %entry + br label %if.merge.481 + +if.else.480: ; 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.777, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.481 + +if.merge.481: ; preds = %if.else.480, %if.then.479 + %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + 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.482, label %if.else.483 + +if.then.482: ; preds = %entry + br label %if.merge.484 + +if.else.483: ; 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.780, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.484 + +if.merge.484: ; preds = %if.else.483, %if.then.482 + %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] ret { ptr, i64 } %bp } @@ -7602,20 +8396,20 @@ entry: 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.451, label %if.else.452 + br i1 %icmp, label %if.then.485, label %if.else.486 -if.then.451: ; preds = %entry - br label %if.merge.453 +if.then.485: ; preds = %entry + br label %if.merge.487 -if.else.452: ; preds = %entry +if.else.486: ; 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.453 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.487 -if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] +if.merge.487: ; preds = %if.else.486, %if.then.485 + %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] ret { ptr, i64 } %bp } @@ -7630,20 +8424,20 @@ entry: 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.454, label %if.else.455 + br i1 %icmp, label %if.then.488, label %if.else.489 -if.then.454: ; preds = %entry - br label %if.merge.456 +if.then.488: ; preds = %entry + br label %if.merge.490 -if.else.455: ; preds = %entry +if.else.489: ; 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.456 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.490 -if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] ret { ptr, i64 } %bp } @@ -7658,20 +8452,20 @@ entry: 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.457, label %if.else.458 + br i1 %icmp, label %if.then.491, label %if.else.492 -if.then.457: ; preds = %entry - br label %if.merge.459 +if.then.491: ; preds = %entry + br label %if.merge.493 -if.else.458: ; preds = %entry +if.else.492: ; 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.705, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.459 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.493 -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] ret { ptr, i64 } %bp } @@ -7686,20 +8480,20 @@ entry: 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.460, label %if.else.461 + br i1 %icmp, label %if.then.494, label %if.else.495 -if.then.460: ; preds = %entry - br label %if.merge.462 +if.then.494: ; preds = %entry + br label %if.merge.496 -if.else.461: ; preds = %entry +if.else.495: ; 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.462 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.496 -if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } @@ -7713,20 +8507,20 @@ entry: 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.463, label %if.else.464 + br i1 %icmp, label %if.then.497, label %if.else.498 -if.then.463: ; preds = %entry - br label %if.merge.465 +if.then.497: ; preds = %entry + br label %if.merge.499 -if.else.464: ; preds = %entry +if.else.498: ; 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.465 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.499 -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } @@ -7741,20 +8535,20 @@ entry: 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.466, label %if.else.467 + br i1 %icmp, label %if.then.500, label %if.else.501 -if.then.466: ; preds = %entry - br label %if.merge.468 +if.then.500: ; preds = %entry + br label %if.merge.502 -if.else.467: ; preds = %entry +if.else.501: ; 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.468 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.502 -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } @@ -7768,20 +8562,20 @@ entry: 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.469, label %if.else.470 + br i1 %icmp, label %if.then.503, label %if.else.504 -if.then.469: ; preds = %entry - br label %if.merge.471 +if.then.503: ; preds = %entry + br label %if.merge.505 -if.else.470: ; preds = %entry +if.else.504: ; 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.471 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.505 -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } @@ -7796,20 +8590,20 @@ entry: 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.472, label %if.else.473 + br i1 %icmp, label %if.then.506, label %if.else.507 -if.then.472: ; preds = %entry - br label %if.merge.474 +if.then.506: ; preds = %entry + br label %if.merge.508 -if.else.473: ; preds = %entry +if.else.507: ; 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.474 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.508 -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } @@ -7824,20 +8618,20 @@ entry: 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.475, label %if.else.476 + br i1 %icmp, label %if.then.509, label %if.else.510 -if.then.475: ; preds = %entry - br label %if.merge.477 +if.then.509: ; preds = %entry + br label %if.merge.511 -if.else.476: ; preds = %entry +if.else.510: ; 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.477 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.511 -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } @@ -7852,20 +8646,20 @@ entry: 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.478, label %if.else.479 + br i1 %icmp, label %if.then.512, label %if.else.513 -if.then.478: ; preds = %entry - br label %if.merge.480 +if.then.512: ; preds = %entry + br label %if.merge.514 -if.else.479: ; preds = %entry +if.else.513: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.480 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.514 -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } @@ -7880,20 +8674,20 @@ entry: 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.481, label %if.else.482 + br i1 %icmp, label %if.then.515, label %if.else.516 -if.then.481: ; preds = %entry - br label %if.merge.483 +if.then.515: ; preds = %entry + br label %if.merge.517 -if.else.482: ; preds = %entry +if.else.516: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.483 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.517 -if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -7908,20 +8702,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -7936,20 +8730,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -7964,20 +8758,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -7992,20 +8786,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -8020,20 +8814,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -8048,20 +8842,20 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -8076,20 +8870,131 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.536, label %if.else.537 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.536: ; preds = %entry + br label %if.merge.538 -if.else.503: ; preds = %entry +if.else.537: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.538 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] + 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.539, label %if.else.540 + +if.then.539: ; preds = %entry + br label %if.merge.541 + +if.else.540: ; 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.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.541 + +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] + 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.542, label %if.else.543 + +if.then.542: ; preds = %entry + br label %if.merge.544 + +if.else.543: ; 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.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.544 + +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] + 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.545, label %if.else.546 + +if.then.545: ; preds = %entry + br label %if.merge.547 + +if.else.546: ; 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.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.547 + +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] + 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.548, label %if.else.549 + +if.then.548: ; preds = %entry + br label %if.merge.550 + +if.else.549: ; 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.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.550 + +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -8104,20 +9009,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.551, label %if.else.552 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.551: ; preds = %entry + br label %if.merge.553 -if.else.506: ; preds = %entry +if.else.552: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.553 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -8132,20 +9037,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.554, label %if.else.555 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.554: ; preds = %entry + br label %if.merge.556 -if.else.509: ; preds = %entry +if.else.555: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.556 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -8160,20 +9065,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.557, label %if.else.558 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.557: ; preds = %entry + br label %if.merge.559 -if.else.512: ; preds = %entry +if.else.558: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.559 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -8188,20 +9093,20 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.560, label %if.else.561 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.560: ; preds = %entry + br label %if.merge.562 -if.else.515: ; preds = %entry +if.else.561: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.562 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -8216,20 +9121,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.518: ; preds = %entry +if.else.564: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -8244,20 +9149,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.521: ; preds = %entry +if.else.567: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -8272,20 +9177,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.524: ; preds = %entry +if.else.570: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] ret { ptr, i64 } %bp } @@ -8300,20 +9205,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.572, label %if.else.573 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.572: ; preds = %entry + br label %if.merge.574 -if.else.527: ; preds = %entry +if.else.573: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.574 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] ret { ptr, i64 } %bp } @@ -8328,20 +9233,20 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.575, label %if.else.576 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.575: ; preds = %entry + br label %if.merge.577 -if.else.530: ; preds = %entry +if.else.576: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.577 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] ret { ptr, i64 } %bp } @@ -8356,20 +9261,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.578, label %if.else.579 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.578: ; preds = %entry + br label %if.merge.580 -if.else.533: ; preds = %entry +if.else.579: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.876, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.580 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] ret { ptr, i64 } %bp } @@ -8384,20 +9289,20 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.581, label %if.else.582 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.581: ; preds = %entry + br label %if.merge.583 -if.else.536: ; preds = %entry +if.else.582: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.583 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -8410,12 +9315,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.784, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.880, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 @@ -8434,12 +9339,12 @@ entry: %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.547, label %if.merge.548 + br i1 %lnot, label %if.then.593, label %if.merge.594 -if.then.547: ; preds = %entry - ret { ptr, i64 } { ptr @str.785, i64 4 } +if.then.593: ; preds = %entry + ret { ptr, i64 } { ptr @str.881, i64 4 } -if.merge.548: ; preds = %entry +if.merge.594: ; 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 @@ -8457,12 +9362,12 @@ entry: %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.549, label %if.merge.550 + br i1 %lnot, label %if.then.595, label %if.merge.596 -if.then.549: ; preds = %entry - ret { ptr, i64 } { ptr @str.786, i64 4 } +if.then.595: ; preds = %entry + ret { ptr, i64 } { ptr @str.882, i64 4 } -if.merge.550: ; preds = %entry +if.merge.596: ; 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 @@ -8479,12 +9384,12 @@ entry: %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.551, label %if.merge.552 + br i1 %lnot, label %if.then.597, label %if.merge.598 -if.then.551: ; preds = %entry - ret { ptr, i64 } { ptr @str.787, i64 4 } +if.then.597: ; preds = %entry + ret { ptr, i64 } { ptr @str.883, i64 4 } -if.merge.552: ; preds = %entry +if.merge.598: ; 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 @@ -8503,12 +9408,12 @@ entry: %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.553, label %if.merge.554 + br i1 %lnot, label %if.then.599, label %if.merge.600 -if.then.553: ; preds = %entry - ret { ptr, i64 } { ptr @str.788, i64 4 } +if.then.599: ; preds = %entry + ret { ptr, i64 } { ptr @str.884, i64 4 } -if.merge.554: ; preds = %entry +if.merge.600: ; 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 diff --git a/examples/expected/0413-protocols-parameterized-protocol-value.ir b/examples/expected/0413-protocols-parameterized-protocol-value.ir index 6faeb70..659f3ff 100644 --- a/examples/expected/0413-protocols-parameterized-protocol-value.ir +++ b/examples/expected/0413-protocols-parameterized-protocol-value.ir @@ -9,7 +9,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [204 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] +@__sx_type_is_unsigned = private constant [222 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -30,481 +30,481 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [8 x i8] c"IntCell\00" -@tn.str.212 = private constant [8 x i8] c"StrCell\00" -@tn.str.213 = private constant [9 x i8] c"*IntCell\00" -@tn.str.214 = private constant [9 x i8] c"*StrCell\00" -@tn.str.215 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.216 = private constant [7 x i8] c"**void\00" -@tn.str.217 = private constant [8 x i8] c"VL__i64\00" -@tn.str.218 = private constant [18 x i8] c"__VL__i64__Vtable\00" -@tn.str.219 = private constant [9 x i8] c"*VL__i64\00" -@tn.str.220 = private constant [10 x i8] c"**IntCell\00" -@tn.str.221 = private constant [19 x i8] c"*__VL__i64__Vtable\00" -@tn.str.222 = private constant [8 x i8] c"*string\00" -@tn.str.223 = private constant [6 x i8] c"[]Any\00" -@tn.str.224 = private constant [5 x i8] c"*Any\00" -@tn.str.225 = private constant [7 x i8] c"[1]Any\00" -@tn.str.226 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.227 = private constant [7 x i8] c"*[]Any\00" -@tn.str.228 = private constant [4 x i8] c"*u8\00" -@tn.str.229 = private constant [6 x i8] c"*bool\00" -@tn.str.230 = private constant [11 x i8] c"VL__string\00" -@tn.str.231 = private constant [21 x i8] c"__VL__string__Vtable\00" -@tn.str.232 = private constant [12 x i8] c"*VL__string\00" -@tn.str.233 = private constant [10 x i8] c"**StrCell\00" -@tn.str.234 = private constant [22 x i8] c"*__VL__string__Vtable\00" -@tn.str.235 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.236 = private constant [5 x i8] c"*f64\00" -@tn.str.237 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.238 = private constant [11 x i8] c"*Allocator\00" -@tn.str.239 = private constant [9 x i8] c"*Context\00" -@tn.str.240 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.241 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.242 = private constant [8 x i8] c"*Member\00" -@tn.str.243 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.244 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.245 = private constant [9 x i8] c"*Command\00" -@tn.str.246 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.247 = private constant [7 x i8] c"*Event\00" -@tn.str.248 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.249 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.250 = private constant [7 x i8] c"*Value\00" -@tn.str.251 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.252 = private constant [14 x i8] c"*Architecture\00" -@tn.str.253 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.254 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.255 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.256 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.257 = private constant [10 x i8] c"*[]string\00" -@tn.str.258 = private constant [6 x i8] c"*[]u8\00" -@tn.str.259 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.260 = private constant [11 x i8] c"*[]Command\00" -@tn.str.261 = private constant [9 x i8] c"*[]Event\00" -@tn.str.262 = private constant [6 x i8] c"**GPA\00" -@tn.str.263 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.264 = private constant [8 x i8] c"**Arena\00" -@tn.str.265 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.266 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.267 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.268 = private constant [7 x i8] c"**File\00" -@tn.str.269 = private constant [6 x i8] c"**i32\00" -@tn.str.270 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.271 = private constant [6 x i8] c"**u32\00" -@tn.str.272 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.273 = private constant [8 x i8] c"**Array\00" -@tn.str.274 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.275 = private constant [9 x i8] c"**Object\00" -@tn.str.276 = private constant [7 x i8] c"**Sink\00" -@tn.str.277 = private constant [9 x i8] c"**Parser\00" -@tn.str.278 = private constant [6 x i8] c"**i64\00" -@tn.str.279 = private constant [9 x i8] c"**Parsed\00" -@tn.str.280 = private constant [7 x i8] c"**Diag\00" -@tn.str.281 = private constant [9 x i8] c"**Sha256\00" -@tn.str.282 = private constant [11 x i8] c"**Timespec\00" -@tn.str.283 = private constant [9 x i8] c"**Kevent\00" -@tn.str.284 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.285 = private constant [7 x i8] c"**Loop\00" -@tn.str.286 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.287 = private constant [8 x i8] c"***void\00" -@tn.str.288 = private constant [10 x i8] c"**VL__i64\00" -@tn.str.289 = private constant [11 x i8] c"***IntCell\00" -@tn.str.290 = private constant [20 x i8] c"**__VL__i64__Vtable\00" -@tn.str.291 = private constant [9 x i8] c"**string\00" -@tn.str.292 = private constant [6 x i8] c"**Any\00" -@tn.str.293 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.294 = private constant [8 x i8] c"**[]Any\00" -@tn.str.295 = private constant [5 x i8] c"**u8\00" -@tn.str.296 = private constant [7 x i8] c"**bool\00" -@tn.str.297 = private constant [13 x i8] c"**VL__string\00" -@tn.str.298 = private constant [11 x i8] c"***StrCell\00" -@tn.str.299 = private constant [23 x i8] c"**__VL__string__Vtable\00" -@tn.str.300 = private constant [7 x i8] c"*?File\00" -@tn.str.301 = private constant [9 x i8] c"*?string\00" -@tn.str.302 = private constant [10 x i8] c"*?cstring\00" -@tn.str.303 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.304 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [204 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 8 }, { ptr, i64 } { ptr @tn.str.214, i64 8 }, { ptr, i64 } { ptr @tn.str.215, i64 12 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 17 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 18 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 3 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 20 }, { ptr, i64 } { ptr @tn.str.232, i64 11 }, { ptr, i64 } { ptr @tn.str.233, i64 9 }, { ptr, i64 } { ptr @tn.str.234, i64 21 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 4 }, { ptr, i64 } { ptr @tn.str.237, i64 16 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 11 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 9 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 9 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 16 }, { ptr, i64 } { ptr @tn.str.252, i64 13 }, { ptr, i64 } { ptr @tn.str.253, i64 14 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 7 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 11 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 12 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 19 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 5 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 5 }, { ptr, i64 } { ptr @tn.str.272, i64 9 }, { ptr, i64 } { ptr @tn.str.273, i64 7 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 6 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 12 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 13 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 10 }, { ptr, i64 } { ptr @tn.str.290, i64 19 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 5 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 7 }, { ptr, i64 } { ptr @tn.str.295, i64 4 }, { ptr, i64 } { ptr @tn.str.296, i64 6 }, { ptr, i64 } { ptr @tn.str.297, i64 12 }, { ptr, i64 } { ptr @tn.str.298, i64 10 }, { ptr, i64 } { ptr @tn.str.299, i64 22 }, { ptr, i64 } { ptr @tn.str.300, i64 6 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 9 }, { ptr, i64 } { ptr @tn.str.303, i64 15 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }] -@str.305 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.312 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.314 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.315 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.316 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.317 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.319 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.320 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.322 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.323 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.325 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.326 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.327 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [8 x i8] c"IntCell\00" +@tn.str.226 = private constant [8 x i8] c"StrCell\00" +@tn.str.227 = private constant [9 x i8] c"*IntCell\00" +@tn.str.228 = private constant [9 x i8] c"*StrCell\00" +@tn.str.229 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.230 = private constant [7 x i8] c"**void\00" +@tn.str.231 = private constant [8 x i8] c"VL__i64\00" +@tn.str.232 = private constant [18 x i8] c"__VL__i64__Vtable\00" +@tn.str.233 = private constant [9 x i8] c"*VL__i64\00" +@tn.str.234 = private constant [10 x i8] c"**IntCell\00" +@tn.str.235 = private constant [19 x i8] c"*__VL__i64__Vtable\00" +@tn.str.236 = private constant [8 x i8] c"*string\00" +@tn.str.237 = private constant [6 x i8] c"[]Any\00" +@tn.str.238 = private constant [5 x i8] c"*Any\00" +@tn.str.239 = private constant [7 x i8] c"[1]Any\00" +@tn.str.240 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.241 = private constant [7 x i8] c"*[]Any\00" +@tn.str.242 = private constant [4 x i8] c"*u8\00" +@tn.str.243 = private constant [6 x i8] c"*bool\00" +@tn.str.244 = private constant [11 x i8] c"VL__string\00" +@tn.str.245 = private constant [21 x i8] c"__VL__string__Vtable\00" +@tn.str.246 = private constant [12 x i8] c"*VL__string\00" +@tn.str.247 = private constant [10 x i8] c"**StrCell\00" +@tn.str.248 = private constant [22 x i8] c"*__VL__string__Vtable\00" +@tn.str.249 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.250 = private constant [5 x i8] c"*f64\00" +@tn.str.251 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.252 = private constant [11 x i8] c"*Allocator\00" +@tn.str.253 = private constant [9 x i8] c"*Context\00" +@tn.str.254 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.255 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.256 = private constant [8 x i8] c"*Member\00" +@tn.str.257 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.258 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.259 = private constant [9 x i8] c"*Command\00" +@tn.str.260 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.261 = private constant [7 x i8] c"*Event\00" +@tn.str.262 = private constant [8 x i8] c"*Config\00" +@tn.str.263 = private constant [6 x i8] c"*Conn\00" +@tn.str.264 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.265 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.266 = private constant [7 x i8] c"*Value\00" +@tn.str.267 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.268 = private constant [14 x i8] c"*Architecture\00" +@tn.str.269 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.270 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.271 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.272 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.273 = private constant [10 x i8] c"*[]string\00" +@tn.str.274 = private constant [6 x i8] c"*[]u8\00" +@tn.str.275 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.276 = private constant [11 x i8] c"*[]Command\00" +@tn.str.277 = private constant [9 x i8] c"*[]Event\00" +@tn.str.278 = private constant [6 x i8] c"**GPA\00" +@tn.str.279 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.280 = private constant [8 x i8] c"**Arena\00" +@tn.str.281 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.282 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.283 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.284 = private constant [7 x i8] c"**File\00" +@tn.str.285 = private constant [6 x i8] c"**i32\00" +@tn.str.286 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.287 = private constant [6 x i8] c"**u32\00" +@tn.str.288 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.289 = private constant [8 x i8] c"**Array\00" +@tn.str.290 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.291 = private constant [9 x i8] c"**Object\00" +@tn.str.292 = private constant [7 x i8] c"**Sink\00" +@tn.str.293 = private constant [9 x i8] c"**Parser\00" +@tn.str.294 = private constant [6 x i8] c"**i64\00" +@tn.str.295 = private constant [9 x i8] c"**Parsed\00" +@tn.str.296 = private constant [7 x i8] c"**Diag\00" +@tn.str.297 = private constant [9 x i8] c"**Sha256\00" +@tn.str.298 = private constant [11 x i8] c"**Timespec\00" +@tn.str.299 = private constant [9 x i8] c"**Kevent\00" +@tn.str.300 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.301 = private constant [7 x i8] c"**Loop\00" +@tn.str.302 = private constant [10 x i8] c"**Request\00" +@tn.str.303 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.304 = private constant [11 x i8] c"**Response\00" +@tn.str.305 = private constant [9 x i8] c"**Server\00" +@tn.str.306 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.307 = private constant [8 x i8] c"***void\00" +@tn.str.308 = private constant [10 x i8] c"**VL__i64\00" +@tn.str.309 = private constant [11 x i8] c"***IntCell\00" +@tn.str.310 = private constant [20 x i8] c"**__VL__i64__Vtable\00" +@tn.str.311 = private constant [9 x i8] c"**string\00" +@tn.str.312 = private constant [6 x i8] c"**Any\00" +@tn.str.313 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.314 = private constant [8 x i8] c"**[]Any\00" +@tn.str.315 = private constant [5 x i8] c"**u8\00" +@tn.str.316 = private constant [7 x i8] c"**bool\00" +@tn.str.317 = private constant [13 x i8] c"**VL__string\00" +@tn.str.318 = private constant [11 x i8] c"***StrCell\00" +@tn.str.319 = private constant [23 x i8] c"**__VL__string__Vtable\00" +@tn.str.320 = private constant [7 x i8] c"*?File\00" +@tn.str.321 = private constant [9 x i8] c"*?string\00" +@tn.str.322 = private constant [10 x i8] c"*?cstring\00" +@tn.str.323 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.324 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [222 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 8 }, { ptr, i64 } { ptr @tn.str.228, i64 8 }, { ptr, i64 } { ptr @tn.str.229, i64 12 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 17 }, { ptr, i64 } { ptr @tn.str.233, i64 8 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 18 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 5 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 3 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 20 }, { ptr, i64 } { ptr @tn.str.246, i64 11 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 21 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 4 }, { ptr, i64 } { ptr @tn.str.251, i64 16 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 11 }, { ptr, i64 } { ptr @tn.str.255, i64 14 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 13 }, { ptr, i64 } { ptr @tn.str.258, i64 9 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 6 }, { ptr, i64 } { ptr @tn.str.262, i64 7 }, { ptr, i64 } { ptr @tn.str.263, i64 5 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 9 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 16 }, { ptr, i64 } { ptr @tn.str.268, i64 13 }, { ptr, i64 } { ptr @tn.str.269, i64 14 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 7 }, { ptr, i64 } { ptr @tn.str.272, i64 8 }, { ptr, i64 } { ptr @tn.str.273, i64 9 }, { ptr, i64 } { ptr @tn.str.274, i64 5 }, { ptr, i64 } { ptr @tn.str.275, i64 11 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 12 }, { ptr, i64 } { ptr @tn.str.280, i64 7 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 19 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 5 }, { ptr, i64 } { ptr @tn.str.286, i64 10 }, { ptr, i64 } { ptr @tn.str.287, i64 5 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 7 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 6 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 6 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 10 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 12 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 9 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 10 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 13 }, { ptr, i64 } { ptr @tn.str.307, i64 7 }, { ptr, i64 } { ptr @tn.str.308, i64 9 }, { ptr, i64 } { ptr @tn.str.309, i64 10 }, { ptr, i64 } { ptr @tn.str.310, i64 19 }, { ptr, i64 } { ptr @tn.str.311, i64 8 }, { ptr, i64 } { ptr @tn.str.312, i64 5 }, { ptr, i64 } { ptr @tn.str.313, i64 8 }, { ptr, i64 } { ptr @tn.str.314, i64 7 }, { ptr, i64 } { ptr @tn.str.315, i64 4 }, { ptr, i64 } { ptr @tn.str.316, i64 6 }, { ptr, i64 } { ptr @tn.str.317, i64 12 }, { ptr, i64 } { ptr @tn.str.318, i64 10 }, { ptr, i64 } { ptr @tn.str.319, i64 22 }, { ptr, i64 } { ptr @tn.str.320, i64 6 }, { ptr, i64 } { ptr @tn.str.321, i64 8 }, { ptr, i64 } { ptr @tn.str.322, i64 9 }, { ptr, i64 } { ptr @tn.str.323, i64 15 }, { ptr, i64 } { ptr @tn.str.324, i64 8 }] +@str.325 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.326 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.327 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.328 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.329 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 -@str.330 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 -@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.332 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 -@str.333 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.334 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.335 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.336 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str = private constant [5 x i8] c"file\00" -@fld.str.337 = private constant [5 x i8] c"line\00" -@fld.str.338 = private constant [4 x i8] c"col\00" -@fld.str.339 = 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.337, i64 4 }, { ptr, i64 } { ptr @fld.str.338, i64 3 }, { ptr, i64 } { ptr @fld.str.339, i64 4 }] -@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.341 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.342 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.343 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.329 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.331 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.332 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.333 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.334 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.335 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.336 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.337 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.338 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.339 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.340 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.342 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.343 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.344 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.345 = private constant [4 x i8] c"ctx\00" -@fld.str.346 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.347 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.348 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.345, i64 3 }, { ptr, i64 } { ptr @fld.str.346, i64 11 }, { ptr, i64 } { ptr @fld.str.347, i64 13 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [10 x i8] c"allocator\00" -@fld.str.355 = private constant [5 x i8] c"data\00" -@field_names.356 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 9 }, { ptr, i64 } { ptr @fld.str.355, i64 4 }] -@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.358 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.361 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.362 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.364 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.368 = private constant [12 x i8] c"alloc_count\00" -@field_names.369 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 11 }] -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.375 = private constant [5 x i8] c"next\00" -@fld.str.376 = private constant [4 x i8] c"cap\00" -@field_names.377 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 4 }, { ptr, i64 } { ptr @fld.str.376, i64 3 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.383 = private constant [6 x i8] c"first\00" -@fld.str.384 = private constant [10 x i8] c"end_index\00" -@fld.str.385 = private constant [7 x i8] c"parent\00" -@field_names.386 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 5 }, { ptr, i64 } { ptr @fld.str.384, i64 9 }, { ptr, i64 } { ptr @fld.str.385, i64 6 }] -@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.388 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.390 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.391 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.392 = private constant [4 x i8] c"buf\00" -@fld.str.393 = private constant [4 x i8] c"len\00" -@fld.str.394 = private constant [4 x i8] c"pos\00" -@field_names.395 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 3 }, { ptr, i64 } { ptr @fld.str.393, i64 3 }, { ptr, i64 } { ptr @fld.str.394, i64 3 }] -@str.396 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.397 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.398 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.399 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.400 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.401 = private constant [7 x i8] c"parent\00" -@fld.str.402 = private constant [12 x i8] c"alloc_count\00" -@fld.str.403 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.404 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.405 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.401, i64 6 }, { ptr, i64 } { ptr @fld.str.402, i64 11 }, { ptr, i64 } { ptr @fld.str.403, i64 13 }, { ptr, i64 } { ptr @fld.str.404, i64 17 }] -@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.407 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.408 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.409 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.410 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.411 = private constant [3 x i8] c"fd\00" -@field_names.412 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 2 }] -@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.414 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.415 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.416 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.417 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.418 = private constant [5 x i8] c"file\00" -@fld.str.419 = private constant [5 x i8] c"line\00" -@fld.str.420 = private constant [4 x i8] c"col\00" -@fld.str.421 = private constant [5 x i8] c"func\00" -@fld.str.422 = private constant [10 x i8] c"line_text\00" -@field_names.423 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 4 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 4 }, { ptr, i64 } { ptr @fld.str.422, i64 9 }] -@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.425 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.426 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.427 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.428 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.429 = private constant [10 x i8] c"exit_code\00" -@fld.str.430 = private constant [7 x i8] c"stdout\00" -@field_names.431 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 9 }, { ptr, i64 } { ptr @fld.str.430, i64 6 }] -@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.433 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.434 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.435 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.436 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.437 = private constant [8 x i8] c"sin_len\00" -@fld.str.438 = private constant [11 x i8] c"sin_family\00" -@fld.str.439 = private constant [9 x i8] c"sin_port\00" -@fld.str.440 = private constant [9 x i8] c"sin_addr\00" -@fld.str.441 = private constant [9 x i8] c"sin_zero\00" -@field_names.442 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 7 }, { ptr, i64 } { ptr @fld.str.438, i64 10 }, { ptr, i64 } { ptr @fld.str.439, i64 8 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }, { ptr, i64 } { ptr @fld.str.441, i64 8 }] -@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.444 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.445 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.446 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.447 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.448 = private constant [6 x i8] c"items\00" -@fld.str.449 = private constant [4 x i8] c"len\00" -@fld.str.450 = private constant [4 x i8] c"cap\00" -@field_names.451 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 5 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }] +@str.345 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.346 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 +@str.347 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 +@str.348 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.349 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 +@str.350 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 +@str.351 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.352 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 +@str.353 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.354 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.355 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.356 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str = private constant [5 x i8] c"file\00" +@fld.str.357 = private constant [5 x i8] c"line\00" +@fld.str.358 = private constant [4 x i8] c"col\00" +@fld.str.359 = 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.357, i64 4 }, { ptr, i64 } { ptr @fld.str.358, i64 3 }, { ptr, i64 } { ptr @fld.str.359, i64 4 }] +@str.360 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.361 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.362 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.363 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.364 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.365 = private constant [4 x i8] c"ctx\00" +@fld.str.366 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.367 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.368 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.365, i64 3 }, { ptr, i64 } { ptr @fld.str.366, i64 11 }, { ptr, i64 } { ptr @fld.str.367, i64 13 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [10 x i8] c"allocator\00" +@fld.str.375 = private constant [5 x i8] c"data\00" +@field_names.376 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 9 }, { ptr, i64 } { ptr @fld.str.375, i64 4 }] +@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.378 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.381 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.382 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.384 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.387 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.388 = private constant [12 x i8] c"alloc_count\00" +@field_names.389 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 11 }] +@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.391 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.394 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.395 = private constant [5 x i8] c"next\00" +@fld.str.396 = private constant [4 x i8] c"cap\00" +@field_names.397 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 4 }, { ptr, i64 } { ptr @fld.str.396, i64 3 }] +@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.399 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.400 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.402 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.403 = private constant [6 x i8] c"first\00" +@fld.str.404 = private constant [10 x i8] c"end_index\00" +@fld.str.405 = private constant [7 x i8] c"parent\00" +@field_names.406 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.403, i64 5 }, { ptr, i64 } { ptr @fld.str.404, i64 9 }, { ptr, i64 } { ptr @fld.str.405, i64 6 }] +@str.407 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.408 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.410 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.411 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.412 = private constant [4 x i8] c"buf\00" +@fld.str.413 = private constant [4 x i8] c"len\00" +@fld.str.414 = private constant [4 x i8] c"pos\00" +@field_names.415 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 3 }, { ptr, i64 } { ptr @fld.str.413, i64 3 }, { ptr, i64 } { ptr @fld.str.414, i64 3 }] +@str.416 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.417 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.418 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.419 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.420 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.421 = private constant [7 x i8] c"parent\00" +@fld.str.422 = private constant [12 x i8] c"alloc_count\00" +@fld.str.423 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.424 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.425 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 6 }, { ptr, i64 } { ptr @fld.str.422, i64 11 }, { ptr, i64 } { ptr @fld.str.423, i64 13 }, { ptr, i64 } { ptr @fld.str.424, i64 17 }] +@str.426 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.427 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.428 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.429 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.430 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.431 = private constant [3 x i8] c"fd\00" +@field_names.432 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.431, i64 2 }] +@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.434 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.435 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.436 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.437 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.438 = private constant [5 x i8] c"file\00" +@fld.str.439 = private constant [5 x i8] c"line\00" +@fld.str.440 = private constant [4 x i8] c"col\00" +@fld.str.441 = private constant [5 x i8] c"func\00" +@fld.str.442 = private constant [10 x i8] c"line_text\00" +@field_names.443 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.438, i64 4 }, { ptr, i64 } { ptr @fld.str.439, i64 4 }, { ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 4 }, { ptr, i64 } { ptr @fld.str.442, i64 9 }] +@str.444 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.445 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.446 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.447 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.448 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.449 = private constant [10 x i8] c"exit_code\00" +@fld.str.450 = private constant [7 x i8] c"stdout\00" +@field_names.451 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.449, i64 9 }, { ptr, i64 } { ptr @fld.str.450, i64 6 }] @str.452 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.453 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.453 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.454 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.455 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.456 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.457 = private constant [6 x i8] c"items\00" -@fld.str.458 = private constant [4 x i8] c"len\00" -@fld.str.459 = private constant [4 x i8] c"cap\00" -@field_names.460 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.457, i64 5 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }, { ptr, i64 } { ptr @fld.str.459, i64 3 }] -@str.461 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.462 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.463 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.465 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.466 = private constant [4 x i8] c"key\00" -@fld.str.467 = private constant [4 x i8] c"val\00" -@field_names.468 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.466, i64 3 }, { ptr, i64 } { ptr @fld.str.467, i64 3 }] -@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.470 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.471 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.472 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.473 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.474 = private constant [4 x i8] c"dst\00" -@fld.str.475 = private constant [4 x i8] c"pos\00" -@fld.str.476 = private constant [5 x i8] c"file\00" -@field_names.477 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 3 }, { ptr, i64 } { ptr @fld.str.476, i64 4 }] -@str.478 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.479 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.480 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.482 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.483 = private constant [4 x i8] c"src\00" -@fld.str.484 = private constant [4 x i8] c"pos\00" -@fld.str.485 = private constant [6 x i8] c"alloc\00" -@field_names.486 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 3 }, { ptr, i64 } { ptr @fld.str.485, i64 5 }] -@str.487 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.488 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.491 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.492 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.494 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.498 = private constant [5 x i8] c"name\00" -@fld.str.499 = private constant [12 x i8] c"takes_value\00" -@fld.str.500 = private constant [9 x i8] c"required\00" -@field_names.501 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 11 }, { ptr, i64 } { ptr @fld.str.500, i64 8 }] -@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.503 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.505 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.506 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.507 = private constant [6 x i8] c"group\00" -@fld.str.508 = private constant [8 x i8] c"command\00" -@fld.str.509 = private constant [6 x i8] c"flags\00" -@field_names.510 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 5 }, { ptr, i64 } { ptr @fld.str.508, i64 7 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }] -@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.512 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.513 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.515 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.516 = private constant [4 x i8] c"set\00" -@fld.str.517 = private constant [6 x i8] c"value\00" -@field_names.518 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }] -@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.520 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.524 = private constant [6 x i8] c"index\00" -@fld.str.525 = private constant [6 x i8] c"token\00" -@field_names.526 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 5 }] -@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.528 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.530 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.531 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.532 = private constant [6 x i8] c"group\00" -@fld.str.533 = private constant [8 x i8] c"command\00" -@fld.str.534 = private constant [10 x i8] c"cmd_index\00" -@fld.str.535 = private constant [5 x i8] c"json\00" -@fld.str.536 = private constant [5 x i8] c"rest\00" -@fld.str.537 = private constant [5 x i8] c"spec\00" -@fld.str.538 = private constant [7 x i8] c"values\00" -@field_names.539 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 5 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }, { ptr, i64 } { ptr @fld.str.534, i64 9 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 4 }, { ptr, i64 } { ptr @fld.str.538, i64 6 }] -@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.541 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.545 = private constant [2 x i8] c"h\00" -@fld.str.546 = private constant [4 x i8] c"buf\00" -@fld.str.547 = private constant [8 x i8] c"buf_len\00" -@fld.str.548 = private constant [10 x i8] c"total_len\00" -@field_names.549 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 1 }, { ptr, i64 } { ptr @fld.str.546, i64 3 }, { ptr, i64 } { ptr @fld.str.547, i64 7 }, { ptr, i64 } { ptr @fld.str.548, i64 9 }] -@str.550 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.551 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.552 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.553 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.554 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.555 = private constant [4 x i8] c"sec\00" -@fld.str.556 = private constant [5 x i8] c"nsec\00" -@field_names.557 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.555, i64 3 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }] -@str.558 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.559 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.560 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.561 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.562 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.563 = private constant [6 x i8] c"ident\00" -@fld.str.564 = private constant [7 x i8] c"filter\00" -@fld.str.565 = private constant [6 x i8] c"flags\00" -@fld.str.566 = private constant [7 x i8] c"fflags\00" -@fld.str.567 = private constant [5 x i8] c"data\00" -@fld.str.568 = private constant [6 x i8] c"udata\00" -@field_names.569 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 5 }, { ptr, i64 } { ptr @fld.str.564, i64 6 }, { ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 6 }, { ptr, i64 } { ptr @fld.str.567, i64 4 }, { ptr, i64 } { ptr @fld.str.568, i64 5 }] +@fld.str.457 = private constant [8 x i8] c"sin_len\00" +@fld.str.458 = private constant [11 x i8] c"sin_family\00" +@fld.str.459 = private constant [9 x i8] c"sin_port\00" +@fld.str.460 = private constant [9 x i8] c"sin_addr\00" +@fld.str.461 = private constant [9 x i8] c"sin_zero\00" +@field_names.462 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.457, i64 7 }, { ptr, i64 } { ptr @fld.str.458, i64 10 }, { ptr, i64 } { ptr @fld.str.459, i64 8 }, { ptr, i64 } { ptr @fld.str.460, i64 8 }, { ptr, i64 } { ptr @fld.str.461, i64 8 }] +@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.464 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.465 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.466 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.467 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.468 = private constant [6 x i8] c"items\00" +@fld.str.469 = private constant [4 x i8] c"len\00" +@fld.str.470 = private constant [4 x i8] c"cap\00" +@field_names.471 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.468, i64 5 }, { ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }] +@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.473 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.477 = private constant [6 x i8] c"items\00" +@fld.str.478 = private constant [4 x i8] c"len\00" +@fld.str.479 = private constant [4 x i8] c"cap\00" +@field_names.480 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 5 }, { ptr, i64 } { ptr @fld.str.478, i64 3 }, { ptr, i64 } { ptr @fld.str.479, i64 3 }] +@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.482 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.483 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.485 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.486 = private constant [4 x i8] c"key\00" +@fld.str.487 = private constant [4 x i8] c"val\00" +@field_names.488 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.486, i64 3 }, { ptr, i64 } { ptr @fld.str.487, i64 3 }] +@str.489 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.490 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.491 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.492 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.493 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.494 = private constant [4 x i8] c"dst\00" +@fld.str.495 = private constant [4 x i8] c"pos\00" +@fld.str.496 = private constant [5 x i8] c"file\00" +@field_names.497 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.494, i64 3 }, { ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 4 }] +@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.499 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.502 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.503 = private constant [4 x i8] c"src\00" +@fld.str.504 = private constant [4 x i8] c"pos\00" +@fld.str.505 = private constant [6 x i8] c"alloc\00" +@field_names.506 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 3 }, { ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 5 }] +@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.508 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.511 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.512 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.514 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.515 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.516 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.517 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.518 = private constant [5 x i8] c"name\00" +@fld.str.519 = private constant [12 x i8] c"takes_value\00" +@fld.str.520 = private constant [9 x i8] c"required\00" +@field_names.521 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 4 }, { ptr, i64 } { ptr @fld.str.519, i64 11 }, { ptr, i64 } { ptr @fld.str.520, i64 8 }] +@str.522 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.523 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.524 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.525 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.526 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.527 = private constant [6 x i8] c"group\00" +@fld.str.528 = private constant [8 x i8] c"command\00" +@fld.str.529 = private constant [6 x i8] c"flags\00" +@field_names.530 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 7 }, { ptr, i64 } { ptr @fld.str.529, i64 5 }] +@str.531 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.532 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.533 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.535 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.536 = private constant [4 x i8] c"set\00" +@fld.str.537 = private constant [6 x i8] c"value\00" +@field_names.538 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.536, i64 3 }, { ptr, i64 } { ptr @fld.str.537, i64 5 }] +@str.539 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.540 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.544 = private constant [6 x i8] c"index\00" +@fld.str.545 = private constant [6 x i8] c"token\00" +@field_names.546 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 5 }, { ptr, i64 } { ptr @fld.str.545, i64 5 }] +@str.547 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.548 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.550 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.551 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.552 = private constant [6 x i8] c"group\00" +@fld.str.553 = private constant [8 x i8] c"command\00" +@fld.str.554 = private constant [10 x i8] c"cmd_index\00" +@fld.str.555 = private constant [5 x i8] c"json\00" +@fld.str.556 = private constant [5 x i8] c"rest\00" +@fld.str.557 = private constant [5 x i8] c"spec\00" +@fld.str.558 = private constant [7 x i8] c"values\00" +@field_names.559 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.552, i64 5 }, { ptr, i64 } { ptr @fld.str.553, i64 7 }, { ptr, i64 } { ptr @fld.str.554, i64 9 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }, { ptr, i64 } { ptr @fld.str.557, i64 4 }, { ptr, i64 } { ptr @fld.str.558, i64 6 }] +@str.560 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.561 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.562 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.563 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.564 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.565 = private constant [2 x i8] c"h\00" +@fld.str.566 = private constant [4 x i8] c"buf\00" +@fld.str.567 = private constant [8 x i8] c"buf_len\00" +@fld.str.568 = private constant [10 x i8] c"total_len\00" +@field_names.569 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.565, i64 1 }, { ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 7 }, { ptr, i64 } { ptr @fld.str.568, i64 9 }] @str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.571 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.572 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.573 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.574 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -512,282 +512,378 @@ @fld.str.576 = private constant [5 x i8] c"nsec\00" @field_names.577 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 3 }, { ptr, i64 } { ptr @fld.str.576, i64 4 }] @str.578 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.579 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.579 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.580 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.581 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.582 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.583 = private constant [3 x i8] c"fd\00" -@fld.str.584 = private constant [6 x i8] c"udata\00" -@fld.str.585 = private constant [9 x i8] c"readable\00" -@fld.str.586 = private constant [9 x i8] c"writable\00" -@fld.str.587 = private constant [4 x i8] c"eof\00" -@fld.str.588 = private constant [4 x i8] c"err\00" -@fld.str.589 = private constant [7 x i8] c"nbytes\00" -@field_names.590 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 2 }, { ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 8 }, { ptr, i64 } { ptr @fld.str.586, i64 8 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 6 }] -@str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.596 = private constant [3 x i8] c"kq\00" -@field_names.597 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 2 }] +@fld.str.583 = private constant [6 x i8] c"ident\00" +@fld.str.584 = private constant [7 x i8] c"filter\00" +@fld.str.585 = private constant [6 x i8] c"flags\00" +@fld.str.586 = private constant [7 x i8] c"fflags\00" +@fld.str.587 = private constant [5 x i8] c"data\00" +@fld.str.588 = private constant [6 x i8] c"udata\00" +@field_names.589 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 5 }, { ptr, i64 } { ptr @fld.str.584, i64 6 }, { ptr, i64 } { ptr @fld.str.585, i64 5 }, { ptr, i64 } { ptr @fld.str.586, i64 6 }, { ptr, i64 } { ptr @fld.str.587, i64 4 }, { ptr, i64 } { ptr @fld.str.588, i64 5 }] +@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.591 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.595 = private constant [4 x i8] c"sec\00" +@fld.str.596 = private constant [5 x i8] c"nsec\00" +@field_names.597 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 3 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }] @str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.599 = private unnamed_addr constant [8 x i8] c"IntCell\00", align 1 +@str.599 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.600 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.601 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.602 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.603 = private constant [2 x i8] c"v\00" -@field_names.604 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 1 }] -@str.605 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.606 = private unnamed_addr constant [8 x i8] c"StrCell\00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.608 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.609 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.610 = private constant [2 x i8] c"s\00" -@field_names.611 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 1 }] -@str.612 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.613 = private unnamed_addr constant [8 x i8] c"VL__i64\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.616 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.617 = private constant [4 x i8] c"ctx\00" -@fld.str.618 = private constant [9 x i8] c"__vtable\00" -@field_names.619 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 3 }, { ptr, i64 } { ptr @fld.str.618, i64 8 }] -@str.620 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.621 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.624 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.625 = private constant [4 x i8] c"get\00" -@field_names.626 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.625, i64 3 }] -@str.627 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.628 = private unnamed_addr constant [11 x i8] c"VL__string\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.632 = private constant [4 x i8] c"ctx\00" -@fld.str.633 = private constant [9 x i8] c"__vtable\00" -@field_names.634 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.632, i64 3 }, { ptr, i64 } { ptr @fld.str.633, i64 8 }] -@str.635 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.636 = private unnamed_addr constant [21 x i8] c"__VL__string__Vtable\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.639 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.640 = private constant [4 x i8] c"get\00" -@field_names.641 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.640, i64 3 }] -@str.642 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.644 = private constant [5 x i8] c"read\00" -@fld.str.645 = private constant [6 x i8] c"write\00" -@fld.str.646 = private constant [7 x i8] c"append\00" -@fld.str.647 = private constant [11 x i8] c"read_write\00" -@field_names.648 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 4 }, { ptr, i64 } { ptr @fld.str.645, i64 5 }, { ptr, i64 } { ptr @fld.str.646, i64 6 }, { ptr, i64 } { ptr @fld.str.647, i64 10 }] -@str.649 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.652 = private constant [4 x i8] c"set\00" -@fld.str.653 = private constant [8 x i8] c"current\00" -@fld.str.654 = private constant [4 x i8] c"end\00" -@field_names.655 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.652, i64 3 }, { ptr, i64 } { ptr @fld.str.653, i64 7 }, { ptr, i64 } { ptr @fld.str.654, i64 3 }] -@str.656 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.659 = private constant [6 x i8] c"null_\00" -@fld.str.660 = private constant [6 x i8] c"bool_\00" -@fld.str.661 = private constant [5 x i8] c"int_\00" -@fld.str.662 = private constant [4 x i8] c"str\00" -@fld.str.663 = private constant [6 x i8] c"array\00" -@fld.str.664 = private constant [7 x i8] c"object\00" -@field_names.665 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.659, i64 5 }, { ptr, i64 } { ptr @fld.str.660, i64 5 }, { ptr, i64 } { ptr @fld.str.661, i64 4 }, { ptr, i64 } { ptr @fld.str.662, i64 3 }, { ptr, i64 } { ptr @fld.str.663, i64 5 }, { ptr, i64 } { ptr @fld.str.664, i64 6 }] -@str.666 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.669 = private constant [6 x i8] c"macos\00" -@fld.str.670 = private constant [6 x i8] c"linux\00" -@fld.str.671 = private constant [8 x i8] c"windows\00" -@fld.str.672 = private constant [5 x i8] c"wasm\00" -@fld.str.673 = private constant [4 x i8] c"ios\00" -@fld.str.674 = private constant [8 x i8] c"android\00" -@fld.str.675 = private constant [8 x i8] c"unknown\00" -@field_names.676 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 5 }, { ptr, i64 } { ptr @fld.str.670, i64 5 }, { ptr, i64 } { ptr @fld.str.671, i64 7 }, { ptr, i64 } { ptr @fld.str.672, i64 4 }, { ptr, i64 } { ptr @fld.str.673, i64 3 }, { ptr, i64 } { ptr @fld.str.674, i64 7 }, { ptr, i64 } { ptr @fld.str.675, i64 7 }] -@str.677 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.678 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.679 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.680 = private constant [8 x i8] c"aarch64\00" -@fld.str.681 = private constant [7 x i8] c"x86_64\00" -@fld.str.682 = private constant [7 x i8] c"wasm32\00" -@fld.str.683 = private constant [7 x i8] c"wasm64\00" -@fld.str.684 = private constant [8 x i8] c"unknown\00" -@field_names.685 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.680, i64 7 }, { ptr, i64 } { ptr @fld.str.681, i64 6 }, { ptr, i64 } { ptr @fld.str.682, i64 6 }, { ptr, i64 } { ptr @fld.str.683, i64 6 }, { ptr, i64 } { ptr @fld.str.684, i64 7 }] -@str.686 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.687 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.688 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.689 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.690 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@fld.str.603 = private constant [3 x i8] c"fd\00" +@fld.str.604 = private constant [6 x i8] c"udata\00" +@fld.str.605 = private constant [9 x i8] c"readable\00" +@fld.str.606 = private constant [9 x i8] c"writable\00" +@fld.str.607 = private constant [4 x i8] c"eof\00" +@fld.str.608 = private constant [4 x i8] c"err\00" +@fld.str.609 = private constant [7 x i8] c"nbytes\00" +@field_names.610 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 2 }, { ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 8 }, { ptr, i64 } { ptr @fld.str.606, i64 8 }, { ptr, i64 } { ptr @fld.str.607, i64 3 }, { ptr, i64 } { ptr @fld.str.608, i64 3 }, { ptr, i64 } { ptr @fld.str.609, i64 6 }] +@str.611 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.612 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.614 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.615 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.616 = private constant [3 x i8] c"kq\00" +@field_names.617 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 2 }] +@str.618 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.619 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.620 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.621 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.622 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.623 = private constant [5 x i8] c"port\00" +@fld.str.624 = private constant [8 x i8] c"backlog\00" +@fld.str.625 = private constant [9 x i8] c"max_conn\00" +@fld.str.626 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.627 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.628 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.629 = private constant [14 x i8] c"request_count\00" +@field_names.630 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.623, i64 4 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }, { ptr, i64 } { ptr @fld.str.625, i64 8 }, { ptr, i64 } { ptr @fld.str.626, i64 12 }, { ptr, i64 } { ptr @fld.str.627, i64 18 }, { ptr, i64 } { ptr @fld.str.628, i64 20 }, { ptr, i64 } { ptr @fld.str.629, i64 13 }] +@str.631 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.632 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.633 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.636 = private constant [7 x i8] c"method\00" +@fld.str.637 = private constant [5 x i8] c"path\00" +@fld.str.638 = private constant [8 x i8] c"version\00" +@fld.str.639 = private constant [12 x i8] c"headers_raw\00" +@fld.str.640 = private constant [5 x i8] c"body\00" +@fld.str.641 = private constant [11 x i8] c"keep_alive\00" +@field_names.642 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.636, i64 6 }, { ptr, i64 } { ptr @fld.str.637, i64 4 }, { ptr, i64 } { ptr @fld.str.638, i64 7 }, { ptr, i64 } { ptr @fld.str.639, i64 11 }, { ptr, i64 } { ptr @fld.str.640, i64 4 }, { ptr, i64 } { ptr @fld.str.641, i64 10 }] +@str.643 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.644 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.645 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.646 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.648 = private constant [7 x i8] c"status\00" +@fld.str.649 = private constant [13 x i8] c"content_type\00" +@fld.str.650 = private constant [14 x i8] c"extra_headers\00" +@fld.str.651 = private constant [5 x i8] c"body\00" +@field_names.652 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.648, i64 6 }, { ptr, i64 } { ptr @fld.str.649, i64 12 }, { ptr, i64 } { ptr @fld.str.650, i64 13 }, { ptr, i64 } { ptr @fld.str.651, i64 4 }] +@str.653 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.654 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.655 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.656 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.657 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.658 = private constant [3 x i8] c"fd\00" +@fld.str.659 = private constant [6 x i8] c"state\00" +@fld.str.660 = private constant [9 x i8] c"read_buf\00" +@fld.str.661 = private constant [9 x i8] c"read_len\00" +@fld.str.662 = private constant [8 x i8] c"out_buf\00" +@fld.str.663 = private constant [8 x i8] c"out_len\00" +@fld.str.664 = private constant [9 x i8] c"out_sent\00" +@fld.str.665 = private constant [9 x i8] c"deadline\00" +@fld.str.666 = private constant [7 x i8] c"served\00" +@fld.str.667 = private constant [12 x i8] c"close_after\00" +@fld.str.668 = private constant [12 x i8] c"write_armed\00" +@field_names.669 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.658, i64 2 }, { ptr, i64 } { ptr @fld.str.659, i64 5 }, { ptr, i64 } { ptr @fld.str.660, i64 8 }, { ptr, i64 } { ptr @fld.str.661, i64 8 }, { ptr, i64 } { ptr @fld.str.662, i64 7 }, { ptr, i64 } { ptr @fld.str.663, i64 7 }, { ptr, i64 } { ptr @fld.str.664, i64 8 }, { ptr, i64 } { ptr @fld.str.665, i64 8 }, { ptr, i64 } { ptr @fld.str.666, i64 6 }, { ptr, i64 } { ptr @fld.str.667, i64 11 }, { ptr, i64 } { ptr @fld.str.668, i64 11 }] +@str.670 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.671 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.672 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.673 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.674 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.675 = private constant [4 x i8] c"cfg\00" +@fld.str.676 = private constant [5 x i8] c"loop\00" +@fld.str.677 = private constant [4 x i8] c"lfd\00" +@fld.str.678 = private constant [6 x i8] c"conns\00" +@fld.str.679 = private constant [10 x i8] c"own_alloc\00" +@fld.str.680 = private constant [8 x i8] c"handler\00" +@field_names.681 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.675, i64 3 }, { ptr, i64 } { ptr @fld.str.676, i64 4 }, { ptr, i64 } { ptr @fld.str.677, i64 3 }, { ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 9 }, { ptr, i64 } { ptr @fld.str.680, i64 7 }] +@str.682 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.683 = private unnamed_addr constant [8 x i8] c"IntCell\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.685 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.686 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.687 = private constant [2 x i8] c"v\00" +@field_names.688 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.687, i64 1 }] +@str.689 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.690 = private unnamed_addr constant [8 x i8] c"StrCell\00", align 1 +@str.691 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.692 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.693 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.694 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.695 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.696 = private unnamed_addr constant [3 x i8] c", \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 -@str.700 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.701 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.702 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.703 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.704 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.705 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.706 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.707 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.694 = private constant [2 x i8] c"s\00" +@field_names.695 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.694, i64 1 }] +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [8 x i8] c"VL__i64\00", align 1 +@str.698 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.699 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.700 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.701 = private constant [4 x i8] c"ctx\00" +@fld.str.702 = private constant [9 x i8] c"__vtable\00" +@field_names.703 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.701, i64 3 }, { ptr, i64 } { ptr @fld.str.702, i64 8 }] +@str.704 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.705 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.708 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.710 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.711 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.712 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.713 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.714 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.715 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.716 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.717 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.720 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.709 = private constant [4 x i8] c"get\00" +@field_names.710 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.709, i64 3 }] +@str.711 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.712 = private unnamed_addr constant [11 x i8] c"VL__string\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.716 = private constant [4 x i8] c"ctx\00" +@fld.str.717 = private constant [9 x i8] c"__vtable\00" +@field_names.718 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.716, i64 3 }, { ptr, i64 } { ptr @fld.str.717, i64 8 }] +@str.719 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.720 = private unnamed_addr constant [21 x i8] c"__VL__string__Vtable\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.724 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.725 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.726 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.727 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.728 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.729 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.732 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.733 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.734 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.735 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.736 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.738 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.740 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.741 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.743 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.744 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.785 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.791 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.794 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.797 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.800 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.803 = private unnamed_addr constant [9 x i8] c"*IntCell\00", align 1 -@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.806 = private unnamed_addr constant [9 x i8] c"*StrCell\00", align 1 -@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.724 = private constant [4 x i8] c"get\00" +@field_names.725 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.724, i64 3 }] +@str.726 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.727 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.728 = private constant [5 x i8] c"read\00" +@fld.str.729 = private constant [6 x i8] c"write\00" +@fld.str.730 = private constant [7 x i8] c"append\00" +@fld.str.731 = private constant [11 x i8] c"read_write\00" +@field_names.732 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.728, i64 4 }, { ptr, i64 } { ptr @fld.str.729, i64 5 }, { ptr, i64 } { ptr @fld.str.730, i64 6 }, { ptr, i64 } { ptr @fld.str.731, i64 10 }] +@str.733 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.736 = private constant [4 x i8] c"set\00" +@fld.str.737 = private constant [8 x i8] c"current\00" +@fld.str.738 = private constant [4 x i8] c"end\00" +@field_names.739 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.736, i64 3 }, { ptr, i64 } { ptr @fld.str.737, i64 7 }, { ptr, i64 } { ptr @fld.str.738, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.743 = private constant [6 x i8] c"null_\00" +@fld.str.744 = private constant [6 x i8] c"bool_\00" +@fld.str.745 = private constant [5 x i8] c"int_\00" +@fld.str.746 = private constant [4 x i8] c"str\00" +@fld.str.747 = private constant [6 x i8] c"array\00" +@fld.str.748 = private constant [7 x i8] c"object\00" +@field_names.749 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.743, i64 5 }, { ptr, i64 } { ptr @fld.str.744, i64 5 }, { ptr, i64 } { ptr @fld.str.745, i64 4 }, { ptr, i64 } { ptr @fld.str.746, i64 3 }, { ptr, i64 } { ptr @fld.str.747, i64 5 }, { ptr, i64 } { ptr @fld.str.748, i64 6 }] +@str.750 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.753 = private constant [6 x i8] c"macos\00" +@fld.str.754 = private constant [6 x i8] c"linux\00" +@fld.str.755 = private constant [8 x i8] c"windows\00" +@fld.str.756 = private constant [5 x i8] c"wasm\00" +@fld.str.757 = private constant [4 x i8] c"ios\00" +@fld.str.758 = private constant [8 x i8] c"android\00" +@fld.str.759 = private constant [8 x i8] c"unknown\00" +@field_names.760 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.753, i64 5 }, { ptr, i64 } { ptr @fld.str.754, i64 5 }, { ptr, i64 } { ptr @fld.str.755, i64 7 }, { ptr, i64 } { ptr @fld.str.756, i64 4 }, { ptr, i64 } { ptr @fld.str.757, i64 3 }, { ptr, i64 } { ptr @fld.str.758, i64 7 }, { ptr, i64 } { ptr @fld.str.759, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.764 = private constant [8 x i8] c"aarch64\00" +@fld.str.765 = private constant [7 x i8] c"x86_64\00" +@fld.str.766 = private constant [7 x i8] c"wasm32\00" +@fld.str.767 = private constant [7 x i8] c"wasm64\00" +@fld.str.768 = private constant [8 x i8] c"unknown\00" +@field_names.769 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.764, i64 7 }, { ptr, i64 } { ptr @fld.str.765, i64 6 }, { ptr, i64 } { ptr @fld.str.766, i64 6 }, { ptr, i64 } { ptr @fld.str.767, i64 6 }, { ptr, i64 } { ptr @fld.str.768, i64 7 }] +@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 [2 x i8] c"[\00", align 1 +@str.773 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.774 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.775 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.776 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.777 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.778 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.779 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.780 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.781 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.782 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.783 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.784 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.785 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.786 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.788 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.789 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.792 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.794 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.795 = private unnamed_addr constant [3 x i8] c", \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 +@str.799 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.800 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.801 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.803 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.804 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.806 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.807 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.809 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.809 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.812 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.812 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.815 = private unnamed_addr constant [9 x i8] c"*VL__i64\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.818 = private unnamed_addr constant [10 x i8] c"**IntCell\00", align 1 +@str.818 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.821 = private unnamed_addr constant [19 x i8] c"*__VL__i64__Vtable\00", align 1 +@str.821 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.824 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.824 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.827 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.827 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.830 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.830 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.833 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.833 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.836 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.839 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.839 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.842 = private unnamed_addr constant [12 x i8] c"*VL__string\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.845 = private unnamed_addr constant [10 x i8] c"**StrCell\00", align 1 +@str.845 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.848 = private unnamed_addr constant [22 x i8] c"*__VL__string__Vtable\00", align 1 +@str.848 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 @str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.851 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.854 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.857 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.876 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.879 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.881 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.882 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.884 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.885 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.886 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.887 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.888 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.889 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.890 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.891 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.892 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.893 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.894 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.895 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.896 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.897 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.898 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.899 = private unnamed_addr constant [9 x i8] c"*IntCell\00", align 1 +@str.900 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.901 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.902 = private unnamed_addr constant [9 x i8] c"*StrCell\00", align 1 +@str.903 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.904 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.905 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.906 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.907 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.908 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.909 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.910 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.911 = private unnamed_addr constant [9 x i8] c"*VL__i64\00", align 1 +@str.912 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.913 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.914 = private unnamed_addr constant [10 x i8] c"**IntCell\00", align 1 +@str.915 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.917 = private unnamed_addr constant [19 x i8] c"*__VL__i64__Vtable\00", align 1 +@str.918 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.919 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.920 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.921 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.922 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.923 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.924 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.925 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.926 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.927 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.928 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.929 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.930 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.931 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.932 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.933 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.934 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.935 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.936 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.938 = private unnamed_addr constant [12 x i8] c"*VL__string\00", align 1 +@str.939 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.940 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.941 = private unnamed_addr constant [10 x i8] c"**StrCell\00", align 1 +@str.942 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.943 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.944 = private unnamed_addr constant [22 x i8] c"*__VL__string__Vtable\00", align 1 +@str.945 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.946 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.947 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.948 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.949 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.950 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1225,38 +1321,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.454 + br label %while.hdr.488 -while.hdr.454: ; preds = %if.merge.459, %entry +while.hdr.488: ; preds = %if.merge.493, %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.455, label %while.exit.456 + br i1 %icmp, label %while.body.489, label %while.exit.490 -while.body.455: ; preds = %while.hdr.454 +while.body.489: ; preds = %while.hdr.488 %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.457, label %if.else.458 + br i1 %icmpN, label %if.then.491, label %if.else.492 -while.exit.456: ; preds = %while.hdr.454 +while.exit.490: ; preds = %while.hdr.488 ret void -if.then.457: ; preds = %while.body.455 +if.then.491: ; preds = %while.body.489 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.459 + br label %if.merge.493 -if.else.458: ; preds = %while.body.455 +if.else.492: ; preds = %while.body.489 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.459 + br label %if.merge.493 -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi i64 [ %addN, %if.then.457 ], [ %addN, %if.else.458 ] +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi i64 [ %addN, %if.then.491 ], [ %addN, %if.else.492 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1269,7 +1365,7 @@ if.merge.459: ; preds = %if.else.458, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.454 + br label %while.hdr.488 } ; Function Attrs: nounwind @@ -1382,12 +1478,12 @@ entry: 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.452, label %if.merge.453 + br i1 %icmp, label %if.then.486, label %if.merge.487 -if.then.452: ; preds = %entry +if.then.486: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.453: ; preds = %entry +if.merge.487: ; 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 @@ -1410,14 +1506,14 @@ if.merge.453: ; preds = %entry %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.460 + br label %while.hdr.494 -while.hdr.460: ; preds = %if.merge.464, %if.merge.453 +while.hdr.494: ; preds = %if.merge.498, %if.merge.487 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.461, label %while.exit.462 + br i1 %icmpN, label %while.body.495, label %while.exit.496 -while.body.461: ; preds = %while.hdr.460 +while.body.495: ; preds = %while.hdr.494 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1425,9 +1521,9 @@ while.body.461: ; preds = %while.hdr.460 %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.463, label %if.merge.464 + br i1 %icmpN, label %if.then.497, label %if.merge.498 -while.exit.462: ; preds = %if.then.463, %while.hdr.460 +while.exit.496: ; preds = %if.then.497, %while.hdr.494 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1435,14 +1531,14 @@ while.exit.462: ; preds = %if.then.463, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.463: ; preds = %while.body.461 - br label %while.exit.462 +if.then.497: ; preds = %while.body.495 + br label %while.exit.496 -if.merge.464: ; preds = %while.body.461 +if.merge.498: ; preds = %while.body.495 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.460 + br label %while.hdr.494 } ; Function Attrs: nounwind @@ -1590,12 +1686,17 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 - i64 110, label %match.arm.43 i64 111, label %match.arm.43 - i64 116, label %match.arm.43 - i64 117, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 122, label %match.arm.43 + i64 123, label %match.arm.43 + i64 128, label %match.arm.43 i64 129, label %match.arm.43 - i64 130, label %match.arm.43 + i64 141, label %match.arm.43 + i64 142, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1606,18 +1707,19 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 124, label %match.arm.47 + i64 136, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 122, label %match.arm.48 + i64 134, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1644,22 +1746,26 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 112, label %match.arm.49 - i64 113, label %match.arm.49 i64 114, label %match.arm.49 - i64 115, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 116, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 - i64 123, label %match.arm.49 + i64 124, label %match.arm.49 i64 125, label %match.arm.49 i64 126, label %match.arm.49 i64 127, label %match.arm.49 - i64 128, label %match.arm.49 + i64 130, label %match.arm.49 i64 131, label %match.arm.49 i64 132, label %match.arm.49 i64 133, label %match.arm.49 + i64 135, label %match.arm.49 + i64 137, label %match.arm.49 + i64 138, label %match.arm.49 + i64 139, label %match.arm.49 + i64 140, label %match.arm.49 + i64 143, label %match.arm.49 + i64 144, label %match.arm.49 + i64 145, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1668,7 +1774,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.588, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.329, %dispatch.merge.312, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.634, %dispatch.merge.435, %dispatch.merge.397, %dispatch.merge.359, %dispatch.merge.342, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1682,7 +1788,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [204 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [222 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1710,7 +1816,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1745,34 +1851,39 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 - i64 110, label %dispatch.case.126 - i64 111, label %dispatch.case.127 - i64 116, label %dispatch.case.128 - i64 117, label %dispatch.case.129 - i64 129, label %dispatch.case.130 - i64 130, label %dispatch.case.131 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 122, label %dispatch.case.131 + i64 123, label %dispatch.case.132 + i64 128, label %dispatch.case.133 + i64 129, label %dispatch.case.134 + i64 141, label %dispatch.case.135 + i64 142, label %dispatch.case.136 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.313 [ - i64 38, label %dispatch.case.314 - i64 39, label %dispatch.case.315 - i64 58, label %dispatch.case.316 - i64 74, label %dispatch.case.317 - i64 75, label %dispatch.case.318 + switch i64 %ua.raw20, label %dispatch.default.343 [ + i64 38, label %dispatch.case.344 + i64 39, label %dispatch.case.345 + i64 58, label %dispatch.case.346 + i64 74, label %dispatch.case.347 + i64 75, label %dispatch.case.348 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1784,87 +1895,91 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.330 [ - i64 23, label %dispatch.case.331 - i64 85, label %dispatch.case.332 - i64 91, label %dispatch.case.333 - i64 92, label %dispatch.case.334 - i64 96, label %dispatch.case.335 - i64 124, label %dispatch.case.336 + switch i64 %ua.raw29, label %dispatch.default.360 [ + i64 23, label %dispatch.case.361 + i64 85, label %dispatch.case.362 + i64 91, label %dispatch.case.363 + i64 92, label %dispatch.case.364 + i64 96, label %dispatch.case.365 + i64 136, label %dispatch.case.366 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.368 [ - i64 24, label %dispatch.case.369 - i64 64, label %dispatch.case.370 - i64 81, label %dispatch.case.371 - i64 89, label %dispatch.case.372 - i64 109, label %dispatch.case.373 - i64 122, label %dispatch.case.374 + switch i64 %ua.raw33, label %dispatch.default.398 [ + i64 24, label %dispatch.case.399 + i64 64, label %dispatch.case.400 + i64 81, label %dispatch.case.401 + i64 89, label %dispatch.case.402 + i64 109, label %dispatch.case.403 + i64 134, label %dispatch.case.404 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.406 [ - i64 19, label %dispatch.case.407 - i64 26, label %dispatch.case.408 - i64 28, label %dispatch.case.409 - i64 30, label %dispatch.case.410 - i64 32, label %dispatch.case.411 - i64 33, label %dispatch.case.412 - i64 35, label %dispatch.case.413 - i64 37, label %dispatch.case.414 - i64 41, label %dispatch.case.415 - i64 48, label %dispatch.case.416 - i64 50, label %dispatch.case.417 - i64 51, label %dispatch.case.418 - i64 60, label %dispatch.case.419 - i64 61, label %dispatch.case.420 - i64 62, label %dispatch.case.421 - i64 63, label %dispatch.case.422 - i64 66, label %dispatch.case.423 - i64 71, label %dispatch.case.424 - i64 78, label %dispatch.case.425 - i64 87, label %dispatch.case.426 - i64 90, label %dispatch.case.427 - i64 94, label %dispatch.case.428 - i64 98, label %dispatch.case.429 - i64 101, label %dispatch.case.430 - i64 102, label %dispatch.case.431 - i64 107, label %dispatch.case.432 - i64 112, label %dispatch.case.433 - i64 113, label %dispatch.case.434 - i64 114, label %dispatch.case.435 - i64 115, label %dispatch.case.436 - i64 118, label %dispatch.case.437 - i64 119, label %dispatch.case.438 - i64 120, label %dispatch.case.439 - i64 121, label %dispatch.case.440 - i64 123, label %dispatch.case.441 - i64 125, label %dispatch.case.442 - i64 126, label %dispatch.case.443 - i64 127, label %dispatch.case.444 - i64 128, label %dispatch.case.445 - i64 131, label %dispatch.case.446 - i64 132, label %dispatch.case.447 - i64 133, label %dispatch.case.448 + switch i64 %ua.raw37, label %dispatch.default.436 [ + i64 19, label %dispatch.case.437 + i64 26, label %dispatch.case.438 + i64 28, label %dispatch.case.439 + i64 30, label %dispatch.case.440 + i64 32, label %dispatch.case.441 + i64 33, label %dispatch.case.442 + i64 35, label %dispatch.case.443 + i64 37, label %dispatch.case.444 + i64 41, label %dispatch.case.445 + i64 48, label %dispatch.case.446 + i64 50, label %dispatch.case.447 + i64 51, label %dispatch.case.448 + i64 60, label %dispatch.case.449 + i64 61, label %dispatch.case.450 + i64 62, label %dispatch.case.451 + i64 63, label %dispatch.case.452 + i64 66, label %dispatch.case.453 + i64 71, label %dispatch.case.454 + i64 78, label %dispatch.case.455 + i64 87, label %dispatch.case.456 + i64 90, label %dispatch.case.457 + i64 94, label %dispatch.case.458 + i64 98, label %dispatch.case.459 + i64 101, label %dispatch.case.460 + i64 102, label %dispatch.case.461 + i64 107, label %dispatch.case.462 + i64 114, label %dispatch.case.463 + i64 116, label %dispatch.case.464 + i64 117, label %dispatch.case.465 + i64 121, label %dispatch.case.466 + i64 124, label %dispatch.case.467 + i64 125, label %dispatch.case.468 + i64 126, label %dispatch.case.469 + i64 127, label %dispatch.case.470 + i64 130, label %dispatch.case.471 + i64 131, label %dispatch.case.472 + i64 132, label %dispatch.case.473 + i64 133, label %dispatch.case.474 + i64 135, label %dispatch.case.475 + i64 137, label %dispatch.case.476 + i64 138, label %dispatch.case.477 + i64 139, label %dispatch.case.478 + i64 140, label %dispatch.case.479 + i64 143, label %dispatch.case.480 + i64 144, label %dispatch.case.481 + i64 145, label %dispatch.case.482 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.589 [ - i64 42, label %dispatch.case.590 - i64 43, label %dispatch.case.591 - i64 45, label %dispatch.case.592 - i64 47, label %dispatch.case.593 - i64 95, label %dispatch.case.594 + switch i64 %ua.raw41, label %dispatch.default.635 [ + i64 42, label %dispatch.case.636 + i64 43, label %dispatch.case.637 + i64 45, label %dispatch.case.638 + i64 47, label %dispatch.case.639 + i64 95, label %dispatch.case.640 ] match.arm.51: ; preds = %entry @@ -1873,7 +1988,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [204 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [222 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1918,13 +2033,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.305, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.325, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2170,556 +2285,624 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { i64 }, ptr %ua.ptr181, align 8 - %callN = call { ptr, i64 } @struct_to_string__IntCell(ptr %0, { i64 } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { { ptr, i64 } }, ptr %ua.ptr185, align 8 - %callN = call { ptr, i64 } @struct_to_string__StrCell(ptr %0, { { ptr, i64 } } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { ptr, ptr }, ptr %ua.ptr189, align 8 - %callN = call { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { ptr }, ptr %ua.ptr193, align 8 - %callN = call { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr } %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.130: ; preds = %match.arm.43 %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr - %ua.load198 = load { ptr, ptr }, ptr %ua.ptr197, align 8 - %callN = call { ptr, i64 } @struct_to_string__VL__string(ptr %0, { ptr, ptr } %ua.load198) + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.131: ; preds = %match.arm.43 %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr - %ua.load202 = load { ptr }, ptr %ua.ptr201, align 8 - %callN = call { ptr, i64 } @struct_to_string____VL__string__Vtable(ptr %0, { ptr } %ua.load202) + %ua.load202 = load { i64 }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__IntCell(ptr %0, { i64 } %ua.load202) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.312: ; preds = %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.default.313 +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { { ptr, i64 } }, ptr %ua.ptr205, align 8 + %callN = call { ptr, i64 } @struct_to_string__StrCell(ptr %0, { { ptr, i64 } } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { ptr, ptr }, ptr %ua.ptr209, align 8 + %callN = call { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.134: ; preds = %match.arm.43 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load { ptr }, ptr %ua.ptr213, align 8 + %callN = call { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr } %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.135: ; preds = %match.arm.43 + %ua.raw216 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr217 = inttoptr i64 %ua.raw216 to ptr + %ua.load218 = load { ptr, ptr }, ptr %ua.ptr217, align 8 + %callN = call { ptr, i64 } @struct_to_string__VL__string(ptr %0, { ptr, ptr } %ua.load218) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.136: ; preds = %match.arm.43 + %ua.raw220 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr221 = inttoptr i64 %ua.raw220 to ptr + %ua.load222 = load { ptr }, ptr %ua.ptr221, align 8 + %callN = call { ptr, i64 } @struct_to_string____VL__string__Vtable(ptr %0, { ptr } %ua.load222) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.342: ; preds = %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.default.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.313: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.312 +dispatch.default.343: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.326, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.342 -dispatch.case.314: ; preds = %match.arm.44 - %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw205) +dispatch.case.344: ; preds = %match.arm.44 + %ua.raw225 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw225) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.315: ; preds = %match.arm.44 - %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw207) +dispatch.case.345: ; preds = %match.arm.44 + %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw227) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.316: ; preds = %match.arm.44 - %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr210 = inttoptr i64 %ua.raw209 to ptr - %ua.load211 = load { i64, [24 x i8] }, ptr %ua.ptr210, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load211) +dispatch.case.346: ; preds = %match.arm.44 + %ua.raw229 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr230 = inttoptr i64 %ua.raw229 to ptr + %ua.load231 = load { i64, [24 x i8] }, ptr %ua.ptr230, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load231) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.317: ; preds = %match.arm.44 - %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw213) +dispatch.case.347: ; preds = %match.arm.44 + %ua.raw233 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw233) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.318: ; preds = %match.arm.44 - %ua.raw215 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw215) +dispatch.case.348: ; preds = %match.arm.44 + %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw235) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.merge.329: ; preds = %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.default.330 +dispatch.merge.359: ; preds = %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.case.362, %dispatch.case.361, %dispatch.default.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.330: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.329 +dispatch.default.360: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.327, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.359 -dispatch.case.331: ; preds = %match.arm.47 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [4 x i64], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.332: ; preds = %match.arm.47 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.333: ; preds = %match.arm.47 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [8 x i64], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.334: ; preds = %match.arm.47 - %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [64 x i8], ptr %ua.ptr231, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load232) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.335: ; preds = %match.arm.47 - %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr - %ua.load236 = load [64 x i64], ptr %ua.ptr235, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load236) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.336: ; preds = %match.arm.47 +dispatch.case.361: ; preds = %match.arm.47 %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr - %ua.load240 = load [1 x { i64, i64 }], ptr %ua.ptr239, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load240) + %ua.load240 = load [4 x i64], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load240) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 + br label %dispatch.merge.359 -dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 +dispatch.case.362: ; preds = %match.arm.47 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.363: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [8 x i64], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.364: ; preds = %match.arm.47 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [64 x i8], ptr %ua.ptr251, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.365: ; preds = %match.arm.47 + %ua.raw254 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr255 = inttoptr i64 %ua.raw254 to ptr + %ua.load256 = load [64 x i64], ptr %ua.ptr255, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load256) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.366: ; preds = %match.arm.47 + %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr259 = inttoptr i64 %ua.raw258 to ptr + %ua.load260 = load [1 x { i64, i64 }], ptr %ua.ptr259, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load260) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.merge.397: ; preds = %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.default.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.368: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.367 +dispatch.default.398: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.328, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.397 -dispatch.case.369: ; preds = %match.arm.48 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.370: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.371: ; preds = %match.arm.48 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.372: ; preds = %match.arm.48 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr - %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.373: ; preds = %match.arm.48 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr - %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load261) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.374: ; preds = %match.arm.48 +dispatch.case.399: ; preds = %match.arm.48 %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load265) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 + br label %dispatch.merge.397 -dispatch.merge.405: ; preds = %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 +dispatch.case.400: ; preds = %match.arm.48 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.401: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.402: ; preds = %match.arm.48 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.403: ; preds = %match.arm.48 + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr + %ua.load281 = load { ptr, i64 }, ptr %ua.ptr280, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load281) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.404: ; preds = %match.arm.48 + %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr284 = inttoptr i64 %ua.raw283 to ptr + %ua.load285 = load { ptr, i64 }, ptr %ua.ptr284, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.merge.435: ; preds = %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.default.436 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.406: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.407: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.408: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.409: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.419: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.420: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.421: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.422: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.423: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.424: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.425: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.426: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.427: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.428: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.429: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.430: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.431: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.432: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.433: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %iNp346) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.434: ; preds = %match.arm.49 - %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 - %iNp349 = inttoptr i64 %ua.raw348 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_StrCell(ptr %0, ptr %iNp349) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.435: ; preds = %match.arm.49 - %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 - %iNp352 = inttoptr i64 %ua.raw351 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp352) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.436: ; preds = %match.arm.49 - %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 - %iNp355 = inttoptr i64 %ua.raw354 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp355) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 +dispatch.default.436: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.329, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.435 dispatch.case.437: ; preds = %match.arm.49 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %iNp358) + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.438: ; preds = %match.arm.49 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %iNp361 = inttoptr i64 %ua.raw360 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %iNp361) + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp291) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.439: ; preds = %match.arm.49 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %iNp364 = inttoptr i64 %ua.raw363 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %iNp364) + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp294) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.440: ; preds = %match.arm.49 - %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 - %iNp367 = inttoptr i64 %ua.raw366 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp367) + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp297) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.441: ; preds = %match.arm.49 - %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 - %iNp370 = inttoptr i64 %ua.raw369 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp370) + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp300) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.442: ; preds = %match.arm.49 - %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 - %iNp373 = inttoptr i64 %ua.raw372 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp373) + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp303) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.443: ; preds = %match.arm.49 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %iNp376 = inttoptr i64 %ua.raw375 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp376) + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp306) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.444: ; preds = %match.arm.49 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %iNp379 = inttoptr i64 %ua.raw378 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp379) + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp309) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.445: ; preds = %match.arm.49 - %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 - %iNp382 = inttoptr i64 %ua.raw381 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp382) + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp312) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.446: ; preds = %match.arm.49 - %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 - %iNp385 = inttoptr i64 %ua.raw384 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__string(ptr %0, ptr %iNp385) + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp315) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.447: ; preds = %match.arm.49 - %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 - %iNp388 = inttoptr i64 %ua.raw387 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_StrCell(ptr %0, ptr %iNp388) + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp318) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.448: ; preds = %match.arm.49 - %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 - %iNp391 = inttoptr i64 %ua.raw390 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__string__Vtable(ptr %0, ptr %iNp391) + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp321) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 -dispatch.merge.588: ; preds = %dispatch.case.594, %dispatch.case.593, %dispatch.case.592, %dispatch.case.591, %dispatch.case.590, %dispatch.default.589 +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.460: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.461: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.462: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.463: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.464: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.465: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.466: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.467: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.468: ; preds = %match.arm.49 + %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 + %iNp381 = inttoptr i64 %ua.raw380 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_StrCell(ptr %0, ptr %iNp381) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.469: ; preds = %match.arm.49 + %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 + %iNp384 = inttoptr i64 %ua.raw383 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp384) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.470: ; preds = %match.arm.49 + %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp387) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.471: ; preds = %match.arm.49 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %iNp390) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.472: ; preds = %match.arm.49 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %iNp393 = inttoptr i64 %ua.raw392 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %iNp393) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.473: ; preds = %match.arm.49 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %iNp396 = inttoptr i64 %ua.raw395 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %iNp396) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.474: ; preds = %match.arm.49 + %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 + %iNp399 = inttoptr i64 %ua.raw398 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp399) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.475: ; preds = %match.arm.49 + %ua.raw401 = extractvalue { i64, i64 } %loadN, 1 + %iNp402 = inttoptr i64 %ua.raw401 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp402) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.476: ; preds = %match.arm.49 + %ua.raw404 = extractvalue { i64, i64 } %loadN, 1 + %iNp405 = inttoptr i64 %ua.raw404 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp405) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.477: ; preds = %match.arm.49 + %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 + %iNp408 = inttoptr i64 %ua.raw407 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp408) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.478: ; preds = %match.arm.49 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %iNp411 = inttoptr i64 %ua.raw410 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp411) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw413 = extractvalue { i64, i64 } %loadN, 1 + %iNp414 = inttoptr i64 %ua.raw413 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp414) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.480: ; preds = %match.arm.49 + %ua.raw416 = extractvalue { i64, i64 } %loadN, 1 + %iNp417 = inttoptr i64 %ua.raw416 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__string(ptr %0, ptr %iNp417) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.481: ; preds = %match.arm.49 + %ua.raw419 = extractvalue { i64, i64 } %loadN, 1 + %iNp420 = inttoptr i64 %ua.raw419 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_StrCell(ptr %0, ptr %iNp420) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.482: ; preds = %match.arm.49 + %ua.raw422 = extractvalue { i64, i64 } %loadN, 1 + %iNp423 = inttoptr i64 %ua.raw422 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__string__Vtable(ptr %0, ptr %iNp423) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.merge.634: ; preds = %dispatch.case.640, %dispatch.case.639, %dispatch.case.638, %dispatch.case.637, %dispatch.case.636, %dispatch.default.635 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.589: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.588 +dispatch.default.635: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.330, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.634 -dispatch.case.590: ; preds = %match.arm.50 - %ua.raw394 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr395 = inttoptr i64 %ua.raw394 to ptr - %ua.load396 = load { { i32 }, i1 }, ptr %ua.ptr395, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load396) +dispatch.case.636: ; preds = %match.arm.50 + %ua.raw426 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr427 = inttoptr i64 %ua.raw426 to ptr + %ua.load428 = load { { i32 }, i1 }, ptr %ua.ptr427, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load428) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.588 + br label %dispatch.merge.634 -dispatch.case.591: ; preds = %match.arm.50 - %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr399 = inttoptr i64 %ua.raw398 to ptr - %ua.load400 = load { { ptr, i64 }, i1 }, ptr %ua.ptr399, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load400) +dispatch.case.637: ; preds = %match.arm.50 + %ua.raw430 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr431 = inttoptr i64 %ua.raw430 to ptr + %ua.load432 = load { { ptr, i64 }, i1 }, ptr %ua.ptr431, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load432) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.588 + br label %dispatch.merge.634 -dispatch.case.592: ; preds = %match.arm.50 - %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 - %iNp403 = inttoptr i64 %ua.raw402 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp403) +dispatch.case.638: ; preds = %match.arm.50 + %ua.raw434 = extractvalue { i64, i64 } %loadN, 1 + %iNp435 = inttoptr i64 %ua.raw434 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp435) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.588 + br label %dispatch.merge.634 -dispatch.case.593: ; preds = %match.arm.50 - %ua.raw405 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr406 = inttoptr i64 %ua.raw405 to ptr - %ua.load407 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr406, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load407) +dispatch.case.639: ; preds = %match.arm.50 + %ua.raw437 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr438 = inttoptr i64 %ua.raw437 to ptr + %ua.load439 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr438, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load439) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.588 + br label %dispatch.merge.634 -dispatch.case.594: ; preds = %match.arm.50 - %ua.raw409 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr410 = inttoptr i64 %ua.raw409 to ptr - %ua.load411 = load { [64 x i8], i1 }, ptr %ua.ptr410, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load411) +dispatch.case.640: ; preds = %match.arm.50 + %ua.raw441 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr442 = inttoptr i64 %ua.raw441 to ptr + %ua.load443 = load { [64 x i8], i1 }, ptr %ua.ptr442, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load443) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.588 + br label %dispatch.merge.634 } ; Function Attrs: nounwind @@ -2728,7 +2911,7 @@ 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.311, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.331, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2824,7 +3007,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.312, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, 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 @@ -2832,7 +3015,7 @@ if.then.12: ; preds = %if.then.9 %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.313, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.333, 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 @@ -2842,13 +3025,13 @@ if.then.12: ; preds = %if.then.9 %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.314, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, 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 @@ -2856,7 +3039,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.316, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2870,7 +3053,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, 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 @@ -2878,7 +3061,7 @@ if.then.23: ; preds = %if.else.10 %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.318, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, 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 @@ -2889,7 +3072,7 @@ if.then.23: ; preds = %if.else.10 %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.319, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2946,7 +3129,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, 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 @@ -2954,7 +3137,7 @@ if.then.32: ; preds = %if.then.29 %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.321, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, 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 @@ -2965,7 +3148,7 @@ if.then.32: ; preds = %if.then.29 %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.322, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2985,7 +3168,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, 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 @@ -2993,7 +3176,7 @@ if.then.35: ; preds = %while.exit.2 %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.324, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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 @@ -3004,7 +3187,7 @@ if.then.35: ; preds = %while.exit.2 %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.325, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3837,6 +4020,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i64 @IntCell.get(ptr %0, ptr %1) #0 { entry: @@ -3883,7 +4114,7 @@ entry: call void @print__ct_seb9f5db11fd9fc4e__pack_i64(ptr @__sx_default_context, i64 %icallN) %allocaN = alloca { ptr, ptr }, align 8 %allocaN = alloca { { ptr, i64 } }, align 8 - store { { ptr, i64 } } { { ptr, i64 } { ptr @str.326, i64 2 } }, ptr %allocaN, align 8 + store { { ptr, i64 } } { { ptr, i64 } { ptr @str.346, i64 2 } }, ptr %allocaN, align 8 %loadN = load { { ptr, ptr, ptr }, ptr }, ptr @__sx_default_context, align 8 %sgN = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 0 %sgN = extractvalue { ptr, ptr, ptr } %sgN, 0 @@ -3928,7 +4159,7 @@ entry: define internal void @print__ct_seb9f5db11fd9fc4e__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.327, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.347, i64 9 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3943,7 +4174,7 @@ entry: %gepN = getelementptr inbounds { 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.328, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.348, 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 6) @@ -3970,7 +4201,7 @@ entry: ; 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.329, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.349, i64 9 }) ret { ptr, i64 } %call } @@ -3985,7 +4216,7 @@ entry: define internal void @print__ct_sfd7f12a0a81d0d1c__pack_string(ptr %0, { ptr, i64 } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.330, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.350, i64 9 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4003,7 +4234,7 @@ entry: %gepN = getelementptr inbounds { 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.331, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.351, 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 6) @@ -4033,7 +4264,7 @@ entry: ; 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.332, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.352, i64 9 }) ret { ptr, i64 } %call } @@ -4044,35 +4275,35 @@ entry: %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.333, i64 15 }, { ptr, i64 } { ptr @str.334, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.353, i64 15 }, { ptr, i64 } { ptr @str.354, 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.132 + br label %while.hdr.137 -while.hdr.132: ; preds = %fv.merge, %entry +while.hdr.137: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.133, label %while.exit.134 + br i1 %icmp, label %while.body.138, label %while.exit.139 -while.body.133: ; preds = %while.hdr.132 +while.body.138: ; preds = %while.hdr.137 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.135, label %if.merge.136 + br i1 %icmpN, label %if.then.140, label %if.merge.141 -while.exit.134: ; preds = %while.hdr.132 +while.exit.139: ; preds = %while.hdr.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, i64 1 }) ret { ptr, i64 } %callN -if.then.135: ; preds = %while.body.133 +if.then.140: ; preds = %while.body.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.136 + br label %if.merge.141 -if.merge.136: ; preds = %if.then.135, %while.body.133 +if.merge.141: ; preds = %if.then.140, %while.body.138 %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 @@ -4080,7 +4311,7 @@ if.merge.136: ; preds = %if.then.135, %while %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.340, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, 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 @@ -4100,31 +4331,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.132 + br label %while.hdr.137 -fv.default: ; preds = %if.merge.136 +fv.default: ; preds = %if.merge.141 br label %fv.merge -fv.case: ; preds = %if.merge.136 +fv.case: ; preds = %if.merge.141 %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.136 +fv.case17: ; preds = %if.merge.141 %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.136 +fv.case20: ; preds = %if.merge.141 %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.136 +fv.case24: ; preds = %if.merge.141 %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 @@ -4137,43 +4368,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.341, i64 9 }, { ptr, i64 } { ptr @str.342, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.361, i64 9 }, { ptr, i64 } { ptr @str.362, 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.137 + br label %while.hdr.142 -while.hdr.137: ; preds = %fv.merge, %entry +while.hdr.142: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.138, label %while.exit.139 + br i1 %icmp, label %while.body.143, label %while.exit.144 -while.body.138: ; preds = %while.hdr.137 +while.body.143: ; preds = %while.hdr.142 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.140, label %if.merge.141 + br i1 %icmpN, label %if.then.145, label %if.merge.146 -while.exit.139: ; preds = %while.hdr.137 +while.exit.144: ; preds = %while.hdr.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, i64 1 }) ret { ptr, i64 } %callN -if.then.140: ; preds = %while.body.138 +if.then.145: ; preds = %while.body.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.141 + br label %if.merge.146 -if.merge.141: ; preds = %if.then.140, %while.body.138 +if.merge.146: ; preds = %if.then.145, %while.body.143 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, 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 @@ -4192,24 +4423,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.137 + br label %while.hdr.142 -fv.default: ; preds = %if.merge.141 +fv.default: ; preds = %if.merge.146 br label %fv.merge -fv.case: ; preds = %if.merge.141 +fv.case: ; preds = %if.merge.146 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.141 +fv.case17: ; preds = %if.merge.146 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.141 +fv.case21: ; preds = %if.merge.146 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4222,43 +4453,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.350, i64 7 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 7 }, { ptr, i64 } { ptr @str.371, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %fv.merge, %entry +while.hdr.147: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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.356, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.376, 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.357, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, 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 %alloca, align 8 @@ -4276,19 +4507,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 -fv.default: ; preds = %if.merge.146 +fv.default: ; preds = %if.merge.151 br label %fv.merge -fv.case: ; preds = %if.merge.146 +fv.case: ; preds = %if.merge.151 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.146 +fv.case17: ; preds = %if.merge.151 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4300,43 +4531,43 @@ 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.358, i64 10 }, { ptr, i64 } { ptr @str.359, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.378, i64 10 }, { ptr, i64 } { ptr @str.379, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %if.merge.151, %entry +while.hdr.152: ; preds = %if.merge.156, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.362, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.382, 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.363, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4347,7 +4578,7 @@ if.merge.151: ; preds = %if.then.150, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 } ; Function Attrs: nounwind @@ -4355,43 +4586,43 @@ 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.364, i64 3 }, { ptr, i64 } { ptr @str.365, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.384, i64 3 }, { ptr, i64 } { ptr @str.385, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %fv.merge, %entry +while.hdr.157: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.369, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.389, 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.370, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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 @@ -4408,12 +4639,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 -fv.default: ; preds = %if.merge.156 +fv.default: ; preds = %if.merge.161 br label %fv.merge -fv.case: ; preds = %if.merge.156 +fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4424,43 +4655,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.371, i64 10 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.391, i64 10 }, { ptr, i64 } { ptr @str.392, 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.157 + br label %while.hdr.162 -while.hdr.157: ; preds = %fv.merge, %entry +while.hdr.162: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.158, label %while.exit.159 + br i1 %icmp, label %while.body.163, label %while.exit.164 -while.body.158: ; preds = %while.hdr.157 +while.body.163: ; preds = %while.hdr.162 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 + br i1 %icmpN, label %if.then.165, label %if.merge.166 -while.exit.159: ; preds = %while.hdr.157 +while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 1 }) ret { ptr, i64 } %callN -if.then.160: ; preds = %while.body.158 +if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 + br label %if.merge.166 -if.merge.161: ; preds = %if.then.160, %while.body.158 +if.merge.166: ; preds = %if.then.165, %while.body.163 %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.377, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.397, 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.378, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, 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 @@ -4478,18 +4709,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.157 + br label %while.hdr.162 -fv.default: ; preds = %if.merge.161 +fv.default: ; preds = %if.merge.166 br label %fv.merge -fv.case: ; preds = %if.merge.161 +fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.161 +fv.case17: ; preds = %if.merge.166 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4501,91 +4732,7 @@ 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.379, i64 5 }, { ptr, i64 } { ptr @str.380, 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.162 - -while.hdr.162: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.163, label %while.exit.164 - -while.body.163: ; preds = %while.hdr.162 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.165, label %if.merge.166 - -while.exit.164: ; preds = %while.hdr.162 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) - ret { ptr, i64 } %callN - -if.then.165: ; preds = %while.body.163 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.166 - -if.merge.166: ; preds = %if.then.165, %while.body.163 - %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.386, 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.387, 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.162 - -fv.default: ; preds = %if.merge.166 - br label %fv.merge - -fv.case: ; preds = %if.merge.166 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.166 - %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.166 - %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 21, 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.388, i64 8 }, { ptr, i64 } { ptr @str.389, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.399, i64 5 }, { ptr, i64 } { ptr @str.400, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4604,27 +4751,27 @@ while.body.168: ; preds = %while.hdr.167 while.exit.169: ; preds = %while.hdr.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 1 }) ret { ptr, i64 } %callN if.then.170: ; preds = %while.body.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.171 if.merge.171: ; preds = %if.then.170, %while.body.168 %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.395, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.406, 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.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, 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 { 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 @@ -4646,17 +4793,101 @@ fv.default: ; preds = %if.merge.171 br label %fv.merge fv.case: ; preds = %if.merge.171 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.171 + %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.171 + %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 21, 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.408, i64 8 }, { ptr, i64 } { ptr @str.409, 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.172 + +while.hdr.172: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.173, label %while.exit.174 + +while.body.173: ; preds = %while.hdr.172 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.175, label %if.merge.176 + +while.exit.174: ; preds = %while.hdr.172 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 1 }) + ret { ptr, i64 } %callN + +if.then.175: ; preds = %while.body.173 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.176 + +if.merge.176: ; preds = %if.then.175, %while.body.173 + %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.415, 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.416, 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.172 + +fv.default: ; preds = %if.merge.176 + br label %fv.merge + +fv.case: ; preds = %if.merge.176 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.171 +fv.case17: ; preds = %if.merge.176 %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.171 +fv.case20: ; preds = %if.merge.176 %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 @@ -4668,43 +4899,43 @@ 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.397, i64 17 }, { ptr, i64 } { ptr @str.398, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.417, i64 17 }, { ptr, i64 } { ptr @str.418, 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.172 + br label %while.hdr.177 -while.hdr.172: ; preds = %fv.merge, %entry +while.hdr.177: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.173, label %while.exit.174 + br i1 %icmp, label %while.body.178, label %while.exit.179 -while.body.173: ; preds = %while.hdr.172 +while.body.178: ; preds = %while.hdr.177 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.175, label %if.merge.176 + br i1 %icmpN, label %if.then.180, label %if.merge.181 -while.exit.174: ; preds = %while.hdr.172 +while.exit.179: ; preds = %while.hdr.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 1 }) ret { ptr, i64 } %callN -if.then.175: ; preds = %while.body.173 +if.then.180: ; preds = %while.body.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.176 + br label %if.merge.181 -if.merge.176: ; preds = %if.then.175, %while.body.173 +if.merge.181: ; preds = %if.then.180, %while.body.178 %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.405, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.425, 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.406, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, 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 @@ -4724,29 +4955,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.172 + br label %while.hdr.177 -fv.default: ; preds = %if.merge.176 +fv.default: ; preds = %if.merge.181 br label %fv.merge -fv.case: ; preds = %if.merge.176 +fv.case: ; preds = %if.merge.181 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.176 +fv.case17: ; preds = %if.merge.181 %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.176 +fv.case20: ; preds = %if.merge.181 %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.176 +fv.case23: ; preds = %if.merge.181 %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 @@ -4757,43 +4988,43 @@ 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.407, i64 4 }, { ptr, i64 } { ptr @str.408, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.427, i64 4 }, { ptr, i64 } { ptr @str.428, 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.177 + br label %while.hdr.182 -while.hdr.177: ; preds = %fv.merge, %entry +while.hdr.182: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.178, label %while.exit.179 + br i1 %icmp, label %while.body.183, label %while.exit.184 -while.body.178: ; preds = %while.hdr.177 +while.body.183: ; preds = %while.hdr.182 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.180, label %if.merge.181 + br i1 %icmpN, label %if.then.185, label %if.merge.186 -while.exit.179: ; preds = %while.hdr.177 +while.exit.184: ; preds = %while.hdr.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 1 }) ret { ptr, i64 } %callN -if.then.180: ; preds = %while.body.178 +if.then.185: ; preds = %while.body.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.181 + br label %if.merge.186 -if.merge.181: ; preds = %if.then.180, %while.body.178 +if.merge.186: ; preds = %if.then.185, %while.body.183 %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.412, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.432, 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.413, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, 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 @@ -4810,12 +5041,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.177 + br label %while.hdr.182 -fv.default: ; preds = %if.merge.181 +fv.default: ; preds = %if.merge.186 br label %fv.merge -fv.case: ; preds = %if.merge.181 +fv.case: ; preds = %if.merge.186 %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 @@ -4830,43 +5061,43 @@ entry: %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.414, i64 10 }, { ptr, i64 } { ptr @str.415, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.434, i64 10 }, { ptr, i64 } { ptr @str.435, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.423, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.443, 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.424, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, 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 @@ -4887,38 +5118,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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.186 +fv.case17: ; preds = %if.merge.191 %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.186 +fv.case20: ; preds = %if.merge.191 %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.186 +fv.case24: ; preds = %if.merge.191 %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.186 +fv.case29: ; preds = %if.merge.191 %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 @@ -4932,43 +5163,43 @@ 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.425, i64 13 }, { ptr, i64 } { ptr @str.426, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.445, i64 13 }, { ptr, i64 } { ptr @str.446, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.431, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.451, 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.432, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, 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 @@ -4986,18 +5217,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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.191 +fv.case17: ; preds = %if.merge.196 %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 @@ -5010,43 +5241,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.433, i64 8 }, { ptr, i64 } { ptr @str.434, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.453, i64 8 }, { ptr, i64 } { ptr @str.454, 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.192 + br label %while.hdr.197 -while.hdr.192: ; preds = %fv.merge, %entry +while.hdr.197: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.193, label %while.exit.194 + br i1 %icmp, label %while.body.198, label %while.exit.199 -while.body.193: ; preds = %while.hdr.192 +while.body.198: ; preds = %while.hdr.197 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 + br i1 %icmpN, label %if.then.200, label %if.merge.201 -while.exit.194: ; preds = %while.hdr.192 +while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 1 }) ret { ptr, i64 } %callN -if.then.195: ; preds = %while.body.193 +if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 + br label %if.merge.201 -if.merge.196: ; preds = %if.then.195, %while.body.193 +if.merge.201: ; preds = %if.then.200, %while.body.198 %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.442, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.462, 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.443, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, 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 @@ -5067,36 +5298,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.192 + br label %while.hdr.197 -fv.default: ; preds = %if.merge.196 +fv.default: ; preds = %if.merge.201 br label %fv.merge -fv.case: ; preds = %if.merge.196 +fv.case: ; preds = %if.merge.201 %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.196 +fv.case17: ; preds = %if.merge.201 %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.196 +fv.case21: ; preds = %if.merge.201 %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.196 +fv.case25: ; preds = %if.merge.201 %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.196 +fv.case29: ; preds = %if.merge.201 %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 @@ -5107,89 +5338,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.444, i64 5 }, { ptr, i64 } { ptr @str.445, 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.197 - -while.hdr.197: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.198, label %while.exit.199 - -while.body.198: ; preds = %while.hdr.197 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.200, label %if.merge.201 - -while.exit.199: ; preds = %while.hdr.197 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) - ret { ptr, i64 } %callN - -if.then.200: ; preds = %while.body.198 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.201 - -if.merge.201: ; preds = %if.then.200, %while.body.198 - %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.451, 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.452, 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.197 - -fv.default: ; preds = %if.merge.201 - br label %fv.merge - -fv.case: ; preds = %if.merge.201 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.201 - %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.201 - %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.453, i64 6 }, { ptr, i64 } { ptr @str.454, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.464, i64 5 }, { ptr, i64 } { ptr @str.465, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5208,24 +5357,24 @@ while.body.203: ; preds = %while.hdr.202 while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 1 }) ret { ptr, i64 } %callN if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.206 if.merge.206: ; preds = %if.then.205, %while.body.203 %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.460, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.471, 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.461, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, 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 @@ -5252,7 +5401,7 @@ fv.default: ; preds = %if.merge.206 fv.case: ; preds = %if.merge.206 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -5267,13 +5416,11 @@ fv.case20: ; preds = %if.merge.206 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.462, i64 6 }, { ptr, i64 } { ptr @str.463, i64 1 }) + %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.473, i64 6 }, { ptr, i64 } { ptr @str.474, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5282,7 +5429,7 @@ entry: while.hdr.207: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.208, label %while.exit.209 while.body.208: ; preds = %while.hdr.207 @@ -5292,24 +5439,108 @@ while.body.208: ; preds = %while.hdr.207 while.exit.209: ; preds = %while.hdr.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) ret { ptr, i64 } %callN if.then.210: ; preds = %while.body.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.211 if.merge.211: ; preds = %if.then.210, %while.body.208 %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.468, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.480, 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.469, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, 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.207 + +fv.default: ; preds = %if.merge.211 + br label %fv.merge + +fv.case: ; preds = %if.merge.211 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.211 + %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.211 + %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.482, i64 6 }, { ptr, i64 } { ptr @str.483, 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.212 + +while.hdr.212: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.213, label %while.exit.214 + +while.body.213: ; preds = %while.hdr.212 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.215, label %if.merge.216 + +while.exit.214: ; preds = %while.hdr.212 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 1 }) + ret { ptr, i64 } %callN + +if.then.215: ; preds = %while.body.213 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.216 + +if.merge.216: ; preds = %if.then.215, %while.body.213 + %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.488, 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.489, 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 @@ -5327,19 +5558,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.207 + br label %while.hdr.212 -fv.default: ; preds = %if.merge.211 +fv.default: ; preds = %if.merge.216 br label %fv.merge -fv.case: ; preds = %if.merge.211 +fv.case: ; preds = %if.merge.216 %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.211 +fv.case17: ; preds = %if.merge.216 %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 @@ -5353,93 +5584,7 @@ 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.470, i64 4 }, { ptr, i64 } { ptr @str.471, 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.212 - -while.hdr.212: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.213, label %while.exit.214 - -while.body.213: ; preds = %while.hdr.212 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.215, label %if.merge.216 - -while.exit.214: ; preds = %while.hdr.212 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 1 }) - ret { ptr, i64 } %callN - -if.then.215: ; preds = %while.body.213 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.216 - -if.merge.216: ; preds = %if.then.215, %while.body.213 - %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.477, 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.478, 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.212 - -fv.default: ; preds = %if.merge.216 - br label %fv.merge - -fv.case: ; preds = %if.merge.216 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.216 - %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.216 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.479, i64 6 }, { ptr, i64 } { ptr @str.480, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.490, i64 4 }, { ptr, i64 } { ptr @str.491, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5458,24 +5603,110 @@ while.body.218: ; preds = %while.hdr.217 while.exit.219: ; preds = %while.hdr.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 1 }) ret { ptr, i64 } %callN if.then.220: ; preds = %while.body.218 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.221 if.merge.221: ; preds = %if.then.220, %while.body.218 %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.486, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.497, 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.487, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, 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.217 + +fv.default: ; preds = %if.merge.221 + br label %fv.merge + +fv.case: ; preds = %if.merge.221 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.221 + %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.221 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.499, i64 6 }, { ptr, i64 } { ptr @str.500, 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.222 + +while.hdr.222: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.223, label %while.exit.224 + +while.body.223: ; preds = %while.hdr.222 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.225, label %if.merge.226 + +while.exit.224: ; preds = %while.hdr.222 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 1 }) + ret { ptr, i64 } %callN + +if.then.225: ; preds = %while.body.223 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.226 + +if.merge.226: ; preds = %if.then.225, %while.body.223 + %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.506, 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.507, 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 @@ -5494,24 +5725,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.217 + br label %while.hdr.222 -fv.default: ; preds = %if.merge.221 +fv.default: ; preds = %if.merge.226 br label %fv.merge -fv.case: ; preds = %if.merge.221 +fv.case: ; preds = %if.merge.226 %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.221 +fv.case17: ; preds = %if.merge.226 %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.221 +fv.case20: ; preds = %if.merge.226 %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 @@ -5524,43 +5755,43 @@ 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.488, i64 12 }, { ptr, i64 } { ptr @str.489, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.508, i64 12 }, { ptr, i64 } { ptr @str.509, 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.222 + br label %while.hdr.227 -while.hdr.222: ; preds = %if.merge.226, %entry +while.hdr.227: ; preds = %if.merge.231, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.223, label %while.exit.224 + br i1 %icmp, label %while.body.228, label %while.exit.229 -while.body.223: ; preds = %while.hdr.222 +while.body.228: ; preds = %while.hdr.227 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.225, label %if.merge.226 + br i1 %icmpN, label %if.then.230, label %if.merge.231 -while.exit.224: ; preds = %while.hdr.222 +while.exit.229: ; preds = %while.hdr.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 1 }) ret { ptr, i64 } %callN -if.then.225: ; preds = %while.body.223 +if.then.230: ; preds = %while.body.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.226 + br label %if.merge.231 -if.merge.226: ; preds = %if.then.225, %while.body.223 +if.merge.231: ; preds = %if.then.230, %while.body.228 %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.492, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.512, 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.493, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5571,7 +5802,7 @@ if.merge.226: ; preds = %if.then.225, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.222 + br label %while.hdr.227 } ; Function Attrs: nounwind @@ -5580,95 +5811,7 @@ 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.494, i64 8 }, { ptr, i64 } { ptr @str.495, 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.227 - -while.hdr.227: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.228, label %while.exit.229 - -while.body.228: ; preds = %while.hdr.227 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.230, label %if.merge.231 - -while.exit.229: ; preds = %while.hdr.227 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) - ret { ptr, i64 } %callN - -if.then.230: ; preds = %while.body.228 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.231 - -if.merge.231: ; preds = %if.then.230, %while.body.228 - %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.501, 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.502, 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.227 - -fv.default: ; preds = %if.merge.231 - br label %fv.merge - -fv.case: ; preds = %if.merge.231 - %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.231 - %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.231 - %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.503, i64 7 }, { ptr, i64 } { ptr @str.504, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, i64 8 }, { ptr, i64 } { ptr @str.515, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5687,24 +5830,112 @@ while.body.233: ; preds = %while.hdr.232 while.exit.234: ; preds = %while.hdr.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 1 }) ret { ptr, i64 } %callN if.then.235: ; preds = %while.body.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.236 if.merge.236: ; preds = %if.then.235, %while.body.233 %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.510, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.521, 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.511, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, 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.232 + +fv.default: ; preds = %if.merge.236 + br label %fv.merge + +fv.case: ; preds = %if.merge.236 + %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.236 + %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.236 + %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.523, i64 7 }, { ptr, i64 } { ptr @str.524, 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.237 + +while.hdr.237: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.238, label %while.exit.239 + +while.body.238: ; preds = %while.hdr.237 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.240, label %if.merge.241 + +while.exit.239: ; preds = %while.hdr.237 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, i64 1 }) + ret { ptr, i64 } %callN + +if.then.240: ; preds = %while.body.238 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.241 + +if.merge.241: ; preds = %if.then.240, %while.body.238 + %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.530, 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.531, 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 @@ -5723,26 +5954,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.232 + br label %while.hdr.237 -fv.default: ; preds = %if.merge.236 +fv.default: ; preds = %if.merge.241 br label %fv.merge -fv.case: ; preds = %if.merge.236 +fv.case: ; preds = %if.merge.241 %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.236 +fv.case17: ; preds = %if.merge.241 %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.236 +fv.case22: ; preds = %if.merge.241 %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 @@ -5756,86 +5987,7 @@ 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.512, i64 9 }, { ptr, i64 } { ptr @str.513, 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.237 - -while.hdr.237: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.238, label %while.exit.239 - -while.body.238: ; preds = %while.hdr.237 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.240, label %if.merge.241 - -while.exit.239: ; preds = %while.hdr.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 1 }) - ret { ptr, i64 } %callN - -if.then.240: ; preds = %while.body.238 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.241 - -if.merge.241: ; preds = %if.then.240, %while.body.238 - %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.518, 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.519, 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.237 - -fv.default: ; preds = %if.merge.241 - br label %fv.merge - -fv.case: ; preds = %if.merge.241 - %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.241 - %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.520, i64 4 }, { ptr, i64 } { ptr @str.521, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, i64 9 }, { ptr, i64 } { ptr @str.533, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5854,27 +6006,27 @@ while.body.243: ; preds = %while.hdr.242 while.exit.244: ; preds = %while.hdr.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 1 }) ret { ptr, i64 } %callN if.then.245: ; preds = %while.body.243 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.246 if.merge.246: ; preds = %if.then.245, %while.body.243 %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.526, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.538, 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.527, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, 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 { 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 @@ -5895,11 +6047,90 @@ fv.default: ; preds = %if.merge.246 br label %fv.merge fv.case: ; preds = %if.merge.246 + %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.246 + %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.540, i64 4 }, { ptr, i64 } { ptr @str.541, 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.247 + +while.hdr.247: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.248, label %while.exit.249 + +while.body.248: ; preds = %while.hdr.247 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.250, label %if.merge.251 + +while.exit.249: ; preds = %while.hdr.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 1 }) + ret { ptr, i64 } %callN + +if.then.250: ; preds = %while.body.248 + %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 + br label %if.merge.251 + +if.merge.251: ; preds = %if.then.250, %while.body.248 + %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.546, 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.547, 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.247 + +fv.default: ; preds = %if.merge.251 + br label %fv.merge + +fv.case: ; preds = %if.merge.251 %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.246 +fv.case17: ; preds = %if.merge.251 %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 @@ -5917,43 +6148,43 @@ entry: %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.528, i64 6 }, { ptr, i64 } { ptr @str.529, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.548, i64 6 }, { ptr, i64 } { ptr @str.549, 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.247 + br label %while.hdr.252 -while.hdr.247: ; preds = %fv.merge, %entry +while.hdr.252: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.248, label %while.exit.249 + br i1 %icmp, label %while.body.253, label %while.exit.254 -while.body.248: ; preds = %while.hdr.247 +while.body.253: ; preds = %while.hdr.252 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.250, label %if.merge.251 + br i1 %icmpN, label %if.then.255, label %if.merge.256 -while.exit.249: ; preds = %while.hdr.247 +while.exit.254: ; preds = %while.hdr.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) ret { ptr, i64 } %callN -if.then.250: ; preds = %while.body.248 +if.then.255: ; preds = %while.body.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 2 }) + %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 - br label %if.merge.251 + br label %if.merge.256 -if.merge.251: ; preds = %if.then.250, %while.body.248 +if.merge.256: ; preds = %if.then.255, %while.body.253 %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.539, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.559, 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.540, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, 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 @@ -5976,51 +6207,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.247 + br label %while.hdr.252 -fv.default: ; preds = %if.merge.251 +fv.default: ; preds = %if.merge.256 br label %fv.merge -fv.case: ; preds = %if.merge.251 +fv.case: ; preds = %if.merge.256 %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.251 +fv.case17: ; preds = %if.merge.256 %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.251 +fv.case22: ; preds = %if.merge.256 %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.251 +fv.case25: ; preds = %if.merge.256 %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.251 +fv.case28: ; preds = %if.merge.256 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.251 +fv.case33: ; preds = %if.merge.256 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.251 +fv.case38: ; preds = %if.merge.256 %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 @@ -6035,43 +6266,43 @@ entry: %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.541, i64 6 }, { ptr, i64 } { ptr @str.542, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.561, i64 6 }, { ptr, i64 } { ptr @str.562, 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.252 + br label %while.hdr.257 -while.hdr.252: ; preds = %fv.merge, %entry +while.hdr.257: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.253, label %while.exit.254 + br i1 %icmp, label %while.body.258, label %while.exit.259 -while.body.253: ; preds = %while.hdr.252 +while.body.258: ; preds = %while.hdr.257 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.255, label %if.merge.256 + br i1 %icmpN, label %if.then.260, label %if.merge.261 -while.exit.254: ; preds = %while.hdr.252 +while.exit.259: ; preds = %while.hdr.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) ret { ptr, i64 } %callN -if.then.255: ; preds = %while.body.253 +if.then.260: ; preds = %while.body.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.256 + br label %if.merge.261 -if.merge.256: ; preds = %if.then.255, %while.body.253 +if.merge.261: ; preds = %if.then.260, %while.body.258 %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.549, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.569, 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.550, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, 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 @@ -6091,31 +6322,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.252 + br label %while.hdr.257 -fv.default: ; preds = %if.merge.256 +fv.default: ; preds = %if.merge.261 br label %fv.merge -fv.case: ; preds = %if.merge.256 +fv.case: ; preds = %if.merge.261 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.256 +fv.case17: ; preds = %if.merge.261 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.256 +fv.case22: ; preds = %if.merge.261 %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.256 +fv.case25: ; preds = %if.merge.261 %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 @@ -6126,82 +6357,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.551, i64 8 }, { ptr, i64 } { ptr @str.552, 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.257 - -while.hdr.257: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.258, label %while.exit.259 - -while.body.258: ; preds = %while.hdr.257 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.260, label %if.merge.261 - -while.exit.259: ; preds = %while.hdr.257 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) - ret { ptr, i64 } %callN - -if.then.260: ; preds = %while.body.258 - %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 - br label %if.merge.261 - -if.merge.261: ; preds = %if.then.260, %while.body.258 - %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.557, 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.558, 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.257 - -fv.default: ; preds = %if.merge.261 - br label %fv.merge - -fv.case: ; preds = %if.merge.261 - %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.261 - %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__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.559, i64 6 }, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.571, i64 8 }, { ptr, i64 } { ptr @str.572, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6210,7 +6366,7 @@ entry: while.hdr.262: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.263, label %while.exit.264 while.body.263: ; preds = %while.hdr.262 @@ -6220,118 +6376,16 @@ while.body.263: ; preds = %while.hdr.262 while.exit.264: ; preds = %while.hdr.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %callN if.then.265: ; preds = %while.body.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.266 if.merge.266: ; preds = %if.then.265, %while.body.263 - %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.569, 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.570, 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.262 - -fv.default: ; preds = %if.merge.266 - br label %fv.merge - -fv.case: ; preds = %if.merge.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.266 - %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.571, i64 10 }, { ptr, i64 } { ptr @str.572, 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.267 - -while.hdr.267: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.268, label %while.exit.269 - -while.body.268: ; preds = %while.hdr.267 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.270, label %if.merge.271 - -while.exit.269: ; preds = %while.hdr.267 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) - ret { ptr, i64 } %callN - -if.then.270: ; preds = %while.body.268 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.271 - -if.merge.271: ; preds = %if.then.270, %while.body.268 %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.577, i64 0, i64 %loadN @@ -6357,17 +6411,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.262 + +fv.default: ; preds = %if.merge.266 + br label %fv.merge + +fv.case: ; preds = %if.merge.266 + %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.266 + %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__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.579, i64 6 }, { ptr, i64 } { ptr @str.580, 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.267 + +while.hdr.267: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.268, label %while.exit.269 + +while.body.268: ; preds = %while.hdr.267 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.270, label %if.merge.271 + +while.exit.269: ; preds = %while.hdr.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + ret { ptr, i64 } %callN + +if.then.270: ; preds = %while.body.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.271 + +if.merge.271: ; preds = %if.then.270, %while.body.268 + %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.589, 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.590, 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.267 fv.default: ; preds = %if.merge.271 br label %fv.merge fv.case: ; preds = %if.merge.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.271 + %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.591, i64 10 }, { ptr, i64 } { ptr @str.592, 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.272 + +while.hdr.272: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.273, label %while.exit.274 + +while.body.273: ; preds = %while.hdr.272 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.275, label %if.merge.276 + +while.exit.274: ; preds = %while.hdr.272 + %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 }) + ret { ptr, i64 } %callN + +if.then.275: ; preds = %while.body.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.276 + +if.merge.276: ; preds = %if.then.275, %while.body.273 + %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.597, 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.598, 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.272 + +fv.default: ; preds = %if.merge.276 + br label %fv.merge + +fv.case: ; preds = %if.merge.276 %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.271 +fv.case17: ; preds = %if.merge.276 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6378,43 +6609,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, i64 5 }, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 5 }, { ptr, i64 } { ptr @str.600, 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.272 + br label %while.hdr.277 -while.hdr.272: ; preds = %fv.merge, %entry +while.hdr.277: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.273, label %while.exit.274 + br i1 %icmp, label %while.body.278, label %while.exit.279 -while.body.273: ; preds = %while.hdr.272 +while.body.278: ; preds = %while.hdr.277 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.275, label %if.merge.276 + br i1 %icmpN, label %if.then.280, label %if.merge.281 -while.exit.274: ; preds = %while.hdr.272 +while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) ret { ptr, i64 } %callN -if.then.275: ; preds = %while.body.273 +if.then.280: ; preds = %while.body.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.276 + br label %if.merge.281 -if.merge.276: ; preds = %if.then.275, %while.body.273 +if.merge.281: ; preds = %if.then.280, %while.body.278 %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.610, 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.591, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, 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, i64 }, ptr %alloca, align 8 @@ -6437,47 +6668,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.272 + br label %while.hdr.277 -fv.default: ; preds = %if.merge.276 +fv.default: ; preds = %if.merge.281 br label %fv.merge -fv.case: ; preds = %if.merge.276 +fv.case: ; preds = %if.merge.281 %fv.field = extractvalue { i32, i64, 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.276 +fv.case17: ; preds = %if.merge.281 %fv.field18 = extractvalue { i32, i64, 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.276 +fv.case20: ; preds = %if.merge.281 %fv.field21 = extractvalue { i32, i64, 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.276 +fv.case23: ; preds = %if.merge.281 %fv.field24 = extractvalue { i32, i64, 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.276 +fv.case27: ; preds = %if.merge.281 %fv.field28 = extractvalue { i32, i64, 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.276 +fv.case31: ; preds = %if.merge.281 %fv.field32 = extractvalue { i32, i64, 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.276 +fv.case35: ; preds = %if.merge.281 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6488,77 +6719,7 @@ 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.592, i64 4 }, { ptr, i64 } { ptr @str.593, 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.277 - -while.hdr.277: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.278, label %while.exit.279 - -while.body.278: ; preds = %while.hdr.277 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 - -while.exit.279: ; preds = %while.hdr.277 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) - ret { ptr, i64 } %callN - -if.then.280: ; preds = %while.body.278 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 - -if.merge.281: ; preds = %if.then.280, %while.body.278 - %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.597, 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.598, 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.277 - -fv.default: ; preds = %if.merge.281 - br label %fv.merge - -fv.case: ; preds = %if.merge.281 - %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__IntCell(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.599, i64 7 }, { ptr, i64 } { ptr @str.600, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 4 }, { ptr, i64 } { ptr @str.613, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6577,27 +6738,27 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) ret { ptr, i64 } %callN if.then.285: ; preds = %while.body.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.286 if.merge.286: ; preds = %if.then.285, %while.body.283 %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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.617, 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.605, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, 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 { i32 }, ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 switch i64 %loadN, label %fv.default [ i64 0, label %fv.case @@ -6617,6 +6778,639 @@ fv.default: ; preds = %if.merge.286 br label %fv.merge fv.case: ; preds = %if.merge.286 + %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 6 }, { ptr, i64 } { ptr @str.620, 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.287 + +while.hdr.287: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.288, label %while.exit.289 + +while.body.288: ; preds = %while.hdr.287 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.290, label %if.merge.291 + +while.exit.289: ; preds = %while.hdr.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) + ret { ptr, i64 } %callN + +if.then.290: ; preds = %while.body.288 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.291 + +if.merge.291: ; preds = %if.then.290, %while.body.288 + %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.630, 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.631, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.287 + +fv.default: ; preds = %if.merge.291 + br label %fv.merge + +fv.case: ; preds = %if.merge.291 + %fv.field = extractvalue { i64, i32, 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.291 + %fv.field18 = extractvalue { i64, i32, 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.291 + %fv.field21 = extractvalue { i64, i32, 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.291 + %fv.field24 = extractvalue { i64, i32, 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.291 + %fv.field27 = extractvalue { i64, i32, 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.291 + %fv.field30 = extractvalue { i64, i32, 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.291 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.632, i64 7 }, { ptr, i64 } { ptr @str.633, 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.292 + +while.hdr.292: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.293, label %while.exit.294 + +while.body.293: ; preds = %while.hdr.292 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.295, label %if.merge.296 + +while.exit.294: ; preds = %while.hdr.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + ret { ptr, i64 } %callN + +if.then.295: ; preds = %while.body.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.296 + +if.merge.296: ; preds = %if.then.295, %while.body.293 + %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.642, 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.643, 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.292 + +fv.default: ; preds = %if.merge.296 + br label %fv.merge + +fv.case: ; preds = %if.merge.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.296 + %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.644, i64 8 }, { ptr, i64 } { ptr @str.645, 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + ret { ptr, i64 } %callN + +if.then.300: ; preds = %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %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.652, 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.653, 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %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.301 + %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.301 + %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.301 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 4 }, { ptr, i64 } { ptr @str.655, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.669, 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.670, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.306 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.306 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.306 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.306 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.306 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.306 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.306 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.306 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.306 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 6 }, { ptr, i64 } { ptr @str.672, 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.307 + +while.hdr.307: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.308, label %while.exit.309 + +while.body.308: ; preds = %while.hdr.307 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.310, label %if.merge.311 + +while.exit.309: ; preds = %while.hdr.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 1 }) + ret { ptr, i64 } %callN + +if.then.310: ; preds = %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.674, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.311 + +if.merge.311: ; preds = %if.then.310, %while.body.308 + %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.681, 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.682, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.307 + +fv.default: ; preds = %if.merge.311 + br label %fv.merge + +fv.case: ; preds = %if.merge.311 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.311 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.311 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.311 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.311 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.311 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__IntCell(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.683, i64 7 }, { ptr, i64 } { ptr @str.684, 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.312 + +while.hdr.312: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.313, label %while.exit.314 + +while.body.313: ; preds = %while.hdr.312 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.315, label %if.merge.316 + +while.exit.314: ; preds = %while.hdr.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 1 }) + ret { ptr, i64 } %callN + +if.then.315: ; preds = %while.body.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.316 + +if.merge.316: ; preds = %if.then.315, %while.body.313 + %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.688, 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.689, 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.312 + +fv.default: ; preds = %if.merge.316 + br label %fv.merge + +fv.case: ; preds = %if.merge.316 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -6628,43 +7422,43 @@ entry: %alloca = alloca { { ptr, i64 } }, align 8 %ba.tmp = alloca { ptr, i64 }, align 8 store { { ptr, i64 } } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 7 }, { ptr, i64 } { ptr @str.607, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 7 }, { ptr, i64 } { ptr @str.691, 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.287 + br label %while.hdr.317 -while.hdr.287: ; preds = %fv.merge, %entry +while.hdr.317: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.288, label %while.exit.289 + br i1 %icmp, label %while.body.318, label %while.exit.319 -while.body.288: ; preds = %while.hdr.287 +while.body.318: ; preds = %while.hdr.317 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.290, label %if.merge.291 + br i1 %icmpN, label %if.then.320, label %if.merge.321 -while.exit.289: ; preds = %while.hdr.287 +while.exit.319: ; preds = %while.hdr.317 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 1 }) ret { ptr, i64 } %callN -if.then.290: ; preds = %while.body.288 +if.then.320: ; preds = %while.body.318 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.291 + br label %if.merge.321 -if.merge.291: ; preds = %if.then.290, %while.body.288 +if.merge.321: ; preds = %if.then.320, %while.body.318 %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.695, 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.612, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, 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 @@ -6681,12 +7475,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.287 + br label %while.hdr.317 -fv.default: ; preds = %if.merge.291 +fv.default: ; preds = %if.merge.321 br label %fv.merge -fv.case: ; preds = %if.merge.291 +fv.case: ; preds = %if.merge.321 %fv.field = extractvalue { { ptr, i64 } } %loadN, 0 store { ptr, i64 } %fv.field, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 @@ -6699,43 +7493,43 @@ define internal { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %1) entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 7 }, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 7 }, { ptr, i64 } { ptr @str.698, 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.292 + br label %while.hdr.322 -while.hdr.292: ; preds = %fv.merge, %entry +while.hdr.322: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.293, label %while.exit.294 + br i1 %icmp, label %while.body.323, label %while.exit.324 -while.body.293: ; preds = %while.hdr.292 +while.body.323: ; preds = %while.hdr.322 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.295, label %if.merge.296 + br i1 %icmpN, label %if.then.325, label %if.merge.326 -while.exit.294: ; preds = %while.hdr.292 +while.exit.324: ; preds = %while.hdr.322 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 1 }) ret { ptr, i64 } %callN -if.then.295: ; preds = %while.body.293 +if.then.325: ; preds = %while.body.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %while.body.293 +if.merge.326: ; preds = %if.then.325, %while.body.323 %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.619, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.703, 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.620, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6753,18 +7547,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.292 + br label %while.hdr.322 -fv.default: ; preds = %if.merge.296 +fv.default: ; preds = %if.merge.326 br label %fv.merge -fv.case: ; preds = %if.merge.296 +fv.case: ; preds = %if.merge.326 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.296 +fv.case17: ; preds = %if.merge.326 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -6776,43 +7570,43 @@ define internal { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr entry: %alloca = alloca { ptr }, align 8 store { ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 17 }, { ptr, i64 } { ptr @str.622, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 17 }, { ptr, i64 } { ptr @str.706, 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.297 + br label %while.hdr.327 -while.hdr.297: ; preds = %fv.merge, %entry +while.hdr.327: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.298, label %while.exit.299 + br i1 %icmp, label %while.body.328, label %while.exit.329 -while.body.298: ; preds = %while.hdr.297 +while.body.328: ; preds = %while.hdr.327 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.300, label %if.merge.301 + br i1 %icmpN, label %if.then.330, label %if.merge.331 -while.exit.299: ; preds = %while.hdr.297 +while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) ret { ptr, i64 } %callN -if.then.300: ; preds = %while.body.298 +if.then.330: ; preds = %while.body.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.301 + br label %if.merge.331 -if.merge.301: ; preds = %if.then.300, %while.body.298 +if.merge.331: ; preds = %if.then.330, %while.body.328 %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.626, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.710, 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.627, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, 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 @@ -6829,12 +7623,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.297 + br label %while.hdr.327 -fv.default: ; preds = %if.merge.301 +fv.default: ; preds = %if.merge.331 br label %fv.merge -fv.case: ; preds = %if.merge.301 +fv.case: ; preds = %if.merge.331 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -6846,43 +7640,43 @@ define internal { ptr, i64 } @struct_to_string__VL__string(ptr %0, { ptr, ptr } entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 10 }, { ptr, i64 } { ptr @str.629, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 10 }, { ptr, i64 } { ptr @str.713, 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.302 + br label %while.hdr.332 -while.hdr.302: ; preds = %fv.merge, %entry +while.hdr.332: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.303, label %while.exit.304 + br i1 %icmp, label %while.body.333, label %while.exit.334 -while.body.303: ; preds = %while.hdr.302 +while.body.333: ; preds = %while.hdr.332 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.305, label %if.merge.306 + br i1 %icmpN, label %if.then.335, label %if.merge.336 -while.exit.304: ; preds = %while.hdr.302 +while.exit.334: ; preds = %while.hdr.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) ret { ptr, i64 } %callN -if.then.305: ; preds = %while.body.303 +if.then.335: ; preds = %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + %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 - br label %if.merge.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %while.body.303 +if.merge.336: ; preds = %if.then.335, %while.body.333 %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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.718, 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.635, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6900,18 +7694,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 -fv.default: ; preds = %if.merge.306 +fv.default: ; preds = %if.merge.336 br label %fv.merge -fv.case: ; preds = %if.merge.306 +fv.case: ; preds = %if.merge.336 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.306 +fv.case17: ; preds = %if.merge.336 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -6923,43 +7717,43 @@ define internal { ptr, i64 } @struct_to_string____VL__string__Vtable(ptr %0, { p entry: %alloca = alloca { ptr }, align 8 store { ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 20 }, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 20 }, { ptr, i64 } { ptr @str.721, 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.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %fv.merge, %entry +while.hdr.337: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) ret { ptr, i64 } %callN -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %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.641, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.725, 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.642, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, 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 @@ -6976,12 +7770,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -fv.default: ; preds = %if.merge.311 +fv.default: ; preds = %if.merge.341 br label %fv.merge -fv.case: ; preds = %if.merge.311 +fv.case: ; preds = %if.merge.341 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -6997,9 +7791,9 @@ entry: %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.648, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.732, 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.643, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, 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 @@ -7013,18 +7807,18 @@ entry: %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.319, label %if.merge.320 + br i1 %icmp, label %if.then.349, label %if.merge.350 -if.then.319: ; preds = %entry +if.then.349: ; 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.650, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, 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.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %entry +if.merge.350: ; preds = %if.then.349, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7038,9 +7832,9 @@ entry: %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.655, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.739, 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.651, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, 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 @@ -7054,18 +7848,18 @@ entry: %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.321, label %if.merge.322 + br i1 %icmp, label %if.then.351, label %if.merge.352 -if.then.321: ; preds = %entry +if.then.351: ; 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.657, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, 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.322 + br label %if.merge.352 -if.merge.322: ; preds = %if.then.321, %entry +if.merge.352: ; preds = %if.then.351, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7090,9 +7884,9 @@ entry: %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.665, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.749, 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.658, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, 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 @@ -7106,16 +7900,16 @@ entry: i64 5, label %fv.case24 ] -if.then.323: ; preds = %fv.merge +if.then.353: ; 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.667, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.751, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, 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.324 + br label %if.merge.354 -if.merge.324: ; preds = %if.then.323, %fv.merge +if.merge.354: ; preds = %if.then.353, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7128,7 +7922,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.323, label %if.merge.324 + br i1 %icmp, label %if.then.353, label %if.merge.354 fv.default: ; preds = %entry br label %fv.merge @@ -7188,9 +7982,9 @@ entry: %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.676, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.760, 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.668, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, 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 @@ -7204,18 +7998,18 @@ entry: %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.325, label %if.merge.326 + br i1 %icmp, label %if.then.355, label %if.merge.356 -if.then.325: ; preds = %entry +if.then.355: ; 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.678, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.762, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, 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.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %entry +if.merge.356: ; preds = %if.then.355, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7229,9 +8023,9 @@ entry: %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.685, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.769, 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.679, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, 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 @@ -7245,18 +8039,18 @@ entry: %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.327, label %if.merge.328 + br i1 %icmp, label %if.then.357, label %if.merge.358 -if.then.327: ; preds = %entry +if.then.357: ; 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.687, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, 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.328 + br label %if.merge.358 -if.merge.328: ; preds = %if.then.327, %entry +if.merge.358: ; preds = %if.then.357, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7268,33 +8062,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.688, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.772, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.337 + br label %while.hdr.367 -while.hdr.337: ; preds = %if.merge.341, %entry +while.hdr.367: ; preds = %if.merge.371, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.338, label %while.exit.339 + br i1 %icmp, label %while.body.368, label %while.exit.369 -while.body.338: ; preds = %while.hdr.337 +while.body.368: ; preds = %while.hdr.367 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.340, label %if.merge.341 + br i1 %icmpN, label %if.then.370, label %if.merge.371 -while.exit.339: ; preds = %while.hdr.337 +while.exit.369: ; preds = %while.hdr.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.773, i64 1 }) ret { ptr, i64 } %call -if.then.340: ; preds = %while.body.338 +if.then.370: ; preds = %while.body.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.774, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.341 + br label %if.merge.371 -if.merge.341: ; preds = %if.then.340, %while.body.338 +if.merge.371: ; preds = %if.then.370, %while.body.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7308,7 +8102,7 @@ if.merge.341: ; preds = %if.then.340, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.337 + br label %while.hdr.367 } ; Function Attrs: nounwind @@ -7319,33 +8113,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.691, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.775, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.342 + br label %while.hdr.372 -while.hdr.342: ; preds = %if.merge.346, %entry +while.hdr.372: ; preds = %if.merge.376, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.343, label %while.exit.344 + br i1 %icmp, label %while.body.373, label %while.exit.374 -while.body.343: ; preds = %while.hdr.342 +while.body.373: ; preds = %while.hdr.372 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.345, label %if.merge.346 + br i1 %icmpN, label %if.then.375, label %if.merge.376 -while.exit.344: ; preds = %while.hdr.342 +while.exit.374: ; preds = %while.hdr.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 1 }) ret { ptr, i64 } %call -if.then.345: ; preds = %while.body.343 +if.then.375: ; preds = %while.body.373 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 2 }) + %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 - br label %if.merge.346 + br label %if.merge.376 -if.merge.346: ; preds = %if.then.345, %while.body.343 +if.merge.376: ; preds = %if.then.375, %while.body.373 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7361,7 +8155,7 @@ if.merge.346: ; preds = %if.then.345, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.342 + br label %while.hdr.372 } ; Function Attrs: nounwind @@ -7371,33 +8165,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.694, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.778, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.347 + br label %while.hdr.377 -while.hdr.347: ; preds = %if.merge.351, %entry +while.hdr.377: ; preds = %if.merge.381, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.348, label %while.exit.349 + br i1 %icmp, label %while.body.378, label %while.exit.379 -while.body.348: ; preds = %while.hdr.347 +while.body.378: ; preds = %while.hdr.377 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.350, label %if.merge.351 + br i1 %icmpN, label %if.then.380, label %if.merge.381 -while.exit.349: ; preds = %while.hdr.347 +while.exit.379: ; preds = %while.hdr.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 1 }) ret { ptr, i64 } %call -if.then.350: ; preds = %while.body.348 +if.then.380: ; preds = %while.body.378 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.351 + br label %if.merge.381 -if.merge.351: ; preds = %if.then.350, %while.body.348 +if.merge.381: ; preds = %if.then.380, %while.body.378 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7411,7 +8205,7 @@ if.merge.351: ; preds = %if.then.350, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.347 + br label %while.hdr.377 } ; Function Attrs: nounwind @@ -7421,33 +8215,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.697, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.781, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.352 + br label %while.hdr.382 -while.hdr.352: ; preds = %if.merge.356, %entry +while.hdr.382: ; preds = %if.merge.386, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.353, label %while.exit.354 + br i1 %icmp, label %while.body.383, label %while.exit.384 -while.body.353: ; preds = %while.hdr.352 +while.body.383: ; preds = %while.hdr.382 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.355, label %if.merge.356 + br i1 %icmpN, label %if.then.385, label %if.merge.386 -while.exit.354: ; preds = %while.hdr.352 +while.exit.384: ; preds = %while.hdr.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.782, i64 1 }) ret { ptr, i64 } %call -if.then.355: ; preds = %while.body.353 +if.then.385: ; preds = %while.body.383 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.783, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.356 + br label %if.merge.386 -if.merge.356: ; preds = %if.then.355, %while.body.353 +if.merge.386: ; preds = %if.then.385, %while.body.383 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7462,7 +8256,7 @@ if.merge.356: ; preds = %if.then.355, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.352 + br label %while.hdr.382 } ; Function Attrs: nounwind @@ -7472,33 +8266,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.700, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.784, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 -while.hdr.357: ; preds = %if.merge.361, %entry +while.hdr.387: ; preds = %if.merge.391, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.358, label %while.exit.359 + br i1 %icmp, label %while.body.388, label %while.exit.389 -while.body.358: ; preds = %while.hdr.357 +while.body.388: ; preds = %while.hdr.387 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.360, label %if.merge.361 + br i1 %icmpN, label %if.then.390, label %if.merge.391 -while.exit.359: ; preds = %while.hdr.357 +while.exit.389: ; preds = %while.hdr.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.701, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 1 }) ret { ptr, i64 } %call -if.then.360: ; preds = %while.body.358 +if.then.390: ; preds = %while.body.388 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.786, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.361 + br label %if.merge.391 -if.merge.361: ; preds = %if.then.360, %while.body.358 +if.merge.391: ; preds = %if.then.390, %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7512,7 +8306,7 @@ if.merge.361: ; preds = %if.then.360, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 } ; Function Attrs: nounwind @@ -7523,33 +8317,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.703, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.787, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 -while.hdr.362: ; preds = %if.merge.366, %entry +while.hdr.392: ; preds = %if.merge.396, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.363, label %while.exit.364 + br i1 %icmp, label %while.body.393, label %while.exit.394 -while.body.363: ; preds = %while.hdr.362 +while.body.393: ; preds = %while.hdr.392 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.365, label %if.merge.366 + br i1 %icmpN, label %if.then.395, label %if.merge.396 -while.exit.364: ; preds = %while.hdr.362 +while.exit.394: ; preds = %while.hdr.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 1 }) ret { ptr, i64 } %call -if.then.365: ; preds = %while.body.363 +if.then.395: ; preds = %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.366 + br label %if.merge.396 -if.merge.366: ; preds = %if.then.365, %while.body.363 +if.merge.396: ; preds = %if.then.395, %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7565,7 +8359,7 @@ if.merge.366: ; preds = %if.then.365, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 } ; Function Attrs: nounwind @@ -7575,35 +8369,35 @@ entry: %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.706, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.790, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 -while.hdr.375: ; preds = %if.merge.379, %entry +while.hdr.405: ; preds = %if.merge.409, %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.376, label %while.exit.377 + br i1 %icmp, label %while.body.406, label %while.exit.407 -while.body.376: ; preds = %while.hdr.375 +while.body.406: ; preds = %while.hdr.405 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.378, label %if.merge.379 + br i1 %icmpN, label %if.then.408, label %if.merge.409 -while.exit.377: ; preds = %while.hdr.375 +while.exit.407: ; preds = %while.hdr.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.791, i64 1 }) ret { ptr, i64 } %call -if.then.378: ; preds = %while.body.376 +if.then.408: ; preds = %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.379 + br label %if.merge.409 -if.merge.379: ; preds = %if.then.378, %while.body.376 +if.merge.409: ; preds = %if.then.408, %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7619,7 +8413,7 @@ if.merge.379: ; preds = %if.then.378, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 } ; Function Attrs: nounwind @@ -7628,35 +8422,35 @@ 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.709, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.793, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 -while.hdr.380: ; preds = %if.merge.384, %entry +while.hdr.410: ; preds = %if.merge.414, %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.381, label %while.exit.382 + br i1 %icmp, label %while.body.411, label %while.exit.412 -while.body.381: ; preds = %while.hdr.380 +while.body.411: ; preds = %while.hdr.410 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.383, label %if.merge.384 + br i1 %icmpN, label %if.then.413, label %if.merge.414 -while.exit.382: ; preds = %while.hdr.380 +while.exit.412: ; preds = %while.hdr.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 1 }) ret { ptr, i64 } %call -if.then.383: ; preds = %while.body.381 +if.then.413: ; preds = %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.384 + br label %if.merge.414 -if.merge.384: ; preds = %if.then.383, %while.body.381 +if.merge.414: ; preds = %if.then.413, %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7671,7 +8465,7 @@ if.merge.384: ; preds = %if.then.383, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 } ; Function Attrs: nounwind @@ -7681,35 +8475,35 @@ entry: %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.712, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.796, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 -while.hdr.385: ; preds = %if.merge.389, %entry +while.hdr.415: ; preds = %if.merge.419, %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.386, label %while.exit.387 + br i1 %icmp, label %while.body.416, label %while.exit.417 -while.body.386: ; preds = %while.hdr.385 +while.body.416: ; preds = %while.hdr.415 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.388, label %if.merge.389 + br i1 %icmpN, label %if.then.418, label %if.merge.419 -while.exit.387: ; preds = %while.hdr.385 +while.exit.417: ; preds = %while.hdr.415 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 1 }) ret { ptr, i64 } %call -if.then.388: ; preds = %while.body.386 +if.then.418: ; preds = %while.body.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) + %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.389 + br label %if.merge.419 -if.merge.389: ; preds = %if.then.388, %while.body.386 +if.merge.419: ; preds = %if.then.418, %while.body.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7725,7 +8519,7 @@ if.merge.389: ; preds = %if.then.388, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 } ; Function Attrs: nounwind @@ -7735,35 +8529,35 @@ entry: %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.715, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.799, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.390 + br label %while.hdr.420 -while.hdr.390: ; preds = %if.merge.394, %entry +while.hdr.420: ; preds = %if.merge.424, %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.391, label %while.exit.392 + br i1 %icmp, label %while.body.421, label %while.exit.422 -while.body.391: ; preds = %while.hdr.390 +while.body.421: ; preds = %while.hdr.420 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.393, label %if.merge.394 + br i1 %icmpN, label %if.then.423, label %if.merge.424 -while.exit.392: ; preds = %while.hdr.390 +while.exit.422: ; preds = %while.hdr.420 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.800, i64 1 }) ret { ptr, i64 } %call -if.then.393: ; preds = %while.body.391 +if.then.423: ; preds = %while.body.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.394 + br label %if.merge.424 -if.merge.394: ; preds = %if.then.393, %while.body.391 +if.merge.424: ; preds = %if.then.423, %while.body.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7779,7 +8573,7 @@ if.merge.394: ; preds = %if.then.393, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.390 + br label %while.hdr.420 } ; Function Attrs: nounwind @@ -7789,35 +8583,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.718, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.802, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.395 + br label %while.hdr.425 -while.hdr.395: ; preds = %if.merge.399, %entry +while.hdr.425: ; preds = %if.merge.429, %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.396, label %while.exit.397 + br i1 %icmp, label %while.body.426, label %while.exit.427 -while.body.396: ; preds = %while.hdr.395 +while.body.426: ; preds = %while.hdr.425 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.398, label %if.merge.399 + br i1 %icmpN, label %if.then.428, label %if.merge.429 -while.exit.397: ; preds = %while.hdr.395 +while.exit.427: ; preds = %while.hdr.425 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.719, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 1 }) ret { ptr, i64 } %call -if.then.398: ; preds = %while.body.396 +if.then.428: ; preds = %while.body.426 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.804, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.399 + br label %if.merge.429 -if.merge.399: ; preds = %if.then.398, %while.body.396 +if.merge.429: ; preds = %if.then.428, %while.body.426 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7833,7 +8627,7 @@ if.merge.399: ; preds = %if.then.398, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.395 + br label %while.hdr.425 } ; Function Attrs: nounwind @@ -7843,35 +8637,35 @@ entry: %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.721, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.805, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.400 + br label %while.hdr.430 -while.hdr.400: ; preds = %if.merge.404, %entry +while.hdr.430: ; preds = %if.merge.434, %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.401, label %while.exit.402 + br i1 %icmp, label %while.body.431, label %while.exit.432 -while.body.401: ; preds = %while.hdr.400 +while.body.431: ; preds = %while.hdr.430 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.403, label %if.merge.404 + br i1 %icmpN, label %if.then.433, label %if.merge.434 -while.exit.402: ; preds = %while.hdr.400 +while.exit.432: ; preds = %while.hdr.430 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 1 }) ret { ptr, i64 } %call -if.then.403: ; preds = %while.body.401 +if.then.433: ; preds = %while.body.431 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.404 + br label %if.merge.434 -if.merge.404: ; preds = %if.then.403, %while.body.401 +if.merge.434: ; preds = %if.then.433, %while.body.431 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7887,206 +8681,11 @@ if.merge.404: ; preds = %if.then.403, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.400 + br label %while.hdr.430 } ; 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.449, label %if.else.450 - -if.then.449: ; preds = %entry - br label %if.merge.451 - -if.else.450: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.451 - -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] - 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.465, label %if.else.466 - -if.then.465: ; preds = %entry - br label %if.merge.467 - -if.else.466: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.467 - -if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] - 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.468, label %if.else.469 - -if.then.468: ; preds = %entry - br label %if.merge.470 - -if.else.469: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.470 - -if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] - 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.471, label %if.else.472 - -if.then.471: ; preds = %entry - br label %if.merge.473 - -if.else.472: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.473 - -if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] - 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.474, label %if.else.475 - -if.then.474: ; preds = %entry - br label %if.merge.476 - -if.else.475: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.476 - -if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] - ret { ptr, i64 } %bp -} - -; 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.477, label %if.else.478 - -if.then.477: ; preds = %entry - br label %if.merge.479 - -if.else.478: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.479 - -if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] - 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.480, label %if.else.481 - -if.then.480: ; preds = %entry - br label %if.merge.482 - -if.else.481: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.482 - -if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] - 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 @@ -8104,12 +8703,207 @@ if.then.483: ; preds = %entry if.else.484: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 5 }, { ptr, i64 } %callN) br label %if.merge.485 if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + 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.499, label %if.else.500 + +if.then.499: ; preds = %entry + br label %if.merge.501 + +if.else.500: ; 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.813, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.501 + +if.merge.501: ; preds = %if.else.500, %if.then.499 + %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] + 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.502, label %if.else.503 + +if.then.502: ; preds = %entry + br label %if.merge.504 + +if.else.503: ; 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.816, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.504 + +if.merge.504: ; preds = %if.else.503, %if.then.502 + %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] + 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.505, label %if.else.506 + +if.then.505: ; preds = %entry + br label %if.merge.507 + +if.else.506: ; 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.819, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.507 + +if.merge.507: ; preds = %if.else.506, %if.then.505 + %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + 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.508, label %if.else.509 + +if.then.508: ; preds = %entry + br label %if.merge.510 + +if.else.509: ; 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.822, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.510 + +if.merge.510: ; preds = %if.else.509, %if.then.508 + %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] + ret { ptr, i64 } %bp +} + +; 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.511, label %if.else.512 + +if.then.511: ; preds = %entry + br label %if.merge.513 + +if.else.512: ; 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.825, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.513 + +if.merge.513: ; preds = %if.else.512, %if.then.511 + %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] + 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.514, label %if.else.515 + +if.then.514: ; preds = %entry + br label %if.merge.516 + +if.else.515: ; 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.828, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.516 + +if.merge.516: ; preds = %if.else.515, %if.then.514 + %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] + 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.517, label %if.else.518 + +if.then.517: ; preds = %entry + br label %if.merge.519 + +if.else.518: ; 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.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.519 + +if.merge.519: ; preds = %if.else.518, %if.then.517 + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] ret { ptr, i64 } %bp } @@ -8124,20 +8918,20 @@ entry: 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.486, label %if.else.487 + br i1 %icmp, label %if.then.520, label %if.else.521 -if.then.486: ; preds = %entry - br label %if.merge.488 +if.then.520: ; preds = %entry + br label %if.merge.522 -if.else.487: ; preds = %entry +if.else.521: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.488 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.522 -if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] +if.merge.522: ; preds = %if.else.521, %if.then.520 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] ret { ptr, i64 } %bp } @@ -8152,20 +8946,20 @@ entry: 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.489, label %if.else.490 + br i1 %icmp, label %if.then.523, label %if.else.524 -if.then.489: ; preds = %entry - br label %if.merge.491 +if.then.523: ; preds = %entry + br label %if.merge.525 -if.else.490: ; preds = %entry +if.else.524: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.491 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.525 -if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] +if.merge.525: ; preds = %if.else.524, %if.then.523 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] ret { ptr, i64 } %bp } @@ -8180,20 +8974,20 @@ entry: 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.492, label %if.else.493 + br i1 %icmp, label %if.then.526, label %if.else.527 -if.then.492: ; preds = %entry - br label %if.merge.494 +if.then.526: ; preds = %entry + br label %if.merge.528 -if.else.493: ; preds = %entry +if.else.527: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.494 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.528 -if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] +if.merge.528: ; preds = %if.else.527, %if.then.526 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] ret { ptr, i64 } %bp } @@ -8208,20 +9002,20 @@ entry: 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.495, label %if.else.496 + br i1 %icmp, label %if.then.529, label %if.else.530 -if.then.495: ; preds = %entry - br label %if.merge.497 +if.then.529: ; preds = %entry + br label %if.merge.531 -if.else.496: ; preds = %entry +if.else.530: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.497 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.531 -if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] +if.merge.531: ; preds = %if.else.530, %if.then.529 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] ret { ptr, i64 } %bp } @@ -8235,20 +9029,20 @@ entry: 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.498, label %if.else.499 + br i1 %icmp, label %if.then.532, label %if.else.533 -if.then.498: ; preds = %entry - br label %if.merge.500 +if.then.532: ; preds = %entry + br label %if.merge.534 -if.else.499: ; preds = %entry +if.else.533: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.500 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.534 -if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] +if.merge.534: ; preds = %if.else.533, %if.then.532 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] ret { ptr, i64 } %bp } @@ -8263,20 +9057,20 @@ entry: 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.501, label %if.else.502 + br i1 %icmp, label %if.then.535, label %if.else.536 -if.then.501: ; preds = %entry - br label %if.merge.503 +if.then.535: ; preds = %entry + br label %if.merge.537 -if.else.502: ; preds = %entry +if.else.536: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.503 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.537 -if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] +if.merge.537: ; preds = %if.else.536, %if.then.535 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] ret { ptr, i64 } %bp } @@ -8290,20 +9084,20 @@ entry: 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.504, label %if.else.505 + br i1 %icmp, label %if.then.538, label %if.else.539 -if.then.504: ; preds = %entry - br label %if.merge.506 +if.then.538: ; preds = %entry + br label %if.merge.540 -if.else.505: ; preds = %entry +if.else.539: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.506 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.540 -if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] +if.merge.540: ; preds = %if.else.539, %if.then.538 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] ret { ptr, i64 } %bp } @@ -8318,20 +9112,20 @@ entry: 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.507, label %if.else.508 + br i1 %icmp, label %if.then.541, label %if.else.542 -if.then.507: ; preds = %entry - br label %if.merge.509 +if.then.541: ; preds = %entry + br label %if.merge.543 -if.else.508: ; preds = %entry +if.else.542: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.509 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.543 -if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] +if.merge.543: ; preds = %if.else.542, %if.then.541 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] ret { ptr, i64 } %bp } @@ -8346,20 +9140,20 @@ entry: 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.510, label %if.else.511 + br i1 %icmp, label %if.then.544, label %if.else.545 -if.then.510: ; preds = %entry - br label %if.merge.512 +if.then.544: ; preds = %entry + br label %if.merge.546 -if.else.511: ; preds = %entry +if.else.545: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.512 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.546 -if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] +if.merge.546: ; preds = %if.else.545, %if.then.544 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] ret { ptr, i64 } %bp } @@ -8374,20 +9168,20 @@ entry: 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.513, label %if.else.514 + br i1 %icmp, label %if.then.547, label %if.else.548 -if.then.513: ; preds = %entry - br label %if.merge.515 +if.then.547: ; preds = %entry + br label %if.merge.549 -if.else.514: ; preds = %entry +if.else.548: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.515 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.549 -if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] +if.merge.549: ; preds = %if.else.548, %if.then.547 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] ret { ptr, i64 } %bp } @@ -8402,20 +9196,20 @@ entry: 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.516, label %if.else.517 + br i1 %icmp, label %if.then.550, label %if.else.551 -if.then.516: ; preds = %entry - br label %if.merge.518 +if.then.550: ; preds = %entry + br label %if.merge.552 -if.else.517: ; preds = %entry +if.else.551: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.518 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.552 -if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] +if.merge.552: ; preds = %if.else.551, %if.then.550 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] ret { ptr, i64 } %bp } @@ -8430,20 +9224,20 @@ entry: 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.519, label %if.else.520 + br i1 %icmp, label %if.then.553, label %if.else.554 -if.then.519: ; preds = %entry - br label %if.merge.521 +if.then.553: ; preds = %entry + br label %if.merge.555 -if.else.520: ; preds = %entry +if.else.554: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.521 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.555 -if.merge.521: ; preds = %if.else.520, %if.then.519 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] +if.merge.555: ; preds = %if.else.554, %if.then.553 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] ret { ptr, i64 } %bp } @@ -8458,20 +9252,20 @@ entry: 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.522, label %if.else.523 + br i1 %icmp, label %if.then.556, label %if.else.557 -if.then.522: ; preds = %entry - br label %if.merge.524 +if.then.556: ; preds = %entry + br label %if.merge.558 -if.else.523: ; preds = %entry +if.else.557: ; 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.786, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.524 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.558 -if.merge.524: ; preds = %if.else.523, %if.then.522 - %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] +if.merge.558: ; preds = %if.else.557, %if.then.556 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] ret { ptr, i64 } %bp } @@ -8486,20 +9280,20 @@ entry: 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.525, label %if.else.526 + br i1 %icmp, label %if.then.559, label %if.else.560 -if.then.525: ; preds = %entry - br label %if.merge.527 +if.then.559: ; preds = %entry + br label %if.merge.561 -if.else.526: ; preds = %entry +if.else.560: ; 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.789, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.527 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.561 -if.merge.527: ; preds = %if.else.526, %if.then.525 - %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] +if.merge.561: ; preds = %if.else.560, %if.then.559 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] ret { ptr, i64 } %bp } @@ -8514,20 +9308,20 @@ entry: 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.528, label %if.else.529 + br i1 %icmp, label %if.then.562, label %if.else.563 -if.then.528: ; preds = %entry - br label %if.merge.530 +if.then.562: ; preds = %entry + br label %if.merge.564 -if.else.529: ; preds = %entry +if.else.563: ; 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.792, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.530 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.876, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.564 -if.merge.530: ; preds = %if.else.529, %if.then.528 - %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] +if.merge.564: ; preds = %if.else.563, %if.then.562 + %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] ret { ptr, i64 } %bp } @@ -8542,20 +9336,20 @@ entry: 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.531, label %if.else.532 + br i1 %icmp, label %if.then.565, label %if.else.566 -if.then.531: ; preds = %entry - br label %if.merge.533 +if.then.565: ; preds = %entry + br label %if.merge.567 -if.else.532: ; preds = %entry +if.else.566: ; 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.795, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.533 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.567 -if.merge.533: ; preds = %if.else.532, %if.then.531 - %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] +if.merge.567: ; preds = %if.else.566, %if.then.565 + %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] ret { ptr, i64 } %bp } @@ -8570,20 +9364,20 @@ entry: 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.534, label %if.else.535 + br i1 %icmp, label %if.then.568, label %if.else.569 -if.then.534: ; preds = %entry - br label %if.merge.536 +if.then.568: ; preds = %entry + br label %if.merge.570 -if.else.535: ; preds = %entry +if.else.569: ; 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.798, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.536 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.882, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.570 -if.merge.536: ; preds = %if.else.535, %if.then.534 - %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] +if.merge.570: ; preds = %if.else.569, %if.then.568 + %bp = phi { ptr, i64 } [ { ptr @str.880, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] ret { ptr, i64 } %bp } @@ -8598,20 +9392,131 @@ entry: 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.537, label %if.else.538 + br i1 %icmp, label %if.then.571, label %if.else.572 -if.then.537: ; preds = %entry - br label %if.merge.539 +if.then.571: ; preds = %entry + br label %if.merge.573 -if.else.538: ; preds = %entry +if.else.572: ; 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.801, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.539 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.885, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.573 -if.merge.539: ; preds = %if.else.538, %if.then.537 - %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] +if.merge.573: ; preds = %if.else.572, %if.then.571 + %bp = phi { ptr, i64 } [ { ptr @str.883, i64 4 }, %if.then.571 ], [ %callN, %if.else.572 ] + 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.574, label %if.else.575 + +if.then.574: ; preds = %entry + br label %if.merge.576 + +if.else.575: ; 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.888, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.576 + +if.merge.576: ; preds = %if.else.575, %if.then.574 + %bp = phi { ptr, i64 } [ { ptr @str.886, i64 4 }, %if.then.574 ], [ %callN, %if.else.575 ] + 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.577, label %if.else.578 + +if.then.577: ; preds = %entry + br label %if.merge.579 + +if.else.578: ; 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.891, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.579 + +if.merge.579: ; preds = %if.else.578, %if.then.577 + %bp = phi { ptr, i64 } [ { ptr @str.889, i64 4 }, %if.then.577 ], [ %callN, %if.else.578 ] + 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.580, label %if.else.581 + +if.then.580: ; preds = %entry + br label %if.merge.582 + +if.else.581: ; 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.894, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.582 + +if.merge.582: ; preds = %if.else.581, %if.then.580 + %bp = phi { ptr, i64 } [ { ptr @str.892, i64 4 }, %if.then.580 ], [ %callN, %if.else.581 ] + 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.583, label %if.else.584 + +if.then.583: ; preds = %entry + br label %if.merge.585 + +if.else.584: ; 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.897, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.585 + +if.merge.585: ; preds = %if.else.584, %if.then.583 + %bp = phi { ptr, i64 } [ { ptr @str.895, i64 4 }, %if.then.583 ], [ %callN, %if.else.584 ] ret { ptr, i64 } %bp } @@ -8626,20 +9531,20 @@ entry: 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.540, label %if.else.541 + br i1 %icmp, label %if.then.586, label %if.else.587 -if.then.540: ; preds = %entry - br label %if.merge.542 +if.then.586: ; preds = %entry + br label %if.merge.588 -if.else.541: ; preds = %entry +if.else.587: ; 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.804, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.542 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.900, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.588 -if.merge.542: ; preds = %if.else.541, %if.then.540 - %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] +if.merge.588: ; preds = %if.else.587, %if.then.586 + %bp = phi { ptr, i64 } [ { ptr @str.898, i64 4 }, %if.then.586 ], [ %callN, %if.else.587 ] ret { ptr, i64 } %bp } @@ -8654,20 +9559,20 @@ entry: 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.543, label %if.else.544 + br i1 %icmp, label %if.then.589, label %if.else.590 -if.then.543: ; preds = %entry - br label %if.merge.545 +if.then.589: ; preds = %entry + br label %if.merge.591 -if.else.544: ; preds = %entry +if.else.590: ; 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.807, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.545 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.591 -if.merge.545: ; preds = %if.else.544, %if.then.543 - %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] +if.merge.591: ; preds = %if.else.590, %if.then.589 + %bp = phi { ptr, i64 } [ { ptr @str.901, i64 4 }, %if.then.589 ], [ %callN, %if.else.590 ] ret { ptr, i64 } %bp } @@ -8682,20 +9587,20 @@ entry: 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.546, label %if.else.547 + br i1 %icmp, label %if.then.592, label %if.else.593 -if.then.546: ; preds = %entry - br label %if.merge.548 +if.then.592: ; preds = %entry + br label %if.merge.594 -if.else.547: ; preds = %entry +if.else.593: ; 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.810, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.548 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.905, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.594 -if.merge.548: ; preds = %if.else.547, %if.then.546 - %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] +if.merge.594: ; preds = %if.else.593, %if.then.592 + %bp = phi { ptr, i64 } [ { ptr @str.904, i64 4 }, %if.then.592 ], [ %callN, %if.else.593 ] ret { ptr, i64 } %bp } @@ -8710,20 +9615,20 @@ entry: 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.549, label %if.else.550 + br i1 %icmp, label %if.then.595, label %if.else.596 -if.then.549: ; preds = %entry - br label %if.merge.551 +if.then.595: ; preds = %entry + br label %if.merge.597 -if.else.550: ; preds = %entry +if.else.596: ; 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.813, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.551 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.597 -if.merge.551: ; preds = %if.else.550, %if.then.549 - %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] +if.merge.597: ; preds = %if.else.596, %if.then.595 + %bp = phi { ptr, i64 } [ { ptr @str.907, i64 4 }, %if.then.595 ], [ %callN, %if.else.596 ] ret { ptr, i64 } %bp } @@ -8738,20 +9643,20 @@ entry: 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.552, label %if.else.553 + br i1 %icmp, label %if.then.598, label %if.else.599 -if.then.552: ; preds = %entry - br label %if.merge.554 +if.then.598: ; preds = %entry + br label %if.merge.600 -if.else.553: ; preds = %entry +if.else.599: ; 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.816, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.554 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.912, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.600 -if.merge.554: ; preds = %if.else.553, %if.then.552 - %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] +if.merge.600: ; preds = %if.else.599, %if.then.598 + %bp = phi { ptr, i64 } [ { ptr @str.910, i64 4 }, %if.then.598 ], [ %callN, %if.else.599 ] ret { ptr, i64 } %bp } @@ -8766,20 +9671,20 @@ entry: 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.555, label %if.else.556 + br i1 %icmp, label %if.then.601, label %if.else.602 -if.then.555: ; preds = %entry - br label %if.merge.557 +if.then.601: ; preds = %entry + br label %if.merge.603 -if.else.556: ; preds = %entry +if.else.602: ; 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.819, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.557 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.603 -if.merge.557: ; preds = %if.else.556, %if.then.555 - %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] +if.merge.603: ; preds = %if.else.602, %if.then.601 + %bp = phi { ptr, i64 } [ { ptr @str.913, i64 4 }, %if.then.601 ], [ %callN, %if.else.602 ] ret { ptr, i64 } %bp } @@ -8794,20 +9699,20 @@ entry: 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.558, label %if.else.559 + br i1 %icmp, label %if.then.604, label %if.else.605 -if.then.558: ; preds = %entry - br label %if.merge.560 +if.then.604: ; preds = %entry + br label %if.merge.606 -if.else.559: ; preds = %entry +if.else.605: ; 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.822, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 18 }, { ptr, i64 } %callN) - br label %if.merge.560 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.606 -if.merge.560: ; preds = %if.else.559, %if.then.558 - %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] +if.merge.606: ; preds = %if.else.605, %if.then.604 + %bp = phi { ptr, i64 } [ { ptr @str.916, i64 4 }, %if.then.604 ], [ %callN, %if.else.605 ] ret { ptr, i64 } %bp } @@ -8822,20 +9727,20 @@ entry: 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.561, label %if.else.562 + br i1 %icmp, label %if.then.607, label %if.else.608 -if.then.561: ; preds = %entry - br label %if.merge.563 +if.then.607: ; preds = %entry + br label %if.merge.609 -if.else.562: ; preds = %entry +if.else.608: ; 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.825, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.563 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.609 -if.merge.563: ; preds = %if.else.562, %if.then.561 - %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] +if.merge.609: ; preds = %if.else.608, %if.then.607 + %bp = phi { ptr, i64 } [ { ptr @str.919, i64 4 }, %if.then.607 ], [ %callN, %if.else.608 ] ret { ptr, i64 } %bp } @@ -8850,20 +9755,20 @@ entry: 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.564, label %if.else.565 + br i1 %icmp, label %if.then.610, label %if.else.611 -if.then.564: ; preds = %entry - br label %if.merge.566 +if.then.610: ; preds = %entry + br label %if.merge.612 -if.else.565: ; preds = %entry +if.else.611: ; 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.828, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.566 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.612 -if.merge.566: ; preds = %if.else.565, %if.then.564 - %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] +if.merge.612: ; preds = %if.else.611, %if.then.610 + %bp = phi { ptr, i64 } [ { ptr @str.922, i64 4 }, %if.then.610 ], [ %callN, %if.else.611 ] ret { ptr, i64 } %bp } @@ -8878,20 +9783,20 @@ entry: 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.567, label %if.else.568 + br i1 %icmp, label %if.then.613, label %if.else.614 -if.then.567: ; preds = %entry - br label %if.merge.569 +if.then.613: ; preds = %entry + br label %if.merge.615 -if.else.568: ; preds = %entry +if.else.614: ; 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.831, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.569 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.615 -if.merge.569: ; preds = %if.else.568, %if.then.567 - %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] +if.merge.615: ; preds = %if.else.614, %if.then.613 + %bp = phi { ptr, i64 } [ { ptr @str.925, i64 4 }, %if.then.613 ], [ %callN, %if.else.614 ] ret { ptr, i64 } %bp } @@ -8906,20 +9811,20 @@ entry: 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.570, label %if.else.571 + br i1 %icmp, label %if.then.616, label %if.else.617 -if.then.570: ; preds = %entry - br label %if.merge.572 +if.then.616: ; preds = %entry + br label %if.merge.618 -if.else.571: ; preds = %entry +if.else.617: ; 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.834, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.572 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.618 -if.merge.572: ; preds = %if.else.571, %if.then.570 - %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] +if.merge.618: ; preds = %if.else.617, %if.then.616 + %bp = phi { ptr, i64 } [ { ptr @str.928, i64 4 }, %if.then.616 ], [ %callN, %if.else.617 ] ret { ptr, i64 } %bp } @@ -8934,20 +9839,20 @@ entry: 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.573, label %if.else.574 + br i1 %icmp, label %if.then.619, label %if.else.620 -if.then.573: ; preds = %entry - br label %if.merge.575 +if.then.619: ; preds = %entry + br label %if.merge.621 -if.else.574: ; preds = %entry +if.else.620: ; 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.837, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.575 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.932, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.621 -if.merge.575: ; preds = %if.else.574, %if.then.573 - %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] +if.merge.621: ; preds = %if.else.620, %if.then.619 + %bp = phi { ptr, i64 } [ { ptr @str.931, i64 4 }, %if.then.619 ], [ %callN, %if.else.620 ] ret { ptr, i64 } %bp } @@ -8962,20 +9867,20 @@ entry: 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.576, label %if.else.577 + br i1 %icmp, label %if.then.622, label %if.else.623 -if.then.576: ; preds = %entry - br label %if.merge.578 +if.then.622: ; preds = %entry + br label %if.merge.624 -if.else.577: ; preds = %entry +if.else.623: ; 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.840, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.578 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.935, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.624 -if.merge.578: ; preds = %if.else.577, %if.then.576 - %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] +if.merge.624: ; preds = %if.else.623, %if.then.622 + %bp = phi { ptr, i64 } [ { ptr @str.934, i64 4 }, %if.then.622 ], [ %callN, %if.else.623 ] ret { ptr, i64 } %bp } @@ -8990,20 +9895,20 @@ entry: 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.579, label %if.else.580 + br i1 %icmp, label %if.then.625, label %if.else.626 -if.then.579: ; preds = %entry - br label %if.merge.581 +if.then.625: ; preds = %entry + br label %if.merge.627 -if.else.580: ; preds = %entry +if.else.626: ; 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.843, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.581 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.938, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.627 -if.merge.581: ; preds = %if.else.580, %if.then.579 - %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] +if.merge.627: ; preds = %if.else.626, %if.then.625 + %bp = phi { ptr, i64 } [ { ptr @str.937, i64 4 }, %if.then.625 ], [ %callN, %if.else.626 ] ret { ptr, i64 } %bp } @@ -9018,20 +9923,20 @@ entry: 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.582, label %if.else.583 + br i1 %icmp, label %if.then.628, label %if.else.629 -if.then.582: ; preds = %entry - br label %if.merge.584 +if.then.628: ; preds = %entry + br label %if.merge.630 -if.else.583: ; preds = %entry +if.else.629: ; 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.846, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.584 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.942, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.630 -if.merge.584: ; preds = %if.else.583, %if.then.582 - %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] +if.merge.630: ; preds = %if.else.629, %if.then.628 + %bp = phi { ptr, i64 } [ { ptr @str.940, i64 4 }, %if.then.628 ], [ %callN, %if.else.629 ] ret { ptr, i64 } %bp } @@ -9046,20 +9951,20 @@ entry: 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.585, label %if.else.586 + br i1 %icmp, label %if.then.631, label %if.else.632 -if.then.585: ; preds = %entry - br label %if.merge.587 +if.then.631: ; preds = %entry + br label %if.merge.633 -if.else.586: ; preds = %entry +if.else.632: ; 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.849, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 21 }, { ptr, i64 } %callN) - br label %if.merge.587 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.944, i64 21 }, { ptr, i64 } %callN) + br label %if.merge.633 -if.merge.587: ; preds = %if.else.586, %if.then.585 - %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] +if.merge.633: ; preds = %if.else.632, %if.then.631 + %bp = phi { ptr, i64 } [ { ptr @str.943, i64 4 }, %if.then.631 ], [ %callN, %if.else.632 ] ret { ptr, i64 } %bp } @@ -9072,12 +9977,12 @@ entry: %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.595, label %if.merge.596 + br i1 %lnot, label %if.then.641, label %if.merge.642 -if.then.595: ; preds = %entry - ret { ptr, i64 } { ptr @str.850, i64 4 } +if.then.641: ; preds = %entry + ret { ptr, i64 } { ptr @str.946, i64 4 } -if.merge.596: ; preds = %entry +if.merge.642: ; 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 @@ -9096,12 +10001,12 @@ entry: %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.597, label %if.merge.598 + br i1 %lnot, label %if.then.643, label %if.merge.644 -if.then.597: ; preds = %entry - ret { ptr, i64 } { ptr @str.851, i64 4 } +if.then.643: ; preds = %entry + ret { ptr, i64 } { ptr @str.947, i64 4 } -if.merge.598: ; preds = %entry +if.merge.644: ; 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 @@ -9119,12 +10024,12 @@ entry: %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.599, label %if.merge.600 + br i1 %lnot, label %if.then.645, label %if.merge.646 -if.then.599: ; preds = %entry - ret { ptr, i64 } { ptr @str.852, i64 4 } +if.then.645: ; preds = %entry + ret { ptr, i64 } { ptr @str.948, i64 4 } -if.merge.600: ; preds = %entry +if.merge.646: ; 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 @@ -9141,12 +10046,12 @@ entry: %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.601, label %if.merge.602 + br i1 %lnot, label %if.then.647, label %if.merge.648 -if.then.601: ; preds = %entry - ret { ptr, i64 } { ptr @str.853, i64 4 } +if.then.647: ; preds = %entry + ret { ptr, i64 } { ptr @str.949, i64 4 } -if.merge.602: ; preds = %entry +if.merge.648: ; 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 @@ -9165,12 +10070,12 @@ entry: %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.603, label %if.merge.604 + br i1 %lnot, label %if.then.649, label %if.merge.650 -if.then.603: ; preds = %entry - ret { ptr, i64 } { ptr @str.854, i64 4 } +if.then.649: ; preds = %entry + ret { ptr, i64 } { ptr @str.950, i64 4 } -if.merge.604: ; preds = %entry +if.merge.650: ; 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 diff --git a/examples/expected/0414-protocols-generic-struct-protocol-erase.ir b/examples/expected/0414-protocols-generic-struct-protocol-erase.ir index 6aec481..4edaa2f 100644 --- a/examples/expected/0414-protocols-generic-struct-protocol-erase.ir +++ b/examples/expected/0414-protocols-generic-struct-protocol-erase.ir @@ -9,7 +9,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [209 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] +@__sx_type_is_unsigned = private constant [227 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -30,482 +30,482 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [8 x i8] c"IntCell\00" -@tn.str.212 = private constant [9 x i8] c"*IntCell\00" -@tn.str.213 = private constant [2 x i8] c"R\00" -@tn.str.214 = private constant [9 x i8] c"Combined\00" -@tn.str.215 = private constant [8 x i8] c"VL__i64\00" -@tn.str.216 = private constant [18 x i8] c"__VL__i64__Vtable\00" -@tn.str.217 = private constant [3 x i8] c"VL\00" -@tn.str.218 = private constant [5 x i8] c"[]VL\00" -@tn.str.219 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.220 = private constant [7 x i8] c"**void\00" -@tn.str.221 = private constant [6 x i8] c"[]Any\00" -@tn.str.222 = private constant [5 x i8] c"*Any\00" -@tn.str.223 = private constant [7 x i8] c"[1]Any\00" -@tn.str.224 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.225 = private constant [7 x i8] c"*[]Any\00" -@tn.str.226 = private constant [10 x i8] c"(VL__i64)\00" -@tn.str.227 = private constant [19 x i8] c"Combined__i64__i64\00" -@tn.str.228 = private constant [20 x i8] c"*Combined__i64__i64\00" -@tn.str.229 = private constant [10 x i8] c"**IntCell\00" -@tn.str.230 = private constant [19 x i8] c"*__VL__i64__Vtable\00" -@tn.str.231 = private constant [11 x i8] c"*(VL__i64)\00" -@tn.str.232 = private constant [21 x i8] c"**Combined__i64__i64\00" -@tn.str.233 = private constant [9 x i8] c"*VL__i64\00" -@tn.str.234 = private constant [8 x i8] c"*string\00" -@tn.str.235 = private constant [4 x i8] c"*u8\00" -@tn.str.236 = private constant [6 x i8] c"*bool\00" -@tn.str.237 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.238 = private constant [5 x i8] c"*f64\00" -@tn.str.239 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.240 = private constant [11 x i8] c"*Allocator\00" -@tn.str.241 = private constant [9 x i8] c"*Context\00" -@tn.str.242 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.243 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.244 = private constant [8 x i8] c"*Member\00" -@tn.str.245 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.246 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.247 = private constant [9 x i8] c"*Command\00" -@tn.str.248 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.249 = private constant [7 x i8] c"*Event\00" -@tn.str.250 = private constant [3 x i8] c"*R\00" -@tn.str.251 = private constant [10 x i8] c"*Combined\00" -@tn.str.252 = private constant [4 x i8] c"*VL\00" -@tn.str.253 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.254 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.255 = private constant [7 x i8] c"*Value\00" -@tn.str.256 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.257 = private constant [14 x i8] c"*Architecture\00" -@tn.str.258 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.259 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.260 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.261 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.262 = private constant [10 x i8] c"*[]string\00" -@tn.str.263 = private constant [6 x i8] c"*[]u8\00" -@tn.str.264 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.265 = private constant [11 x i8] c"*[]Command\00" -@tn.str.266 = private constant [9 x i8] c"*[]Event\00" -@tn.str.267 = private constant [6 x i8] c"*[]VL\00" -@tn.str.268 = private constant [6 x i8] c"**GPA\00" -@tn.str.269 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.270 = private constant [8 x i8] c"**Arena\00" -@tn.str.271 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.272 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.273 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.274 = private constant [7 x i8] c"**File\00" -@tn.str.275 = private constant [6 x i8] c"**i32\00" -@tn.str.276 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.277 = private constant [6 x i8] c"**u32\00" -@tn.str.278 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.279 = private constant [8 x i8] c"**Array\00" -@tn.str.280 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.281 = private constant [9 x i8] c"**Object\00" -@tn.str.282 = private constant [7 x i8] c"**Sink\00" -@tn.str.283 = private constant [9 x i8] c"**Parser\00" -@tn.str.284 = private constant [6 x i8] c"**i64\00" -@tn.str.285 = private constant [9 x i8] c"**Parsed\00" -@tn.str.286 = private constant [7 x i8] c"**Diag\00" -@tn.str.287 = private constant [9 x i8] c"**Sha256\00" -@tn.str.288 = private constant [11 x i8] c"**Timespec\00" -@tn.str.289 = private constant [9 x i8] c"**Kevent\00" -@tn.str.290 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.291 = private constant [7 x i8] c"**Loop\00" -@tn.str.292 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.293 = private constant [8 x i8] c"***void\00" -@tn.str.294 = private constant [6 x i8] c"**Any\00" -@tn.str.295 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.296 = private constant [8 x i8] c"**[]Any\00" -@tn.str.297 = private constant [11 x i8] c"***IntCell\00" -@tn.str.298 = private constant [20 x i8] c"**__VL__i64__Vtable\00" -@tn.str.299 = private constant [12 x i8] c"**(VL__i64)\00" -@tn.str.300 = private constant [22 x i8] c"***Combined__i64__i64\00" -@tn.str.301 = private constant [10 x i8] c"**VL__i64\00" -@tn.str.302 = private constant [9 x i8] c"**string\00" -@tn.str.303 = private constant [5 x i8] c"**u8\00" -@tn.str.304 = private constant [7 x i8] c"**bool\00" -@tn.str.305 = private constant [7 x i8] c"*?File\00" -@tn.str.306 = private constant [9 x i8] c"*?string\00" -@tn.str.307 = private constant [10 x i8] c"*?cstring\00" -@tn.str.308 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.309 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [209 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 8 }, { ptr, i64 } { ptr @tn.str.213, i64 1 }, { ptr, i64 } { ptr @tn.str.214, i64 8 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 17 }, { ptr, i64 } { ptr @tn.str.217, i64 2 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 12 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 4 }, { ptr, i64 } { ptr @tn.str.223, i64 6 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 9 }, { ptr, i64 } { ptr @tn.str.227, i64 18 }, { ptr, i64 } { ptr @tn.str.228, i64 19 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 18 }, { ptr, i64 } { ptr @tn.str.231, i64 10 }, { ptr, i64 } { ptr @tn.str.232, i64 20 }, { ptr, i64 } { ptr @tn.str.233, i64 8 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 3 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 2 }, { ptr, i64 } { ptr @tn.str.251, i64 9 }, { ptr, i64 } { ptr @tn.str.252, i64 3 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 16 }, { ptr, i64 } { ptr @tn.str.257, i64 13 }, { ptr, i64 } { ptr @tn.str.258, i64 14 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 5 }, { ptr, i64 } { ptr @tn.str.264, i64 11 }, { ptr, i64 } { ptr @tn.str.265, i64 10 }, { ptr, i64 } { ptr @tn.str.266, i64 8 }, { ptr, i64 } { ptr @tn.str.267, i64 5 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 19 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 10 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 12 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 13 }, { ptr, i64 } { ptr @tn.str.293, i64 7 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 7 }, { ptr, i64 } { ptr @tn.str.297, i64 10 }, { ptr, i64 } { ptr @tn.str.298, i64 19 }, { ptr, i64 } { ptr @tn.str.299, i64 11 }, { ptr, i64 } { ptr @tn.str.300, i64 21 }, { ptr, i64 } { ptr @tn.str.301, i64 9 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 4 }, { ptr, i64 } { ptr @tn.str.304, i64 6 }, { ptr, i64 } { ptr @tn.str.305, i64 6 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 15 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }] -@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.316 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.317 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.319 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.320 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.321 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.322 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.323 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.324 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.325 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.326 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.327 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.328 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.329 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.330 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.331 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [8 x i8] c"IntCell\00" +@tn.str.226 = private constant [9 x i8] c"*IntCell\00" +@tn.str.227 = private constant [2 x i8] c"R\00" +@tn.str.228 = private constant [9 x i8] c"Combined\00" +@tn.str.229 = private constant [8 x i8] c"VL__i64\00" +@tn.str.230 = private constant [18 x i8] c"__VL__i64__Vtable\00" +@tn.str.231 = private constant [3 x i8] c"VL\00" +@tn.str.232 = private constant [5 x i8] c"[]VL\00" +@tn.str.233 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.234 = private constant [7 x i8] c"**void\00" +@tn.str.235 = private constant [6 x i8] c"[]Any\00" +@tn.str.236 = private constant [5 x i8] c"*Any\00" +@tn.str.237 = private constant [7 x i8] c"[1]Any\00" +@tn.str.238 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.239 = private constant [7 x i8] c"*[]Any\00" +@tn.str.240 = private constant [10 x i8] c"(VL__i64)\00" +@tn.str.241 = private constant [19 x i8] c"Combined__i64__i64\00" +@tn.str.242 = private constant [20 x i8] c"*Combined__i64__i64\00" +@tn.str.243 = private constant [10 x i8] c"**IntCell\00" +@tn.str.244 = private constant [19 x i8] c"*__VL__i64__Vtable\00" +@tn.str.245 = private constant [11 x i8] c"*(VL__i64)\00" +@tn.str.246 = private constant [21 x i8] c"**Combined__i64__i64\00" +@tn.str.247 = private constant [9 x i8] c"*VL__i64\00" +@tn.str.248 = private constant [8 x i8] c"*string\00" +@tn.str.249 = private constant [4 x i8] c"*u8\00" +@tn.str.250 = private constant [6 x i8] c"*bool\00" +@tn.str.251 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.252 = private constant [5 x i8] c"*f64\00" +@tn.str.253 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.254 = private constant [11 x i8] c"*Allocator\00" +@tn.str.255 = private constant [9 x i8] c"*Context\00" +@tn.str.256 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.257 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.258 = private constant [8 x i8] c"*Member\00" +@tn.str.259 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.260 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.261 = private constant [9 x i8] c"*Command\00" +@tn.str.262 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.263 = private constant [7 x i8] c"*Event\00" +@tn.str.264 = private constant [8 x i8] c"*Config\00" +@tn.str.265 = private constant [6 x i8] c"*Conn\00" +@tn.str.266 = private constant [3 x i8] c"*R\00" +@tn.str.267 = private constant [10 x i8] c"*Combined\00" +@tn.str.268 = private constant [4 x i8] c"*VL\00" +@tn.str.269 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.270 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.271 = private constant [7 x i8] c"*Value\00" +@tn.str.272 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.273 = private constant [14 x i8] c"*Architecture\00" +@tn.str.274 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.275 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.276 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.277 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.278 = private constant [10 x i8] c"*[]string\00" +@tn.str.279 = private constant [6 x i8] c"*[]u8\00" +@tn.str.280 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.281 = private constant [11 x i8] c"*[]Command\00" +@tn.str.282 = private constant [9 x i8] c"*[]Event\00" +@tn.str.283 = private constant [6 x i8] c"*[]VL\00" +@tn.str.284 = private constant [6 x i8] c"**GPA\00" +@tn.str.285 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.286 = private constant [8 x i8] c"**Arena\00" +@tn.str.287 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.288 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.289 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.290 = private constant [7 x i8] c"**File\00" +@tn.str.291 = private constant [6 x i8] c"**i32\00" +@tn.str.292 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.293 = private constant [6 x i8] c"**u32\00" +@tn.str.294 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.295 = private constant [8 x i8] c"**Array\00" +@tn.str.296 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.297 = private constant [9 x i8] c"**Object\00" +@tn.str.298 = private constant [7 x i8] c"**Sink\00" +@tn.str.299 = private constant [9 x i8] c"**Parser\00" +@tn.str.300 = private constant [6 x i8] c"**i64\00" +@tn.str.301 = private constant [9 x i8] c"**Parsed\00" +@tn.str.302 = private constant [7 x i8] c"**Diag\00" +@tn.str.303 = private constant [9 x i8] c"**Sha256\00" +@tn.str.304 = private constant [11 x i8] c"**Timespec\00" +@tn.str.305 = private constant [9 x i8] c"**Kevent\00" +@tn.str.306 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.307 = private constant [7 x i8] c"**Loop\00" +@tn.str.308 = private constant [10 x i8] c"**Request\00" +@tn.str.309 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.310 = private constant [11 x i8] c"**Response\00" +@tn.str.311 = private constant [9 x i8] c"**Server\00" +@tn.str.312 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.313 = private constant [8 x i8] c"***void\00" +@tn.str.314 = private constant [6 x i8] c"**Any\00" +@tn.str.315 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.316 = private constant [8 x i8] c"**[]Any\00" +@tn.str.317 = private constant [11 x i8] c"***IntCell\00" +@tn.str.318 = private constant [20 x i8] c"**__VL__i64__Vtable\00" +@tn.str.319 = private constant [12 x i8] c"**(VL__i64)\00" +@tn.str.320 = private constant [22 x i8] c"***Combined__i64__i64\00" +@tn.str.321 = private constant [10 x i8] c"**VL__i64\00" +@tn.str.322 = private constant [9 x i8] c"**string\00" +@tn.str.323 = private constant [5 x i8] c"**u8\00" +@tn.str.324 = private constant [7 x i8] c"**bool\00" +@tn.str.325 = private constant [7 x i8] c"*?File\00" +@tn.str.326 = private constant [9 x i8] c"*?string\00" +@tn.str.327 = private constant [10 x i8] c"*?cstring\00" +@tn.str.328 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.329 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [227 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 8 }, { ptr, i64 } { ptr @tn.str.227, i64 1 }, { ptr, i64 } { ptr @tn.str.228, i64 8 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 17 }, { ptr, i64 } { ptr @tn.str.231, i64 2 }, { ptr, i64 } { ptr @tn.str.232, i64 4 }, { ptr, i64 } { ptr @tn.str.233, i64 12 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 4 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 9 }, { ptr, i64 } { ptr @tn.str.241, i64 18 }, { ptr, i64 } { ptr @tn.str.242, i64 19 }, { ptr, i64 } { ptr @tn.str.243, i64 9 }, { ptr, i64 } { ptr @tn.str.244, i64 18 }, { ptr, i64 } { ptr @tn.str.245, i64 10 }, { ptr, i64 } { ptr @tn.str.246, i64 20 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 3 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 4 }, { ptr, i64 } { ptr @tn.str.253, i64 16 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 11 }, { ptr, i64 } { ptr @tn.str.257, i64 14 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 13 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 5 }, { ptr, i64 } { ptr @tn.str.266, i64 2 }, { ptr, i64 } { ptr @tn.str.267, i64 9 }, { ptr, i64 } { ptr @tn.str.268, i64 3 }, { ptr, i64 } { ptr @tn.str.269, i64 9 }, { ptr, i64 } { ptr @tn.str.270, i64 9 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 16 }, { ptr, i64 } { ptr @tn.str.273, i64 13 }, { ptr, i64 } { ptr @tn.str.274, i64 14 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 7 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 5 }, { ptr, i64 } { ptr @tn.str.280, i64 11 }, { ptr, i64 } { ptr @tn.str.281, i64 10 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 5 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 12 }, { ptr, i64 } { ptr @tn.str.286, i64 7 }, { ptr, i64 } { ptr @tn.str.287, i64 6 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 19 }, { ptr, i64 } { ptr @tn.str.290, i64 6 }, { ptr, i64 } { ptr @tn.str.291, i64 5 }, { ptr, i64 } { ptr @tn.str.292, i64 10 }, { ptr, i64 } { ptr @tn.str.293, i64 5 }, { ptr, i64 } { ptr @tn.str.294, i64 9 }, { ptr, i64 } { ptr @tn.str.295, i64 7 }, { ptr, i64 } { ptr @tn.str.296, i64 10 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 6 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 6 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 10 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 12 }, { ptr, i64 } { ptr @tn.str.307, i64 6 }, { ptr, i64 } { ptr @tn.str.308, i64 9 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }, { ptr, i64 } { ptr @tn.str.310, i64 10 }, { ptr, i64 } { ptr @tn.str.311, i64 8 }, { ptr, i64 } { ptr @tn.str.312, i64 13 }, { ptr, i64 } { ptr @tn.str.313, i64 7 }, { ptr, i64 } { ptr @tn.str.314, i64 5 }, { ptr, i64 } { ptr @tn.str.315, i64 8 }, { ptr, i64 } { ptr @tn.str.316, i64 7 }, { ptr, i64 } { ptr @tn.str.317, i64 10 }, { ptr, i64 } { ptr @tn.str.318, i64 19 }, { ptr, i64 } { ptr @tn.str.319, i64 11 }, { ptr, i64 } { ptr @tn.str.320, i64 21 }, { ptr, i64 } { ptr @tn.str.321, i64 9 }, { ptr, i64 } { ptr @tn.str.322, i64 8 }, { ptr, i64 } { ptr @tn.str.323, i64 4 }, { ptr, i64 } { ptr @tn.str.324, i64 6 }, { ptr, i64 } { ptr @tn.str.325, i64 6 }, { ptr, i64 } { ptr @tn.str.326, i64 8 }, { ptr, i64 } { ptr @tn.str.327, i64 9 }, { ptr, i64 } { ptr @tn.str.328, i64 15 }, { ptr, i64 } { ptr @tn.str.329, i64 8 }] +@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.332 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.333 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.334 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.335 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.336 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.337 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.334 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.335 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.336 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.337 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.338 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.339 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.340 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.341 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.342 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.343 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.344 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.345 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.347 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.348 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.349 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.350 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.351 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.352 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.353 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.354 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.355 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.356 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.338 = private constant [5 x i8] c"line\00" -@fld.str.339 = private constant [4 x i8] c"col\00" -@fld.str.340 = 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.338, i64 4 }, { ptr, i64 } { ptr @fld.str.339, i64 3 }, { ptr, i64 } { ptr @fld.str.340, i64 4 }] -@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.342 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.343 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.345 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.346 = private constant [4 x i8] c"ctx\00" -@fld.str.347 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.348 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.349 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.346, i64 3 }, { ptr, i64 } { ptr @fld.str.347, i64 11 }, { ptr, i64 } { ptr @fld.str.348, i64 13 }] -@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.351 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.353 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.354 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.355 = private constant [10 x i8] c"allocator\00" -@fld.str.356 = private constant [5 x i8] c"data\00" -@field_names.357 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 9 }, { ptr, i64 } { ptr @fld.str.356, i64 4 }] -@str.358 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.359 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.361 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.362 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.363 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.367 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.368 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.369 = private constant [12 x i8] c"alloc_count\00" -@field_names.370 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 11 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.375 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.376 = private constant [5 x i8] c"next\00" -@fld.str.377 = private constant [4 x i8] c"cap\00" -@field_names.378 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 4 }, { ptr, i64 } { ptr @fld.str.377, i64 3 }] -@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.380 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.383 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.384 = private constant [6 x i8] c"first\00" -@fld.str.385 = private constant [10 x i8] c"end_index\00" -@fld.str.386 = private constant [7 x i8] c"parent\00" -@field_names.387 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.384, i64 5 }, { ptr, i64 } { ptr @fld.str.385, i64 9 }, { ptr, i64 } { ptr @fld.str.386, i64 6 }] -@str.388 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.389 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.390 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.391 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.392 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.393 = private constant [4 x i8] c"buf\00" -@fld.str.394 = private constant [4 x i8] c"len\00" -@fld.str.395 = private constant [4 x i8] c"pos\00" -@field_names.396 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.393, i64 3 }, { ptr, i64 } { ptr @fld.str.394, i64 3 }, { ptr, i64 } { ptr @fld.str.395, i64 3 }] -@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.398 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.399 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.400 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.401 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.402 = private constant [7 x i8] c"parent\00" -@fld.str.403 = private constant [12 x i8] c"alloc_count\00" -@fld.str.404 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.405 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.406 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.402, i64 6 }, { ptr, i64 } { ptr @fld.str.403, i64 11 }, { ptr, i64 } { ptr @fld.str.404, i64 13 }, { ptr, i64 } { ptr @fld.str.405, i64 17 }] -@str.407 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.408 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.409 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.410 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.411 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.412 = private constant [3 x i8] c"fd\00" -@field_names.413 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 2 }] -@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.415 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.416 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.417 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.418 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.419 = private constant [5 x i8] c"file\00" -@fld.str.420 = private constant [5 x i8] c"line\00" -@fld.str.421 = private constant [4 x i8] c"col\00" -@fld.str.422 = private constant [5 x i8] c"func\00" -@fld.str.423 = private constant [10 x i8] c"line_text\00" -@field_names.424 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 4 }, { ptr, i64 } { ptr @fld.str.420, i64 4 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 4 }, { ptr, i64 } { ptr @fld.str.423, i64 9 }] -@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.426 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.427 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.428 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.429 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.430 = private constant [10 x i8] c"exit_code\00" -@fld.str.431 = private constant [7 x i8] c"stdout\00" -@field_names.432 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.430, i64 9 }, { ptr, i64 } { ptr @fld.str.431, i64 6 }] -@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.434 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.435 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.436 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.437 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.438 = private constant [8 x i8] c"sin_len\00" -@fld.str.439 = private constant [11 x i8] c"sin_family\00" -@fld.str.440 = private constant [9 x i8] c"sin_port\00" -@fld.str.441 = private constant [9 x i8] c"sin_addr\00" -@fld.str.442 = private constant [9 x i8] c"sin_zero\00" -@field_names.443 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.438, i64 7 }, { ptr, i64 } { ptr @fld.str.439, i64 10 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }, { ptr, i64 } { ptr @fld.str.441, i64 8 }, { ptr, i64 } { ptr @fld.str.442, i64 8 }] -@str.444 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.445 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.446 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.447 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.448 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.449 = private constant [6 x i8] c"items\00" -@fld.str.450 = private constant [4 x i8] c"len\00" -@fld.str.451 = private constant [4 x i8] c"cap\00" -@field_names.452 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.449, i64 5 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }, { ptr, i64 } { ptr @fld.str.451, i64 3 }] +@fld.str.358 = private constant [5 x i8] c"line\00" +@fld.str.359 = private constant [4 x i8] c"col\00" +@fld.str.360 = 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.358, i64 4 }, { ptr, i64 } { ptr @fld.str.359, i64 3 }, { ptr, i64 } { ptr @fld.str.360, i64 4 }] +@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.362 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.363 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.365 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.366 = private constant [4 x i8] c"ctx\00" +@fld.str.367 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.368 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.369 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.366, i64 3 }, { ptr, i64 } { ptr @fld.str.367, i64 11 }, { ptr, i64 } { ptr @fld.str.368, i64 13 }] +@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.371 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.375 = private constant [10 x i8] c"allocator\00" +@fld.str.376 = private constant [5 x i8] c"data\00" +@field_names.377 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 9 }, { ptr, i64 } { ptr @fld.str.376, i64 4 }] +@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.379 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.383 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.385 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.389 = private constant [12 x i8] c"alloc_count\00" +@field_names.390 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 11 }] +@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.392 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.396 = private constant [5 x i8] c"next\00" +@fld.str.397 = private constant [4 x i8] c"cap\00" +@field_names.398 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 4 }, { ptr, i64 } { ptr @fld.str.397, i64 3 }] +@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.400 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.404 = private constant [6 x i8] c"first\00" +@fld.str.405 = private constant [10 x i8] c"end_index\00" +@fld.str.406 = private constant [7 x i8] c"parent\00" +@field_names.407 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 5 }, { ptr, i64 } { ptr @fld.str.405, i64 9 }, { ptr, i64 } { ptr @fld.str.406, i64 6 }] +@str.408 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.409 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.410 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.411 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.412 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.413 = private constant [4 x i8] c"buf\00" +@fld.str.414 = private constant [4 x i8] c"len\00" +@fld.str.415 = private constant [4 x i8] c"pos\00" +@field_names.416 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.413, i64 3 }, { ptr, i64 } { ptr @fld.str.414, i64 3 }, { ptr, i64 } { ptr @fld.str.415, i64 3 }] +@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.418 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.422 = private constant [7 x i8] c"parent\00" +@fld.str.423 = private constant [12 x i8] c"alloc_count\00" +@fld.str.424 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.425 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.426 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 6 }, { ptr, i64 } { ptr @fld.str.423, i64 11 }, { ptr, i64 } { ptr @fld.str.424, i64 13 }, { ptr, i64 } { ptr @fld.str.425, i64 17 }] +@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.428 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.429 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.430 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.431 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.432 = private constant [3 x i8] c"fd\00" +@field_names.433 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.432, i64 2 }] +@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.435 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.436 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.437 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.438 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.439 = private constant [5 x i8] c"file\00" +@fld.str.440 = private constant [5 x i8] c"line\00" +@fld.str.441 = private constant [4 x i8] c"col\00" +@fld.str.442 = private constant [5 x i8] c"func\00" +@fld.str.443 = private constant [10 x i8] c"line_text\00" +@field_names.444 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 4 }, { ptr, i64 } { ptr @fld.str.440, i64 4 }, { ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 4 }, { ptr, i64 } { ptr @fld.str.443, i64 9 }] +@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.446 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.450 = private constant [10 x i8] c"exit_code\00" +@fld.str.451 = private constant [7 x i8] c"stdout\00" +@field_names.452 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 9 }, { ptr, i64 } { ptr @fld.str.451, i64 6 }] @str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.454 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.455 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.456 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.457 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.458 = private constant [6 x i8] c"items\00" -@fld.str.459 = private constant [4 x i8] c"len\00" -@fld.str.460 = private constant [4 x i8] c"cap\00" -@field_names.461 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 5 }, { ptr, i64 } { ptr @fld.str.459, i64 3 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [4 x i8] c"key\00" -@fld.str.468 = private constant [4 x i8] c"val\00" -@field_names.469 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 3 }, { ptr, i64 } { ptr @fld.str.468, i64 3 }] -@str.470 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.471 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.472 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.473 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.474 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.475 = private constant [4 x i8] c"dst\00" -@fld.str.476 = private constant [4 x i8] c"pos\00" -@fld.str.477 = private constant [5 x i8] c"file\00" -@field_names.478 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.475, i64 3 }, { ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 4 }] -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.483 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.484 = private constant [4 x i8] c"src\00" -@fld.str.485 = private constant [4 x i8] c"pos\00" -@fld.str.486 = private constant [6 x i8] c"alloc\00" -@field_names.487 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 3 }, { ptr, i64 } { ptr @fld.str.485, i64 3 }, { ptr, i64 } { ptr @fld.str.486, i64 5 }] -@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.489 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.491 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.492 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.493 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.494 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.495 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.496 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.498 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.499 = private constant [5 x i8] c"name\00" -@fld.str.500 = private constant [12 x i8] c"takes_value\00" -@fld.str.501 = private constant [9 x i8] c"required\00" -@field_names.502 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.499, i64 4 }, { ptr, i64 } { ptr @fld.str.500, i64 11 }, { ptr, i64 } { ptr @fld.str.501, i64 8 }] -@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.504 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.505 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.507 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.508 = private constant [6 x i8] c"group\00" -@fld.str.509 = private constant [8 x i8] c"command\00" -@fld.str.510 = private constant [6 x i8] c"flags\00" -@field_names.511 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 5 }, { ptr, i64 } { ptr @fld.str.509, i64 7 }, { ptr, i64 } { ptr @fld.str.510, i64 5 }] -@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.513 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.517 = private constant [4 x i8] c"set\00" -@fld.str.518 = private constant [6 x i8] c"value\00" -@field_names.519 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 3 }, { ptr, i64 } { ptr @fld.str.518, i64 5 }] -@str.520 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.521 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.523 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.524 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.525 = private constant [6 x i8] c"index\00" -@fld.str.526 = private constant [6 x i8] c"token\00" -@field_names.527 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }] -@str.528 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.529 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.530 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.531 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.532 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.533 = private constant [6 x i8] c"group\00" -@fld.str.534 = private constant [8 x i8] c"command\00" -@fld.str.535 = private constant [10 x i8] c"cmd_index\00" -@fld.str.536 = private constant [5 x i8] c"json\00" -@fld.str.537 = private constant [5 x i8] c"rest\00" -@fld.str.538 = private constant [5 x i8] c"spec\00" -@fld.str.539 = private constant [7 x i8] c"values\00" -@field_names.540 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.533, i64 5 }, { ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 9 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 4 }, { ptr, i64 } { ptr @fld.str.538, i64 4 }, { ptr, i64 } { ptr @fld.str.539, i64 6 }] -@str.541 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.542 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.544 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.545 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.546 = private constant [2 x i8] c"h\00" -@fld.str.547 = private constant [4 x i8] c"buf\00" -@fld.str.548 = private constant [8 x i8] c"buf_len\00" -@fld.str.549 = private constant [10 x i8] c"total_len\00" -@field_names.550 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 1 }, { ptr, i64 } { ptr @fld.str.547, i64 3 }, { ptr, i64 } { ptr @fld.str.548, i64 7 }, { ptr, i64 } { ptr @fld.str.549, i64 9 }] -@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.552 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.556 = private constant [4 x i8] c"sec\00" -@fld.str.557 = private constant [5 x i8] c"nsec\00" -@field_names.558 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 3 }, { ptr, i64 } { ptr @fld.str.557, i64 4 }] -@str.559 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.560 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.561 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.562 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.563 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.564 = private constant [6 x i8] c"ident\00" -@fld.str.565 = private constant [7 x i8] c"filter\00" -@fld.str.566 = private constant [6 x i8] c"flags\00" -@fld.str.567 = private constant [7 x i8] c"fflags\00" -@fld.str.568 = private constant [5 x i8] c"data\00" -@fld.str.569 = private constant [6 x i8] c"udata\00" -@field_names.570 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 6 }, { ptr, i64 } { ptr @fld.str.566, i64 5 }, { ptr, i64 } { ptr @fld.str.567, i64 6 }, { ptr, i64 } { ptr @fld.str.568, i64 4 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }] +@fld.str.458 = private constant [8 x i8] c"sin_len\00" +@fld.str.459 = private constant [11 x i8] c"sin_family\00" +@fld.str.460 = private constant [9 x i8] c"sin_port\00" +@fld.str.461 = private constant [9 x i8] c"sin_addr\00" +@fld.str.462 = private constant [9 x i8] c"sin_zero\00" +@field_names.463 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 7 }, { ptr, i64 } { ptr @fld.str.459, i64 10 }, { ptr, i64 } { ptr @fld.str.460, i64 8 }, { ptr, i64 } { ptr @fld.str.461, i64 8 }, { ptr, i64 } { ptr @fld.str.462, i64 8 }] +@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.465 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.469 = private constant [6 x i8] c"items\00" +@fld.str.470 = private constant [4 x i8] c"len\00" +@fld.str.471 = private constant [4 x i8] c"cap\00" +@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 5 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 3 }] +@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.474 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.478 = private constant [6 x i8] c"items\00" +@fld.str.479 = private constant [4 x i8] c"len\00" +@fld.str.480 = private constant [4 x i8] c"cap\00" +@field_names.481 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.487 = private constant [4 x i8] c"key\00" +@fld.str.488 = private constant [4 x i8] c"val\00" +@field_names.489 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }] +@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.491 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.495 = private constant [4 x i8] c"dst\00" +@fld.str.496 = private constant [4 x i8] c"pos\00" +@fld.str.497 = private constant [5 x i8] c"file\00" +@field_names.498 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 4 }] +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.504 = private constant [4 x i8] c"src\00" +@fld.str.505 = private constant [4 x i8] c"pos\00" +@fld.str.506 = private constant [6 x i8] c"alloc\00" +@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 3 }, { ptr, i64 } { ptr @fld.str.506, i64 5 }] +@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.509 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.513 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.514 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.515 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.516 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.517 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.518 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.519 = private constant [5 x i8] c"name\00" +@fld.str.520 = private constant [12 x i8] c"takes_value\00" +@fld.str.521 = private constant [9 x i8] c"required\00" +@field_names.522 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.519, i64 4 }, { ptr, i64 } { ptr @fld.str.520, i64 11 }, { ptr, i64 } { ptr @fld.str.521, i64 8 }] +@str.523 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.524 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.525 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.526 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.527 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.528 = private constant [6 x i8] c"group\00" +@fld.str.529 = private constant [8 x i8] c"command\00" +@fld.str.530 = private constant [6 x i8] c"flags\00" +@field_names.531 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }] +@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.533 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.537 = private constant [4 x i8] c"set\00" +@fld.str.538 = private constant [6 x i8] c"value\00" +@field_names.539 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 5 }] +@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.541 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.545 = private constant [6 x i8] c"index\00" +@fld.str.546 = private constant [6 x i8] c"token\00" +@field_names.547 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 5 }] +@str.548 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.549 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.550 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.551 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.552 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.553 = private constant [6 x i8] c"group\00" +@fld.str.554 = private constant [8 x i8] c"command\00" +@fld.str.555 = private constant [10 x i8] c"cmd_index\00" +@fld.str.556 = private constant [5 x i8] c"json\00" +@fld.str.557 = private constant [5 x i8] c"rest\00" +@fld.str.558 = private constant [5 x i8] c"spec\00" +@fld.str.559 = private constant [7 x i8] c"values\00" +@field_names.560 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.553, i64 5 }, { ptr, i64 } { ptr @fld.str.554, i64 7 }, { ptr, i64 } { ptr @fld.str.555, i64 9 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }, { ptr, i64 } { ptr @fld.str.557, i64 4 }, { ptr, i64 } { ptr @fld.str.558, i64 4 }, { ptr, i64 } { ptr @fld.str.559, i64 6 }] +@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.562 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.563 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.564 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.565 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.566 = private constant [2 x i8] c"h\00" +@fld.str.567 = private constant [4 x i8] c"buf\00" +@fld.str.568 = private constant [8 x i8] c"buf_len\00" +@fld.str.569 = private constant [10 x i8] c"total_len\00" +@field_names.570 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 1 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 7 }, { ptr, i64 } { ptr @fld.str.569, i64 9 }] @str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.572 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.572 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -513,286 +513,382 @@ @fld.str.577 = private constant [5 x i8] c"nsec\00" @field_names.578 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 4 }] @str.579 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.580 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.580 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.581 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.582 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.583 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.584 = private constant [3 x i8] c"fd\00" -@fld.str.585 = private constant [6 x i8] c"udata\00" -@fld.str.586 = private constant [9 x i8] c"readable\00" -@fld.str.587 = private constant [9 x i8] c"writable\00" -@fld.str.588 = private constant [4 x i8] c"eof\00" -@fld.str.589 = private constant [4 x i8] c"err\00" -@fld.str.590 = private constant [7 x i8] c"nbytes\00" -@field_names.591 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 2 }, { ptr, i64 } { ptr @fld.str.585, i64 5 }, { ptr, i64 } { ptr @fld.str.586, i64 8 }, { ptr, i64 } { ptr @fld.str.587, i64 8 }, { ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 3 }, { ptr, i64 } { ptr @fld.str.590, i64 6 }] -@str.592 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.593 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.594 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.595 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.596 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.597 = private constant [3 x i8] c"kq\00" -@field_names.598 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.597, i64 2 }] +@fld.str.584 = private constant [6 x i8] c"ident\00" +@fld.str.585 = private constant [7 x i8] c"filter\00" +@fld.str.586 = private constant [6 x i8] c"flags\00" +@fld.str.587 = private constant [7 x i8] c"fflags\00" +@fld.str.588 = private constant [5 x i8] c"data\00" +@fld.str.589 = private constant [6 x i8] c"udata\00" +@field_names.590 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 6 }, { ptr, i64 } { ptr @fld.str.586, i64 5 }, { ptr, i64 } { ptr @fld.str.587, i64 6 }, { ptr, i64 } { ptr @fld.str.588, i64 4 }, { ptr, i64 } { ptr @fld.str.589, i64 5 }] +@str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.592 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.596 = private constant [4 x i8] c"sec\00" +@fld.str.597 = private constant [5 x i8] c"nsec\00" +@field_names.598 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }] @str.599 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.600 = private unnamed_addr constant [8 x i8] c"IntCell\00", align 1 +@str.600 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.601 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.602 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.603 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.604 = private constant [2 x i8] c"v\00" -@field_names.605 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 1 }] -@str.606 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c"R\00", align 1 -@str.608 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.609 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.610 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.611 = private constant [0 x { ptr, i64 }] zeroinitializer +@fld.str.604 = private constant [3 x i8] c"fd\00" +@fld.str.605 = private constant [6 x i8] c"udata\00" +@fld.str.606 = private constant [9 x i8] c"readable\00" +@fld.str.607 = private constant [9 x i8] c"writable\00" +@fld.str.608 = private constant [4 x i8] c"eof\00" +@fld.str.609 = private constant [4 x i8] c"err\00" +@fld.str.610 = private constant [7 x i8] c"nbytes\00" +@field_names.611 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 2 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 8 }, { ptr, i64 } { ptr @fld.str.607, i64 8 }, { ptr, i64 } { ptr @fld.str.608, i64 3 }, { ptr, i64 } { ptr @fld.str.609, i64 3 }, { ptr, i64 } { ptr @fld.str.610, i64 6 }] @str.612 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.613 = private unnamed_addr constant [9 x i8] c"Combined\00", align 1 +@str.613 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 @str.614 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.615 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.616 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.617 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.618 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.619 = private unnamed_addr constant [8 x i8] c"VL__i64\00", align 1 -@str.620 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.621 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.622 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.623 = private constant [4 x i8] c"ctx\00" -@fld.str.624 = private constant [9 x i8] c"__vtable\00" -@field_names.625 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.623, i64 3 }, { ptr, i64 } { ptr @fld.str.624, i64 8 }] -@str.626 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.627 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.630 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.631 = private constant [4 x i8] c"get\00" -@field_names.632 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.631, i64 3 }] -@str.633 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.634 = private unnamed_addr constant [3 x i8] c"VL\00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.638 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.640 = private unnamed_addr constant [19 x i8] c"Combined__i64__i64\00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.644 = private constant [8 x i8] c"sources\00" -@fld.str.645 = private constant [6 x i8] c"value\00" -@field_names.646 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 7 }, { ptr, i64 } { ptr @fld.str.645, i64 5 }] -@str.647 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.649 = private constant [5 x i8] c"read\00" -@fld.str.650 = private constant [6 x i8] c"write\00" -@fld.str.651 = private constant [7 x i8] c"append\00" -@fld.str.652 = private constant [11 x i8] c"read_write\00" -@field_names.653 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.649, i64 4 }, { ptr, i64 } { ptr @fld.str.650, i64 5 }, { ptr, i64 } { ptr @fld.str.651, i64 6 }, { ptr, i64 } { ptr @fld.str.652, i64 10 }] -@str.654 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.657 = private constant [4 x i8] c"set\00" -@fld.str.658 = private constant [8 x i8] c"current\00" -@fld.str.659 = private constant [4 x i8] c"end\00" -@field_names.660 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.657, i64 3 }, { ptr, i64 } { ptr @fld.str.658, i64 7 }, { ptr, i64 } { ptr @fld.str.659, i64 3 }] -@str.661 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.664 = private constant [6 x i8] c"null_\00" -@fld.str.665 = private constant [6 x i8] c"bool_\00" -@fld.str.666 = private constant [5 x i8] c"int_\00" -@fld.str.667 = private constant [4 x i8] c"str\00" -@fld.str.668 = private constant [6 x i8] c"array\00" -@fld.str.669 = private constant [7 x i8] c"object\00" -@field_names.670 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 5 }, { ptr, i64 } { ptr @fld.str.666, i64 4 }, { ptr, i64 } { ptr @fld.str.667, i64 3 }, { ptr, i64 } { ptr @fld.str.668, i64 5 }, { ptr, i64 } { ptr @fld.str.669, i64 6 }] -@str.671 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.672 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.673 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.674 = private constant [6 x i8] c"macos\00" -@fld.str.675 = private constant [6 x i8] c"linux\00" -@fld.str.676 = private constant [8 x i8] c"windows\00" -@fld.str.677 = private constant [5 x i8] c"wasm\00" -@fld.str.678 = private constant [4 x i8] c"ios\00" -@fld.str.679 = private constant [8 x i8] c"android\00" -@fld.str.680 = private constant [8 x i8] c"unknown\00" -@field_names.681 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.674, i64 5 }, { ptr, i64 } { ptr @fld.str.675, i64 5 }, { ptr, i64 } { ptr @fld.str.676, i64 7 }, { ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 7 }, { ptr, i64 } { ptr @fld.str.680, i64 7 }] -@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.685 = private constant [8 x i8] c"aarch64\00" -@fld.str.686 = private constant [7 x i8] c"x86_64\00" -@fld.str.687 = private constant [7 x i8] c"wasm32\00" -@fld.str.688 = private constant [7 x i8] c"wasm64\00" -@fld.str.689 = private constant [8 x i8] c"unknown\00" -@field_names.690 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 7 }, { ptr, i64 } { ptr @fld.str.686, i64 6 }, { ptr, i64 } { ptr @fld.str.687, i64 6 }, { ptr, i64 } { ptr @fld.str.688, i64 6 }, { ptr, i64 } { ptr @fld.str.689, i64 7 }] -@str.691 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.692 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.693 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.694 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.695 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.697 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.698 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.699 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.700 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.701 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.702 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.703 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.704 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.707 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.708 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.710 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.711 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.712 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.713 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.714 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.715 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.716 = private unnamed_addr constant [3 x i8] c", \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 -@str.720 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.721 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.723 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.724 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.725 = private unnamed_addr constant [3 x i8] c", \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 -@str.729 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.730 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.778 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.781 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.784 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.790 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.793 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.796 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.799 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.802 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.805 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.808 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.811 = private unnamed_addr constant [9 x i8] c"*IntCell\00", align 1 -@str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.814 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.617 = private constant [3 x i8] c"kq\00" +@field_names.618 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 2 }] +@str.619 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.620 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.621 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.622 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.623 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.624 = private constant [5 x i8] c"port\00" +@fld.str.625 = private constant [8 x i8] c"backlog\00" +@fld.str.626 = private constant [9 x i8] c"max_conn\00" +@fld.str.627 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.628 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.629 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.630 = private constant [14 x i8] c"request_count\00" +@field_names.631 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 4 }, { ptr, i64 } { ptr @fld.str.625, i64 7 }, { ptr, i64 } { ptr @fld.str.626, i64 8 }, { ptr, i64 } { ptr @fld.str.627, i64 12 }, { ptr, i64 } { ptr @fld.str.628, i64 18 }, { ptr, i64 } { ptr @fld.str.629, i64 20 }, { ptr, i64 } { ptr @fld.str.630, i64 13 }] +@str.632 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.633 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.635 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.636 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.637 = private constant [7 x i8] c"method\00" +@fld.str.638 = private constant [5 x i8] c"path\00" +@fld.str.639 = private constant [8 x i8] c"version\00" +@fld.str.640 = private constant [12 x i8] c"headers_raw\00" +@fld.str.641 = private constant [5 x i8] c"body\00" +@fld.str.642 = private constant [11 x i8] c"keep_alive\00" +@field_names.643 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.637, i64 6 }, { ptr, i64 } { ptr @fld.str.638, i64 4 }, { ptr, i64 } { ptr @fld.str.639, i64 7 }, { ptr, i64 } { ptr @fld.str.640, i64 11 }, { ptr, i64 } { ptr @fld.str.641, i64 4 }, { ptr, i64 } { ptr @fld.str.642, i64 10 }] +@str.644 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.645 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.646 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.647 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.649 = private constant [7 x i8] c"status\00" +@fld.str.650 = private constant [13 x i8] c"content_type\00" +@fld.str.651 = private constant [14 x i8] c"extra_headers\00" +@fld.str.652 = private constant [5 x i8] c"body\00" +@field_names.653 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.649, i64 6 }, { ptr, i64 } { ptr @fld.str.650, i64 12 }, { ptr, i64 } { ptr @fld.str.651, i64 13 }, { ptr, i64 } { ptr @fld.str.652, i64 4 }] +@str.654 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.655 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.656 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.657 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.659 = private constant [3 x i8] c"fd\00" +@fld.str.660 = private constant [6 x i8] c"state\00" +@fld.str.661 = private constant [9 x i8] c"read_buf\00" +@fld.str.662 = private constant [9 x i8] c"read_len\00" +@fld.str.663 = private constant [8 x i8] c"out_buf\00" +@fld.str.664 = private constant [8 x i8] c"out_len\00" +@fld.str.665 = private constant [9 x i8] c"out_sent\00" +@fld.str.666 = private constant [9 x i8] c"deadline\00" +@fld.str.667 = private constant [7 x i8] c"served\00" +@fld.str.668 = private constant [12 x i8] c"close_after\00" +@fld.str.669 = private constant [12 x i8] c"write_armed\00" +@field_names.670 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.659, i64 2 }, { ptr, i64 } { ptr @fld.str.660, i64 5 }, { ptr, i64 } { ptr @fld.str.661, i64 8 }, { ptr, i64 } { ptr @fld.str.662, i64 8 }, { ptr, i64 } { ptr @fld.str.663, i64 7 }, { ptr, i64 } { ptr @fld.str.664, i64 7 }, { ptr, i64 } { ptr @fld.str.665, i64 8 }, { ptr, i64 } { ptr @fld.str.666, i64 8 }, { ptr, i64 } { ptr @fld.str.667, i64 6 }, { ptr, i64 } { ptr @fld.str.668, i64 11 }, { ptr, i64 } { ptr @fld.str.669, i64 11 }] +@str.671 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.672 = private unnamed_addr constant [7 x i8] c"Server\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.676 = private constant [4 x i8] c"cfg\00" +@fld.str.677 = private constant [5 x i8] c"loop\00" +@fld.str.678 = private constant [4 x i8] c"lfd\00" +@fld.str.679 = private constant [6 x i8] c"conns\00" +@fld.str.680 = private constant [10 x i8] c"own_alloc\00" +@fld.str.681 = private constant [8 x i8] c"handler\00" +@field_names.682 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.676, i64 3 }, { ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 5 }, { ptr, i64 } { ptr @fld.str.680, i64 9 }, { ptr, i64 } { ptr @fld.str.681, i64 7 }] +@str.683 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.684 = private unnamed_addr constant [8 x i8] c"IntCell\00", align 1 +@str.685 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.687 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.688 = private constant [2 x i8] c"v\00" +@field_names.689 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.688, i64 1 }] +@str.690 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.691 = private unnamed_addr constant [2 x i8] c"R\00", align 1 +@str.692 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.694 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.695 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [9 x i8] c"Combined\00", align 1 +@str.698 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.699 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.700 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.701 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.702 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.703 = private unnamed_addr constant [8 x i8] c"VL__i64\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 [9 x i8] c"__vtable\00" +@field_names.709 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.707, i64 3 }, { ptr, i64 } { ptr @fld.str.708, i64 8 }] +@str.710 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.711 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.714 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.715 = private constant [4 x i8] c"get\00" +@field_names.716 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.715, i64 3 }] +@str.717 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.718 = private unnamed_addr constant [3 x i8] c"VL\00", align 1 +@str.719 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.722 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.723 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.724 = private unnamed_addr constant [19 x i8] c"Combined__i64__i64\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.728 = private constant [8 x i8] c"sources\00" +@fld.str.729 = private constant [6 x i8] c"value\00" +@field_names.730 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.728, i64 7 }, { ptr, i64 } { ptr @fld.str.729, i64 5 }] +@str.731 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.733 = private constant [5 x i8] c"read\00" +@fld.str.734 = private constant [6 x i8] c"write\00" +@fld.str.735 = private constant [7 x i8] c"append\00" +@fld.str.736 = private constant [11 x i8] c"read_write\00" +@field_names.737 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.733, i64 4 }, { ptr, i64 } { ptr @fld.str.734, i64 5 }, { ptr, i64 } { ptr @fld.str.735, i64 6 }, { ptr, i64 } { ptr @fld.str.736, i64 10 }] +@str.738 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.740 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.741 = private constant [4 x i8] c"set\00" +@fld.str.742 = private constant [8 x i8] c"current\00" +@fld.str.743 = private constant [4 x i8] c"end\00" +@field_names.744 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.741, i64 3 }, { ptr, i64 } { ptr @fld.str.742, i64 7 }, { ptr, i64 } { ptr @fld.str.743, i64 3 }] +@str.745 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.748 = private constant [6 x i8] c"null_\00" +@fld.str.749 = private constant [6 x i8] c"bool_\00" +@fld.str.750 = private constant [5 x i8] c"int_\00" +@fld.str.751 = private constant [4 x i8] c"str\00" +@fld.str.752 = private constant [6 x i8] c"array\00" +@fld.str.753 = private constant [7 x i8] c"object\00" +@field_names.754 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.748, i64 5 }, { ptr, i64 } { ptr @fld.str.749, i64 5 }, { ptr, i64 } { ptr @fld.str.750, i64 4 }, { ptr, i64 } { ptr @fld.str.751, i64 3 }, { ptr, i64 } { ptr @fld.str.752, i64 5 }, { ptr, i64 } { ptr @fld.str.753, i64 6 }] +@str.755 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.756 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.757 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.758 = private constant [6 x i8] c"macos\00" +@fld.str.759 = private constant [6 x i8] c"linux\00" +@fld.str.760 = private constant [8 x i8] c"windows\00" +@fld.str.761 = private constant [5 x i8] c"wasm\00" +@fld.str.762 = private constant [4 x i8] c"ios\00" +@fld.str.763 = private constant [8 x i8] c"android\00" +@fld.str.764 = private constant [8 x i8] c"unknown\00" +@field_names.765 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.758, i64 5 }, { ptr, i64 } { ptr @fld.str.759, i64 5 }, { ptr, i64 } { ptr @fld.str.760, i64 7 }, { ptr, i64 } { ptr @fld.str.761, i64 4 }, { ptr, i64 } { ptr @fld.str.762, i64 3 }, { ptr, i64 } { ptr @fld.str.763, i64 7 }, { ptr, i64 } { ptr @fld.str.764, i64 7 }] +@str.766 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.767 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.768 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.769 = private constant [8 x i8] c"aarch64\00" +@fld.str.770 = private constant [7 x i8] c"x86_64\00" +@fld.str.771 = private constant [7 x i8] c"wasm32\00" +@fld.str.772 = private constant [7 x i8] c"wasm64\00" +@fld.str.773 = private constant [8 x i8] c"unknown\00" +@field_names.774 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.769, i64 7 }, { ptr, i64 } { ptr @fld.str.770, i64 6 }, { ptr, i64 } { ptr @fld.str.771, i64 6 }, { ptr, i64 } { ptr @fld.str.772, i64 6 }, { ptr, i64 } { ptr @fld.str.773, i64 7 }] +@str.775 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.776 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.777 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.778 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.779 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.782 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.783 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.784 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.785 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.786 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.788 = private unnamed_addr constant [3 x i8] c", \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 +@str.792 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.794 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.795 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.796 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.797 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.798 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.799 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.800 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.801 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.803 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.804 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.806 = private unnamed_addr constant [3 x i8] c", \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 +@str.810 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.812 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.813 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.814 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.815 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.817 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.817 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.820 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.820 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.823 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.823 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.826 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.826 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.829 = private unnamed_addr constant [20 x i8] c"*Combined__i64__i64\00", align 1 +@str.829 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.832 = private unnamed_addr constant [10 x i8] c"**IntCell\00", align 1 +@str.832 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.835 = private unnamed_addr constant [19 x i8] c"*__VL__i64__Vtable\00", align 1 +@str.835 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.838 = private unnamed_addr constant [7 x i8] c"*tuple\00", align 1 +@str.838 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.841 = private unnamed_addr constant [21 x i8] c"**Combined__i64__i64\00", align 1 +@str.841 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.844 = private unnamed_addr constant [9 x i8] c"*VL__i64\00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.847 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.847 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.850 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.850 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.853 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.853 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.863 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.866 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.872 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.873 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.874 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.875 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.878 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.879 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.880 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.881 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.882 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.883 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.884 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.885 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.886 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.887 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.888 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.889 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.890 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.891 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.892 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.893 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.894 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.895 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.896 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.897 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.898 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.899 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.900 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.901 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.902 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.903 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.904 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.905 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.906 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.907 = private unnamed_addr constant [9 x i8] c"*IntCell\00", align 1 +@str.908 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.909 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.910 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.911 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.912 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.913 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.914 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.915 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.917 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.918 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.919 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.920 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.921 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.922 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.923 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.924 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.925 = private unnamed_addr constant [20 x i8] c"*Combined__i64__i64\00", align 1 +@str.926 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.927 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.928 = private unnamed_addr constant [10 x i8] c"**IntCell\00", align 1 +@str.929 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.930 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.931 = private unnamed_addr constant [19 x i8] c"*__VL__i64__Vtable\00", align 1 +@str.932 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.933 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.934 = private unnamed_addr constant [7 x i8] c"*tuple\00", align 1 +@str.935 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.936 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.937 = private unnamed_addr constant [21 x i8] c"**Combined__i64__i64\00", align 1 +@str.938 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.939 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.940 = private unnamed_addr constant [9 x i8] c"*VL__i64\00", align 1 +@str.941 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.942 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.943 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.944 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.945 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.946 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.947 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.948 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.949 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.950 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.951 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.952 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.953 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.954 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.955 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1230,38 +1326,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.465 + br label %while.hdr.499 -while.hdr.465: ; preds = %if.merge.470, %entry +while.hdr.499: ; preds = %if.merge.504, %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.466, label %while.exit.467 + br i1 %icmp, label %while.body.500, label %while.exit.501 -while.body.466: ; preds = %while.hdr.465 +while.body.500: ; preds = %while.hdr.499 %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.468, label %if.else.469 + br i1 %icmpN, label %if.then.502, label %if.else.503 -while.exit.467: ; preds = %while.hdr.465 +while.exit.501: ; preds = %while.hdr.499 ret void -if.then.468: ; preds = %while.body.466 +if.then.502: ; preds = %while.body.500 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.470 + br label %if.merge.504 -if.else.469: ; preds = %while.body.466 +if.else.503: ; preds = %while.body.500 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.470 + br label %if.merge.504 -if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi i64 [ %addN, %if.then.468 ], [ %addN, %if.else.469 ] +if.merge.504: ; preds = %if.else.503, %if.then.502 + %bp = phi i64 [ %addN, %if.then.502 ], [ %addN, %if.else.503 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1274,7 +1370,7 @@ if.merge.470: ; preds = %if.else.469, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.465 + br label %while.hdr.499 } ; Function Attrs: nounwind @@ -1387,12 +1483,12 @@ entry: 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.463, label %if.merge.464 + br i1 %icmp, label %if.then.497, label %if.merge.498 -if.then.463: ; preds = %entry +if.then.497: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.464: ; preds = %entry +if.merge.498: ; 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 @@ -1415,14 +1511,14 @@ if.merge.464: ; preds = %entry %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.471 + br label %while.hdr.505 -while.hdr.471: ; preds = %if.merge.475, %if.merge.464 +while.hdr.505: ; preds = %if.merge.509, %if.merge.498 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.472, label %while.exit.473 + br i1 %icmpN, label %while.body.506, label %while.exit.507 -while.body.472: ; preds = %while.hdr.471 +while.body.506: ; preds = %while.hdr.505 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1430,9 +1526,9 @@ while.body.472: ; preds = %while.hdr.471 %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.474, label %if.merge.475 + br i1 %icmpN, label %if.then.508, label %if.merge.509 -while.exit.473: ; preds = %if.then.474, %while.hdr.471 +while.exit.507: ; preds = %if.then.508, %while.hdr.505 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1440,14 +1536,14 @@ while.exit.473: ; preds = %if.then.474, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.474: ; preds = %while.body.472 - br label %while.exit.473 +if.then.508: ; preds = %while.body.506 + br label %while.exit.507 -if.merge.475: ; preds = %while.body.472 +if.merge.509: ; preds = %while.body.506 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.471 + br label %while.hdr.505 } ; Function Attrs: nounwind @@ -1595,13 +1691,18 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 - i64 110, label %match.arm.43 + i64 111, label %match.arm.43 i64 112, label %match.arm.43 i64 113, label %match.arm.43 - i64 114, label %match.arm.43 i64 115, label %match.arm.43 - i64 116, label %match.arm.43 + i64 119, label %match.arm.43 + i64 122, label %match.arm.43 + i64 124, label %match.arm.43 + i64 125, label %match.arm.43 i64 126, label %match.arm.43 + i64 127, label %match.arm.43 + i64 128, label %match.arm.43 + i64 138, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1612,19 +1713,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 122, label %match.arm.47 + i64 134, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 117, label %match.arm.48 - i64 120, label %match.arm.48 + i64 129, label %match.arm.48 + i64 132, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1651,21 +1753,25 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 111, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 + i64 114, label %match.arm.49 + i64 116, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 i64 123, label %match.arm.49 - i64 124, label %match.arm.49 - i64 127, label %match.arm.49 - i64 128, label %match.arm.49 - i64 129, label %match.arm.49 i64 130, label %match.arm.49 i64 131, label %match.arm.49 - i64 132, label %match.arm.49 i64 133, label %match.arm.49 - i64 134, label %match.arm.49 i64 135, label %match.arm.49 + i64 136, label %match.arm.49 + i64 139, label %match.arm.49 + i64 140, label %match.arm.49 + i64 141, label %match.arm.49 + i64 142, label %match.arm.49 + i64 143, label %match.arm.49 + i64 144, label %match.arm.49 + i64 145, label %match.arm.49 + i64 146, label %match.arm.49 + i64 147, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1674,7 +1780,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.596, %dispatch.merge.417, %dispatch.merge.373, %dispatch.merge.335, %dispatch.merge.318, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.642, %dispatch.merge.447, %dispatch.merge.403, %dispatch.merge.365, %dispatch.merge.348, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1688,7 +1794,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [209 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [227 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1716,7 +1822,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1751,35 +1857,40 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 - i64 110, label %dispatch.case.126 + i64 111, label %dispatch.case.126 i64 112, label %dispatch.case.127 i64 113, label %dispatch.case.128 - i64 114, label %dispatch.case.129 - i64 115, label %dispatch.case.130 - i64 116, label %dispatch.case.131 - i64 126, label %dispatch.case.132 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 122, label %dispatch.case.131 + i64 124, label %dispatch.case.132 + i64 125, label %dispatch.case.133 + i64 126, label %dispatch.case.134 + i64 127, label %dispatch.case.135 + i64 128, label %dispatch.case.136 + i64 138, label %dispatch.case.137 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.319 [ - i64 38, label %dispatch.case.320 - i64 39, label %dispatch.case.321 - i64 58, label %dispatch.case.322 - i64 74, label %dispatch.case.323 - i64 75, label %dispatch.case.324 + switch i64 %ua.raw20, label %dispatch.default.349 [ + i64 38, label %dispatch.case.350 + i64 39, label %dispatch.case.351 + i64 58, label %dispatch.case.352 + i64 74, label %dispatch.case.353 + i64 75, label %dispatch.case.354 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1791,87 +1902,91 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.336 [ - i64 23, label %dispatch.case.337 - i64 85, label %dispatch.case.338 - i64 91, label %dispatch.case.339 - i64 92, label %dispatch.case.340 - i64 96, label %dispatch.case.341 - i64 122, label %dispatch.case.342 + switch i64 %ua.raw29, label %dispatch.default.366 [ + i64 23, label %dispatch.case.367 + i64 85, label %dispatch.case.368 + i64 91, label %dispatch.case.369 + i64 92, label %dispatch.case.370 + i64 96, label %dispatch.case.371 + i64 134, label %dispatch.case.372 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.374 [ - i64 24, label %dispatch.case.375 - i64 64, label %dispatch.case.376 - i64 81, label %dispatch.case.377 - i64 89, label %dispatch.case.378 - i64 109, label %dispatch.case.379 - i64 117, label %dispatch.case.380 - i64 120, label %dispatch.case.381 + switch i64 %ua.raw33, label %dispatch.default.404 [ + i64 24, label %dispatch.case.405 + i64 64, label %dispatch.case.406 + i64 81, label %dispatch.case.407 + i64 89, label %dispatch.case.408 + i64 109, label %dispatch.case.409 + i64 129, label %dispatch.case.410 + i64 132, label %dispatch.case.411 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.418 [ - i64 19, label %dispatch.case.419 - i64 26, label %dispatch.case.420 - i64 28, label %dispatch.case.421 - i64 30, label %dispatch.case.422 - i64 32, label %dispatch.case.423 - i64 33, label %dispatch.case.424 - i64 35, label %dispatch.case.425 - i64 37, label %dispatch.case.426 - i64 41, label %dispatch.case.427 - i64 48, label %dispatch.case.428 - i64 50, label %dispatch.case.429 - i64 51, label %dispatch.case.430 - i64 60, label %dispatch.case.431 - i64 61, label %dispatch.case.432 - i64 62, label %dispatch.case.433 - i64 63, label %dispatch.case.434 - i64 66, label %dispatch.case.435 - i64 71, label %dispatch.case.436 - i64 78, label %dispatch.case.437 - i64 87, label %dispatch.case.438 - i64 90, label %dispatch.case.439 - i64 94, label %dispatch.case.440 - i64 98, label %dispatch.case.441 - i64 101, label %dispatch.case.442 - i64 102, label %dispatch.case.443 - i64 107, label %dispatch.case.444 - i64 111, label %dispatch.case.445 - i64 118, label %dispatch.case.446 - i64 119, label %dispatch.case.447 - i64 121, label %dispatch.case.448 - i64 123, label %dispatch.case.449 - i64 124, label %dispatch.case.450 - i64 127, label %dispatch.case.451 - i64 128, label %dispatch.case.452 - i64 129, label %dispatch.case.453 - i64 130, label %dispatch.case.454 - i64 131, label %dispatch.case.455 - i64 132, label %dispatch.case.456 - i64 133, label %dispatch.case.457 - i64 134, label %dispatch.case.458 - i64 135, label %dispatch.case.459 + switch i64 %ua.raw37, label %dispatch.default.448 [ + i64 19, label %dispatch.case.449 + i64 26, label %dispatch.case.450 + i64 28, label %dispatch.case.451 + i64 30, label %dispatch.case.452 + i64 32, label %dispatch.case.453 + i64 33, label %dispatch.case.454 + i64 35, label %dispatch.case.455 + i64 37, label %dispatch.case.456 + i64 41, label %dispatch.case.457 + i64 48, label %dispatch.case.458 + i64 50, label %dispatch.case.459 + i64 51, label %dispatch.case.460 + i64 60, label %dispatch.case.461 + i64 61, label %dispatch.case.462 + i64 62, label %dispatch.case.463 + i64 63, label %dispatch.case.464 + i64 66, label %dispatch.case.465 + i64 71, label %dispatch.case.466 + i64 78, label %dispatch.case.467 + i64 87, label %dispatch.case.468 + i64 90, label %dispatch.case.469 + i64 94, label %dispatch.case.470 + i64 98, label %dispatch.case.471 + i64 101, label %dispatch.case.472 + i64 102, label %dispatch.case.473 + i64 107, label %dispatch.case.474 + i64 114, label %dispatch.case.475 + i64 116, label %dispatch.case.476 + i64 117, label %dispatch.case.477 + i64 121, label %dispatch.case.478 + i64 123, label %dispatch.case.479 + i64 130, label %dispatch.case.480 + i64 131, label %dispatch.case.481 + i64 133, label %dispatch.case.482 + i64 135, label %dispatch.case.483 + i64 136, label %dispatch.case.484 + i64 139, label %dispatch.case.485 + i64 140, label %dispatch.case.486 + i64 141, label %dispatch.case.487 + i64 142, label %dispatch.case.488 + i64 143, label %dispatch.case.489 + i64 144, label %dispatch.case.490 + i64 145, label %dispatch.case.491 + i64 146, label %dispatch.case.492 + i64 147, label %dispatch.case.493 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.597 [ - i64 42, label %dispatch.case.598 - i64 43, label %dispatch.case.599 - i64 45, label %dispatch.case.600 - i64 47, label %dispatch.case.601 - i64 95, label %dispatch.case.602 + switch i64 %ua.raw41, label %dispatch.default.643 [ + i64 42, label %dispatch.case.644 + i64 43, label %dispatch.case.645 + i64 45, label %dispatch.case.646 + i64 47, label %dispatch.case.647 + i64 95, label %dispatch.case.648 ] match.arm.51: ; preds = %entry @@ -1880,7 +1995,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [209 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [227 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1925,13 +2040,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.330, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2177,565 +2292,633 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { i64 }, ptr %ua.ptr181, align 8 - %callN = call { ptr, i64 } @struct_to_string__IntCell(ptr %0, { i64 } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load {}, ptr %ua.ptr185, align 1 - %callN = call { ptr, i64 } @struct_to_string__R(ptr %0, {} %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load {}, ptr %ua.ptr189, align 1 - %callN = call { ptr, i64 } @struct_to_string__Combined(ptr %0, {} %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { ptr, ptr }, ptr %ua.ptr193, align 8 - %callN = call { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.130: ; preds = %match.arm.43 %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr - %ua.load198 = load { ptr }, ptr %ua.ptr197, align 8 - %callN = call { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr } %ua.load198) + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.131: ; preds = %match.arm.43 %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr - %ua.load202 = load {}, ptr %ua.ptr201, align 1 - %callN = call { ptr, i64 } @struct_to_string__VL(ptr %0, {} %ua.load202) + %ua.load202 = load { i64 }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__IntCell(ptr %0, { i64 } %ua.load202) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.132: ; preds = %match.arm.43 %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr - %ua.load206 = load { { { ptr, ptr } }, i64 }, ptr %ua.ptr205, align 8 - %callN = call { ptr, i64 } @struct_to_string__Combined__i64__i64(ptr %0, { { { ptr, ptr } }, i64 } %ua.load206) + %ua.load206 = load {}, ptr %ua.ptr205, align 1 + %callN = call { ptr, i64 } @struct_to_string__R(ptr %0, {} %ua.load206) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.318: ; preds = %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.case.321, %dispatch.case.320, %dispatch.default.319 +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load {}, ptr %ua.ptr209, align 1 + %callN = call { ptr, i64 } @struct_to_string__Combined(ptr %0, {} %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.134: ; preds = %match.arm.43 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load { ptr, ptr }, ptr %ua.ptr213, align 8 + %callN = call { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.135: ; preds = %match.arm.43 + %ua.raw216 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr217 = inttoptr i64 %ua.raw216 to ptr + %ua.load218 = load { ptr }, ptr %ua.ptr217, align 8 + %callN = call { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr } %ua.load218) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.136: ; preds = %match.arm.43 + %ua.raw220 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr221 = inttoptr i64 %ua.raw220 to ptr + %ua.load222 = load {}, ptr %ua.ptr221, align 1 + %callN = call { ptr, i64 } @struct_to_string__VL(ptr %0, {} %ua.load222) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.137: ; preds = %match.arm.43 + %ua.raw224 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr225 = inttoptr i64 %ua.raw224 to ptr + %ua.load226 = load { { { ptr, ptr } }, i64 }, ptr %ua.ptr225, align 8 + %callN = call { ptr, i64 } @struct_to_string__Combined__i64__i64(ptr %0, { { { ptr, ptr } }, i64 } %ua.load226) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.348: ; preds = %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.case.351, %dispatch.case.350, %dispatch.default.349 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.319: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.318 +dispatch.default.349: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.331, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.348 -dispatch.case.320: ; preds = %match.arm.44 - %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw209) +dispatch.case.350: ; preds = %match.arm.44 + %ua.raw229 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw229) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.318 + br label %dispatch.merge.348 -dispatch.case.321: ; preds = %match.arm.44 - %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw211) +dispatch.case.351: ; preds = %match.arm.44 + %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw231) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.318 + br label %dispatch.merge.348 -dispatch.case.322: ; preds = %match.arm.44 - %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr214 = inttoptr i64 %ua.raw213 to ptr - %ua.load215 = load { i64, [24 x i8] }, ptr %ua.ptr214, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load215) +dispatch.case.352: ; preds = %match.arm.44 + %ua.raw233 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr234 = inttoptr i64 %ua.raw233 to ptr + %ua.load235 = load { i64, [24 x i8] }, ptr %ua.ptr234, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load235) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.318 + br label %dispatch.merge.348 -dispatch.case.323: ; preds = %match.arm.44 - %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw217) +dispatch.case.353: ; preds = %match.arm.44 + %ua.raw237 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw237) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.318 + br label %dispatch.merge.348 -dispatch.case.324: ; preds = %match.arm.44 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw219) +dispatch.case.354: ; preds = %match.arm.44 + %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw239) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.318 + br label %dispatch.merge.348 -dispatch.merge.335: ; preds = %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.case.337, %dispatch.default.336 +dispatch.merge.365: ; preds = %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.case.368, %dispatch.case.367, %dispatch.default.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.336: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.335 +dispatch.default.366: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.332, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.365 -dispatch.case.337: ; preds = %match.arm.47 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [4 x i64], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 - -dispatch.case.338: ; preds = %match.arm.47 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 - -dispatch.case.339: ; preds = %match.arm.47 - %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [8 x i64], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load232) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 - -dispatch.case.340: ; preds = %match.arm.47 - %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr - %ua.load236 = load [64 x i8], ptr %ua.ptr235, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load236) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 - -dispatch.case.341: ; preds = %match.arm.47 - %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr - %ua.load240 = load [64 x i64], ptr %ua.ptr239, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load240) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 - -dispatch.case.342: ; preds = %match.arm.47 +dispatch.case.367: ; preds = %match.arm.47 %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr - %ua.load244 = load [1 x { i64, i64 }], ptr %ua.ptr243, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load244) + %ua.load244 = load [4 x i64], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load244) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.335 + br label %dispatch.merge.365 -dispatch.merge.373: ; preds = %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.default.374 +dispatch.case.368: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.365 + +dispatch.case.369: ; preds = %match.arm.47 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [8 x i64], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.365 + +dispatch.case.370: ; preds = %match.arm.47 + %ua.raw254 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr255 = inttoptr i64 %ua.raw254 to ptr + %ua.load256 = load [64 x i8], ptr %ua.ptr255, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load256) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.365 + +dispatch.case.371: ; preds = %match.arm.47 + %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr259 = inttoptr i64 %ua.raw258 to ptr + %ua.load260 = load [64 x i64], ptr %ua.ptr259, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load260) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.365 + +dispatch.case.372: ; preds = %match.arm.47 + %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr263 = inttoptr i64 %ua.raw262 to ptr + %ua.load264 = load [1 x { i64, i64 }], ptr %ua.ptr263, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load264) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.365 + +dispatch.merge.403: ; preds = %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.default.404 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.374: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.373 +dispatch.default.404: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.333, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.403 -dispatch.case.375: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 - -dispatch.case.376: ; preds = %match.arm.48 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 - -dispatch.case.377: ; preds = %match.arm.48 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr - %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 - -dispatch.case.378: ; preds = %match.arm.48 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr - %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load261) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 - -dispatch.case.379: ; preds = %match.arm.48 - %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr - %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 - -dispatch.case.380: ; preds = %match.arm.48 +dispatch.case.405: ; preds = %match.arm.48 %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 - %callN = call { ptr, i64 } @slice_to_string__VL(ptr %0, { ptr, i64 } %ua.load269) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load269) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 + br label %dispatch.merge.403 -dispatch.case.381: ; preds = %match.arm.48 +dispatch.case.406: ; preds = %match.arm.48 %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load273) + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.373 + br label %dispatch.merge.403 -dispatch.merge.417: ; preds = %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.default.418 +dispatch.case.407: ; preds = %match.arm.48 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.403 + +dispatch.case.408: ; preds = %match.arm.48 + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr + %ua.load281 = load { ptr, i64 }, ptr %ua.ptr280, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load281) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.403 + +dispatch.case.409: ; preds = %match.arm.48 + %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr284 = inttoptr i64 %ua.raw283 to ptr + %ua.load285 = load { ptr, i64 }, ptr %ua.ptr284, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.403 + +dispatch.case.410: ; preds = %match.arm.48 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr288 = inttoptr i64 %ua.raw287 to ptr + %ua.load289 = load { ptr, i64 }, ptr %ua.ptr288, align 8 + %callN = call { ptr, i64 } @slice_to_string__VL(ptr %0, { ptr, i64 } %ua.load289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.403 + +dispatch.case.411: ; preds = %match.arm.48 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr292 = inttoptr i64 %ua.raw291 to ptr + %ua.load293 = load { ptr, i64 }, ptr %ua.ptr292, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load293) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.403 + +dispatch.merge.447: ; preds = %dispatch.case.493, %dispatch.case.492, %dispatch.case.491, %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.default.448 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.418: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.419: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.420: ; preds = %match.arm.49 - %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 - %iNp279 = inttoptr i64 %ua.raw278 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp279) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.421: ; preds = %match.arm.49 - %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 - %iNp282 = inttoptr i64 %ua.raw281 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp282) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.422: ; preds = %match.arm.49 - %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 - %iNp285 = inttoptr i64 %ua.raw284 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp285) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.423: ; preds = %match.arm.49 - %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 - %iNp288 = inttoptr i64 %ua.raw287 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp288) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.424: ; preds = %match.arm.49 - %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 - %iNp291 = inttoptr i64 %ua.raw290 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp291) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.425: ; preds = %match.arm.49 - %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 - %iNp294 = inttoptr i64 %ua.raw293 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp294) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.426: ; preds = %match.arm.49 - %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 - %iNp297 = inttoptr i64 %ua.raw296 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp297) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.427: ; preds = %match.arm.49 - %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 - %iNp300 = inttoptr i64 %ua.raw299 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp300) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.428: ; preds = %match.arm.49 - %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 - %iNp303 = inttoptr i64 %ua.raw302 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp303) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.429: ; preds = %match.arm.49 - %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 - %iNp306 = inttoptr i64 %ua.raw305 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp306) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.430: ; preds = %match.arm.49 - %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 - %iNp309 = inttoptr i64 %ua.raw308 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp309) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.431: ; preds = %match.arm.49 - %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 - %iNp312 = inttoptr i64 %ua.raw311 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp312) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.432: ; preds = %match.arm.49 - %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 - %iNp315 = inttoptr i64 %ua.raw314 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp315) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.433: ; preds = %match.arm.49 - %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 - %iNp318 = inttoptr i64 %ua.raw317 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp318) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.434: ; preds = %match.arm.49 - %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 - %iNp321 = inttoptr i64 %ua.raw320 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp321) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.435: ; preds = %match.arm.49 - %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 - %iNp324 = inttoptr i64 %ua.raw323 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp324) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.436: ; preds = %match.arm.49 - %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 - %iNp327 = inttoptr i64 %ua.raw326 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp327) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.437: ; preds = %match.arm.49 - %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 - %iNp330 = inttoptr i64 %ua.raw329 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp330) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.438: ; preds = %match.arm.49 - %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 - %iNp333 = inttoptr i64 %ua.raw332 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp333) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.439: ; preds = %match.arm.49 - %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 - %iNp336 = inttoptr i64 %ua.raw335 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp336) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.440: ; preds = %match.arm.49 - %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 - %iNp339 = inttoptr i64 %ua.raw338 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp339) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.441: ; preds = %match.arm.49 - %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 - %iNp342 = inttoptr i64 %ua.raw341 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp342) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.442: ; preds = %match.arm.49 - %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 - %iNp345 = inttoptr i64 %ua.raw344 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp345) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.443: ; preds = %match.arm.49 - %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 - %iNp348 = inttoptr i64 %ua.raw347 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp348) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.444: ; preds = %match.arm.49 - %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 - %iNp351 = inttoptr i64 %ua.raw350 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp351) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.445: ; preds = %match.arm.49 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %iNp354 = inttoptr i64 %ua.raw353 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %iNp354) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.446: ; preds = %match.arm.49 - %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 - %iNp357 = inttoptr i64 %ua.raw356 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp357) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.447: ; preds = %match.arm.49 - %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 - %iNp360 = inttoptr i64 %ua.raw359 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp360) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 - -dispatch.case.448: ; preds = %match.arm.49 - %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 - %iNp363 = inttoptr i64 %ua.raw362 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp363) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 +dispatch.default.448: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.334, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.447 dispatch.case.449: ; preds = %match.arm.49 - %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 - %iNp366 = inttoptr i64 %ua.raw365 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp366) + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.450: ; preds = %match.arm.49 - %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 - %iNp369 = inttoptr i64 %ua.raw368 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp369) + %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 + %iNp299 = inttoptr i64 %ua.raw298 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.451: ; preds = %match.arm.49 - %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 - %iNp372 = inttoptr i64 %ua.raw371 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Combined__i64__i64(ptr %0, ptr %iNp372) + %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 + %iNp302 = inttoptr i64 %ua.raw301 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.452: ; preds = %match.arm.49 - %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 - %iNp375 = inttoptr i64 %ua.raw374 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %iNp375) + %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 + %iNp305 = inttoptr i64 %ua.raw304 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.453: ; preds = %match.arm.49 - %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 - %iNp378 = inttoptr i64 %ua.raw377 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %iNp378) + %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 + %iNp308 = inttoptr i64 %ua.raw307 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.454: ; preds = %match.arm.49 - %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 - %iNp381 = inttoptr i64 %ua.raw380 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_tu_VL__i64(ptr %0, ptr %iNp381) + %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 + %iNp311 = inttoptr i64 %ua.raw310 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.455: ; preds = %match.arm.49 - %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 - %iNp384 = inttoptr i64 %ua.raw383 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Combined__i64__i64(ptr %0, ptr %iNp384) + %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 + %iNp314 = inttoptr i64 %ua.raw313 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.456: ; preds = %match.arm.49 - %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 - %iNp387 = inttoptr i64 %ua.raw386 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %iNp387) + %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 + %iNp317 = inttoptr i64 %ua.raw316 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.457: ; preds = %match.arm.49 - %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 - %iNp390 = inttoptr i64 %ua.raw389 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp390) + %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 + %iNp320 = inttoptr i64 %ua.raw319 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp320) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.458: ; preds = %match.arm.49 - %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 - %iNp393 = inttoptr i64 %ua.raw392 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp393) + %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 + %iNp323 = inttoptr i64 %ua.raw322 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp323) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 dispatch.case.459: ; preds = %match.arm.49 - %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 - %iNp396 = inttoptr i64 %ua.raw395 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp396) + %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 + %iNp326 = inttoptr i64 %ua.raw325 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.417 + br label %dispatch.merge.447 -dispatch.merge.596: ; preds = %dispatch.case.602, %dispatch.case.601, %dispatch.case.600, %dispatch.case.599, %dispatch.case.598, %dispatch.default.597 +dispatch.case.460: ; preds = %match.arm.49 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %iNp329 = inttoptr i64 %ua.raw328 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp329) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.461: ; preds = %match.arm.49 + %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 + %iNp332 = inttoptr i64 %ua.raw331 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp332) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.462: ; preds = %match.arm.49 + %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 + %iNp335 = inttoptr i64 %ua.raw334 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp335) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.463: ; preds = %match.arm.49 + %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 + %iNp338 = inttoptr i64 %ua.raw337 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp338) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.464: ; preds = %match.arm.49 + %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 + %iNp341 = inttoptr i64 %ua.raw340 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp341) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.465: ; preds = %match.arm.49 + %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 + %iNp344 = inttoptr i64 %ua.raw343 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp344) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.466: ; preds = %match.arm.49 + %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 + %iNp347 = inttoptr i64 %ua.raw346 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp347) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.467: ; preds = %match.arm.49 + %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 + %iNp350 = inttoptr i64 %ua.raw349 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp350) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.468: ; preds = %match.arm.49 + %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 + %iNp353 = inttoptr i64 %ua.raw352 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp353) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.469: ; preds = %match.arm.49 + %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 + %iNp356 = inttoptr i64 %ua.raw355 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp356) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.470: ; preds = %match.arm.49 + %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 + %iNp359 = inttoptr i64 %ua.raw358 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp359) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.471: ; preds = %match.arm.49 + %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 + %iNp362 = inttoptr i64 %ua.raw361 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp362) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.472: ; preds = %match.arm.49 + %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 + %iNp365 = inttoptr i64 %ua.raw364 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp365) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.473: ; preds = %match.arm.49 + %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 + %iNp368 = inttoptr i64 %ua.raw367 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp368) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.474: ; preds = %match.arm.49 + %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 + %iNp371 = inttoptr i64 %ua.raw370 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp371) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.475: ; preds = %match.arm.49 + %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 + %iNp374 = inttoptr i64 %ua.raw373 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp374) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.476: ; preds = %match.arm.49 + %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 + %iNp377 = inttoptr i64 %ua.raw376 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp377) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.477: ; preds = %match.arm.49 + %ua.raw379 = extractvalue { i64, i64 } %loadN, 1 + %iNp380 = inttoptr i64 %ua.raw379 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp380) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.478: ; preds = %match.arm.49 + %ua.raw382 = extractvalue { i64, i64 } %loadN, 1 + %iNp383 = inttoptr i64 %ua.raw382 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp383) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %iNp386 = inttoptr i64 %ua.raw385 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %iNp386) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.480: ; preds = %match.arm.49 + %ua.raw388 = extractvalue { i64, i64 } %loadN, 1 + %iNp389 = inttoptr i64 %ua.raw388 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp389) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.481: ; preds = %match.arm.49 + %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 + %iNp392 = inttoptr i64 %ua.raw391 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp392) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.482: ; preds = %match.arm.49 + %ua.raw394 = extractvalue { i64, i64 } %loadN, 1 + %iNp395 = inttoptr i64 %ua.raw394 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp395) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.483: ; preds = %match.arm.49 + %ua.raw397 = extractvalue { i64, i64 } %loadN, 1 + %iNp398 = inttoptr i64 %ua.raw397 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp398) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.484: ; preds = %match.arm.49 + %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 + %iNp401 = inttoptr i64 %ua.raw400 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp401) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.485: ; preds = %match.arm.49 + %ua.raw403 = extractvalue { i64, i64 } %loadN, 1 + %iNp404 = inttoptr i64 %ua.raw403 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Combined__i64__i64(ptr %0, ptr %iNp404) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.486: ; preds = %match.arm.49 + %ua.raw406 = extractvalue { i64, i64 } %loadN, 1 + %iNp407 = inttoptr i64 %ua.raw406 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %iNp407) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.487: ; preds = %match.arm.49 + %ua.raw409 = extractvalue { i64, i64 } %loadN, 1 + %iNp410 = inttoptr i64 %ua.raw409 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %iNp410) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.488: ; preds = %match.arm.49 + %ua.raw412 = extractvalue { i64, i64 } %loadN, 1 + %iNp413 = inttoptr i64 %ua.raw412 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_tu_VL__i64(ptr %0, ptr %iNp413) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.489: ; preds = %match.arm.49 + %ua.raw415 = extractvalue { i64, i64 } %loadN, 1 + %iNp416 = inttoptr i64 %ua.raw415 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Combined__i64__i64(ptr %0, ptr %iNp416) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.490: ; preds = %match.arm.49 + %ua.raw418 = extractvalue { i64, i64 } %loadN, 1 + %iNp419 = inttoptr i64 %ua.raw418 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %iNp419) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.491: ; preds = %match.arm.49 + %ua.raw421 = extractvalue { i64, i64 } %loadN, 1 + %iNp422 = inttoptr i64 %ua.raw421 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp422) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.492: ; preds = %match.arm.49 + %ua.raw424 = extractvalue { i64, i64 } %loadN, 1 + %iNp425 = inttoptr i64 %ua.raw424 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp425) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.case.493: ; preds = %match.arm.49 + %ua.raw427 = extractvalue { i64, i64 } %loadN, 1 + %iNp428 = inttoptr i64 %ua.raw427 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp428) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.447 + +dispatch.merge.642: ; preds = %dispatch.case.648, %dispatch.case.647, %dispatch.case.646, %dispatch.case.645, %dispatch.case.644, %dispatch.default.643 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.597: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.596 +dispatch.default.643: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.335, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.642 -dispatch.case.598: ; preds = %match.arm.50 - %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr400 = inttoptr i64 %ua.raw399 to ptr - %ua.load401 = load { { i32 }, i1 }, ptr %ua.ptr400, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load401) +dispatch.case.644: ; preds = %match.arm.50 + %ua.raw431 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr432 = inttoptr i64 %ua.raw431 to ptr + %ua.load433 = load { { i32 }, i1 }, ptr %ua.ptr432, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load433) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.596 + br label %dispatch.merge.642 -dispatch.case.599: ; preds = %match.arm.50 - %ua.raw403 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr404 = inttoptr i64 %ua.raw403 to ptr - %ua.load405 = load { { ptr, i64 }, i1 }, ptr %ua.ptr404, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load405) +dispatch.case.645: ; preds = %match.arm.50 + %ua.raw435 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr436 = inttoptr i64 %ua.raw435 to ptr + %ua.load437 = load { { ptr, i64 }, i1 }, ptr %ua.ptr436, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load437) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.596 + br label %dispatch.merge.642 -dispatch.case.600: ; preds = %match.arm.50 - %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 - %iNp408 = inttoptr i64 %ua.raw407 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp408) +dispatch.case.646: ; preds = %match.arm.50 + %ua.raw439 = extractvalue { i64, i64 } %loadN, 1 + %iNp440 = inttoptr i64 %ua.raw439 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp440) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.596 + br label %dispatch.merge.642 -dispatch.case.601: ; preds = %match.arm.50 - %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr411 = inttoptr i64 %ua.raw410 to ptr - %ua.load412 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr411, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load412) +dispatch.case.647: ; preds = %match.arm.50 + %ua.raw442 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr443 = inttoptr i64 %ua.raw442 to ptr + %ua.load444 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr443, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load444) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.596 + br label %dispatch.merge.642 -dispatch.case.602: ; preds = %match.arm.50 - %ua.raw414 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr415 = inttoptr i64 %ua.raw414 to ptr - %ua.load416 = load { [64 x i8], i1 }, ptr %ua.ptr415, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load416) +dispatch.case.648: ; preds = %match.arm.50 + %ua.raw446 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr447 = inttoptr i64 %ua.raw446 to ptr + %ua.load448 = load { [64 x i8], i1 }, ptr %ua.ptr447, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load448) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.596 + br label %dispatch.merge.642 } ; Function Attrs: nounwind @@ -2744,7 +2927,7 @@ 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.316, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.336, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2840,7 +3023,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, 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 @@ -2848,7 +3031,7 @@ if.then.12: ; preds = %if.then.9 %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.318, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, 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 @@ -2858,13 +3041,13 @@ if.then.12: ; preds = %if.then.9 %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.319, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, 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 @@ -2872,7 +3055,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.321, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2886,7 +3069,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, 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 @@ -2894,7 +3077,7 @@ if.then.23: ; preds = %if.else.10 %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.323, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, 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 @@ -2905,7 +3088,7 @@ if.then.23: ; preds = %if.else.10 %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.324, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2962,7 +3145,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, 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 @@ -2970,7 +3153,7 @@ if.then.32: ; preds = %if.then.29 %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.326, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, 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 @@ -2981,7 +3164,7 @@ if.then.32: ; preds = %if.then.29 %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.327, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -3001,7 +3184,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, 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 @@ -3009,7 +3192,7 @@ if.then.35: ; preds = %while.exit.2 %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.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, 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 @@ -3020,7 +3203,7 @@ if.then.35: ; preds = %while.exit.2 %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.330, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3853,6 +4036,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i64 @IntCell.get(ptr %0, ptr %1) #0 { entry: @@ -3907,7 +4138,7 @@ entry: %ba.tmp = alloca { i64 }, align 8 store { i64 } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 122, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -3961,7 +4192,7 @@ entry: define internal void @print__ct_sbc6305862a3a863d__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.331, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.351, i64 3 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3976,7 +4207,7 @@ entry: %gepN = getelementptr inbounds { 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.332, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.352, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ba.val9 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 @@ -3998,7 +4229,7 @@ entry: ; 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.333, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.353, i64 3 }) ret { ptr, i64 } %call } @@ -4009,35 +4240,35 @@ entry: %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.334, i64 15 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.354, i64 15 }, { ptr, i64 } { ptr @str.355, 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.133 + br label %while.hdr.138 -while.hdr.133: ; preds = %fv.merge, %entry +while.hdr.138: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.134, label %while.exit.135 + br i1 %icmp, label %while.body.139, label %while.exit.140 -while.body.134: ; preds = %while.hdr.133 +while.body.139: ; preds = %while.hdr.138 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.136, label %if.merge.137 + br i1 %icmpN, label %if.then.141, label %if.merge.142 -while.exit.135: ; preds = %while.hdr.133 +while.exit.140: ; preds = %while.hdr.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 1 }) ret { ptr, i64 } %callN -if.then.136: ; preds = %while.body.134 +if.then.141: ; preds = %while.body.139 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.137 + br label %if.merge.142 -if.merge.137: ; preds = %if.then.136, %while.body.134 +if.merge.142: ; preds = %if.then.141, %while.body.139 %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 @@ -4045,7 +4276,7 @@ if.merge.137: ; preds = %if.then.136, %while %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.341, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, 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 @@ -4065,31 +4296,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.133 + br label %while.hdr.138 -fv.default: ; preds = %if.merge.137 +fv.default: ; preds = %if.merge.142 br label %fv.merge -fv.case: ; preds = %if.merge.137 +fv.case: ; preds = %if.merge.142 %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.137 +fv.case17: ; preds = %if.merge.142 %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.137 +fv.case20: ; preds = %if.merge.142 %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.137 +fv.case24: ; preds = %if.merge.142 %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 @@ -4102,43 +4333,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.342, i64 9 }, { ptr, i64 } { ptr @str.343, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.362, i64 9 }, { ptr, i64 } { ptr @str.363, 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.138 + br label %while.hdr.143 -while.hdr.138: ; preds = %fv.merge, %entry +while.hdr.143: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.139, label %while.exit.140 + br i1 %icmp, label %while.body.144, label %while.exit.145 -while.body.139: ; preds = %while.hdr.138 +while.body.144: ; preds = %while.hdr.143 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.141, label %if.merge.142 + br i1 %icmpN, label %if.then.146, label %if.merge.147 -while.exit.140: ; preds = %while.hdr.138 +while.exit.145: ; preds = %while.hdr.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 1 }) ret { ptr, i64 } %callN -if.then.141: ; preds = %while.body.139 +if.then.146: ; preds = %while.body.144 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.142 + br label %if.merge.147 -if.merge.142: ; preds = %if.then.141, %while.body.139 +if.merge.147: ; preds = %if.then.146, %while.body.144 %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.349, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.369, 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.350, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 @@ -4157,24 +4388,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.138 + br label %while.hdr.143 -fv.default: ; preds = %if.merge.142 +fv.default: ; preds = %if.merge.147 br label %fv.merge -fv.case: ; preds = %if.merge.142 +fv.case: ; preds = %if.merge.147 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.142 +fv.case17: ; preds = %if.merge.147 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.142 +fv.case21: ; preds = %if.merge.147 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4187,43 +4418,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.351, i64 7 }, { ptr, i64 } { ptr @str.352, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.371, i64 7 }, { ptr, i64 } { ptr @str.372, 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.143 + br label %while.hdr.148 -while.hdr.143: ; preds = %fv.merge, %entry +while.hdr.148: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.144, label %while.exit.145 + br i1 %icmp, label %while.body.149, label %while.exit.150 -while.body.144: ; preds = %while.hdr.143 +while.body.149: ; preds = %while.hdr.148 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.146, label %if.merge.147 + br i1 %icmpN, label %if.then.151, label %if.merge.152 -while.exit.145: ; preds = %while.hdr.143 +while.exit.150: ; preds = %while.hdr.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) ret { ptr, i64 } %callN -if.then.146: ; preds = %while.body.144 +if.then.151: ; preds = %while.body.149 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.147 + br label %if.merge.152 -if.merge.147: ; preds = %if.then.146, %while.body.144 +if.merge.152: ; preds = %if.then.151, %while.body.149 %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.357, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.377, 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.358, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, 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 %alloca, align 8 @@ -4241,19 +4472,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.143 + br label %while.hdr.148 -fv.default: ; preds = %if.merge.147 +fv.default: ; preds = %if.merge.152 br label %fv.merge -fv.case: ; preds = %if.merge.147 +fv.case: ; preds = %if.merge.152 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.147 +fv.case17: ; preds = %if.merge.152 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4265,43 +4496,43 @@ 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.359, i64 10 }, { ptr, i64 } { ptr @str.360, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.379, i64 10 }, { ptr, i64 } { ptr @str.380, 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.148 + br label %while.hdr.153 -while.hdr.148: ; preds = %if.merge.152, %entry +while.hdr.153: ; preds = %if.merge.157, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.149, label %while.exit.150 + br i1 %icmp, label %while.body.154, label %while.exit.155 -while.body.149: ; preds = %while.hdr.148 +while.body.154: ; preds = %while.hdr.153 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.151, label %if.merge.152 + br i1 %icmpN, label %if.then.156, label %if.merge.157 -while.exit.150: ; preds = %while.hdr.148 +while.exit.155: ; preds = %while.hdr.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) ret { ptr, i64 } %callN -if.then.151: ; preds = %while.body.149 +if.then.156: ; preds = %while.body.154 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.152 + br label %if.merge.157 -if.merge.152: ; preds = %if.then.151, %while.body.149 +if.merge.157: ; preds = %if.then.156, %while.body.154 %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.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.383, 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.364, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4312,7 +4543,7 @@ if.merge.152: ; preds = %if.then.151, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.148 + br label %while.hdr.153 } ; Function Attrs: nounwind @@ -4320,43 +4551,43 @@ 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.365, i64 3 }, { ptr, i64 } { ptr @str.366, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.385, i64 3 }, { ptr, i64 } { ptr @str.386, 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.153 + br label %while.hdr.158 -while.hdr.153: ; preds = %fv.merge, %entry +while.hdr.158: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.154, label %while.exit.155 + br i1 %icmp, label %while.body.159, label %while.exit.160 -while.body.154: ; preds = %while.hdr.153 +while.body.159: ; preds = %while.hdr.158 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.156, label %if.merge.157 + br i1 %icmpN, label %if.then.161, label %if.merge.162 -while.exit.155: ; preds = %while.hdr.153 +while.exit.160: ; preds = %while.hdr.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) ret { ptr, i64 } %callN -if.then.156: ; preds = %while.body.154 +if.then.161: ; preds = %while.body.159 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.157 + br label %if.merge.162 -if.merge.157: ; preds = %if.then.156, %while.body.154 +if.merge.162: ; preds = %if.then.161, %while.body.159 %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.370, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.390, 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.371, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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 @@ -4373,12 +4604,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.153 + br label %while.hdr.158 -fv.default: ; preds = %if.merge.157 +fv.default: ; preds = %if.merge.162 br label %fv.merge -fv.case: ; preds = %if.merge.157 +fv.case: ; preds = %if.merge.162 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4389,43 +4620,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.372, i64 10 }, { ptr, i64 } { ptr @str.373, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.392, i64 10 }, { ptr, i64 } { ptr @str.393, 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.158 + br label %while.hdr.163 -while.hdr.158: ; preds = %fv.merge, %entry +while.hdr.163: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.159, label %while.exit.160 + br i1 %icmp, label %while.body.164, label %while.exit.165 -while.body.159: ; preds = %while.hdr.158 +while.body.164: ; preds = %while.hdr.163 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.161, label %if.merge.162 + br i1 %icmpN, label %if.then.166, label %if.merge.167 -while.exit.160: ; preds = %while.hdr.158 +while.exit.165: ; preds = %while.hdr.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) ret { ptr, i64 } %callN -if.then.161: ; preds = %while.body.159 +if.then.166: ; preds = %while.body.164 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.162 + br label %if.merge.167 -if.merge.162: ; preds = %if.then.161, %while.body.159 +if.merge.167: ; preds = %if.then.166, %while.body.164 %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.378, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.398, 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.379, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, 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 @@ -4443,18 +4674,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.158 + br label %while.hdr.163 -fv.default: ; preds = %if.merge.162 +fv.default: ; preds = %if.merge.167 br label %fv.merge -fv.case: ; preds = %if.merge.162 +fv.case: ; preds = %if.merge.167 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.162 +fv.case17: ; preds = %if.merge.167 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4466,91 +4697,7 @@ 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.380, i64 5 }, { ptr, i64 } { ptr @str.381, 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.163 - -while.hdr.163: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.164, label %while.exit.165 - -while.body.164: ; preds = %while.hdr.163 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.166, label %if.merge.167 - -while.exit.165: ; preds = %while.hdr.163 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 1 }) - ret { ptr, i64 } %callN - -if.then.166: ; preds = %while.body.164 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.167 - -if.merge.167: ; preds = %if.then.166, %while.body.164 - %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.387, 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.388, 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.163 - -fv.default: ; preds = %if.merge.167 - br label %fv.merge - -fv.case: ; preds = %if.merge.167 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.167 - %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.167 - %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 21, 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.389, i64 8 }, { ptr, i64 } { ptr @str.390, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.400, i64 5 }, { ptr, i64 } { ptr @str.401, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4569,27 +4716,27 @@ while.body.169: ; preds = %while.hdr.168 while.exit.170: ; preds = %while.hdr.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) ret { ptr, i64 } %callN if.then.171: ; preds = %while.body.169 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.172 if.merge.172: ; preds = %if.then.171, %while.body.169 %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.396, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.407, 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.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, 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 { 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 @@ -4611,17 +4758,101 @@ fv.default: ; preds = %if.merge.172 br label %fv.merge fv.case: ; preds = %if.merge.172 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.172 + %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.172 + %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 21, 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.409, i64 8 }, { ptr, i64 } { ptr @str.410, 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.173 + +while.hdr.173: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.174, label %while.exit.175 + +while.body.174: ; preds = %while.hdr.173 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.176, label %if.merge.177 + +while.exit.175: ; preds = %while.hdr.173 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 1 }) + ret { ptr, i64 } %callN + +if.then.176: ; preds = %while.body.174 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.177 + +if.merge.177: ; preds = %if.then.176, %while.body.174 + %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.416, 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.417, 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.173 + +fv.default: ; preds = %if.merge.177 + br label %fv.merge + +fv.case: ; preds = %if.merge.177 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.172 +fv.case17: ; preds = %if.merge.177 %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.172 +fv.case20: ; preds = %if.merge.177 %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 @@ -4633,43 +4864,43 @@ 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.398, i64 17 }, { ptr, i64 } { ptr @str.399, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 17 }, { ptr, i64 } { ptr @str.419, 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.173 + br label %while.hdr.178 -while.hdr.173: ; preds = %fv.merge, %entry +while.hdr.178: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.174, label %while.exit.175 + br i1 %icmp, label %while.body.179, label %while.exit.180 -while.body.174: ; preds = %while.hdr.173 +while.body.179: ; preds = %while.hdr.178 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.176, label %if.merge.177 + br i1 %icmpN, label %if.then.181, label %if.merge.182 -while.exit.175: ; preds = %while.hdr.173 +while.exit.180: ; preds = %while.hdr.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) ret { ptr, i64 } %callN -if.then.176: ; preds = %while.body.174 +if.then.181: ; preds = %while.body.179 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.177 + br label %if.merge.182 -if.merge.177: ; preds = %if.then.176, %while.body.174 +if.merge.182: ; preds = %if.then.181, %while.body.179 %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.406, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.426, 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.407, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, 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 @@ -4689,29 +4920,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.173 + br label %while.hdr.178 -fv.default: ; preds = %if.merge.177 +fv.default: ; preds = %if.merge.182 br label %fv.merge -fv.case: ; preds = %if.merge.177 +fv.case: ; preds = %if.merge.182 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.177 +fv.case17: ; preds = %if.merge.182 %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.177 +fv.case20: ; preds = %if.merge.182 %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.177 +fv.case23: ; preds = %if.merge.182 %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 @@ -4722,43 +4953,43 @@ 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.408, i64 4 }, { ptr, i64 } { ptr @str.409, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.428, i64 4 }, { ptr, i64 } { ptr @str.429, 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.178 + br label %while.hdr.183 -while.hdr.178: ; preds = %fv.merge, %entry +while.hdr.183: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.179, label %while.exit.180 + br i1 %icmp, label %while.body.184, label %while.exit.185 -while.body.179: ; preds = %while.hdr.178 +while.body.184: ; preds = %while.hdr.183 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.181, label %if.merge.182 + br i1 %icmpN, label %if.then.186, label %if.merge.187 -while.exit.180: ; preds = %while.hdr.178 +while.exit.185: ; preds = %while.hdr.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 1 }) ret { ptr, i64 } %callN -if.then.181: ; preds = %while.body.179 +if.then.186: ; preds = %while.body.184 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.182 + br label %if.merge.187 -if.merge.182: ; preds = %if.then.181, %while.body.179 +if.merge.187: ; preds = %if.then.186, %while.body.184 %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.413, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.433, 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.414, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, 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 @@ -4775,12 +5006,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.178 + br label %while.hdr.183 -fv.default: ; preds = %if.merge.182 +fv.default: ; preds = %if.merge.187 br label %fv.merge -fv.case: ; preds = %if.merge.182 +fv.case: ; preds = %if.merge.187 %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 @@ -4795,43 +5026,43 @@ entry: %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.415, i64 10 }, { ptr, i64 } { ptr @str.416, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.435, i64 10 }, { ptr, i64 } { ptr @str.436, 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.183 + br label %while.hdr.188 -while.hdr.183: ; preds = %fv.merge, %entry +while.hdr.188: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.184, label %while.exit.185 + br i1 %icmp, label %while.body.189, label %while.exit.190 -while.body.184: ; preds = %while.hdr.183 +while.body.189: ; preds = %while.hdr.188 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.186, label %if.merge.187 + br i1 %icmpN, label %if.then.191, label %if.merge.192 -while.exit.185: ; preds = %while.hdr.183 +while.exit.190: ; preds = %while.hdr.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 1 }) ret { ptr, i64 } %callN -if.then.186: ; preds = %while.body.184 +if.then.191: ; preds = %while.body.189 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.187 + br label %if.merge.192 -if.merge.187: ; preds = %if.then.186, %while.body.184 +if.merge.192: ; preds = %if.then.191, %while.body.189 %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.424, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.444, 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.425, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, 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 @@ -4852,38 +5083,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.183 + br label %while.hdr.188 -fv.default: ; preds = %if.merge.187 +fv.default: ; preds = %if.merge.192 br label %fv.merge -fv.case: ; preds = %if.merge.187 +fv.case: ; preds = %if.merge.192 %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.187 +fv.case17: ; preds = %if.merge.192 %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.187 +fv.case20: ; preds = %if.merge.192 %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.187 +fv.case24: ; preds = %if.merge.192 %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.187 +fv.case29: ; preds = %if.merge.192 %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 @@ -4897,43 +5128,43 @@ 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.426, i64 13 }, { ptr, i64 } { ptr @str.427, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.446, i64 13 }, { ptr, i64 } { ptr @str.447, 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.188 + br label %while.hdr.193 -while.hdr.188: ; preds = %fv.merge, %entry +while.hdr.193: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.189, label %while.exit.190 + br i1 %icmp, label %while.body.194, label %while.exit.195 -while.body.189: ; preds = %while.hdr.188 +while.body.194: ; preds = %while.hdr.193 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.191, label %if.merge.192 + br i1 %icmpN, label %if.then.196, label %if.merge.197 -while.exit.190: ; preds = %while.hdr.188 +while.exit.195: ; preds = %while.hdr.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) ret { ptr, i64 } %callN -if.then.191: ; preds = %while.body.189 +if.then.196: ; preds = %while.body.194 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.192 + br label %if.merge.197 -if.merge.192: ; preds = %if.then.191, %while.body.189 +if.merge.197: ; preds = %if.then.196, %while.body.194 %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.432, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.452, 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.433, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, 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 @@ -4951,18 +5182,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.188 + br label %while.hdr.193 -fv.default: ; preds = %if.merge.192 +fv.default: ; preds = %if.merge.197 br label %fv.merge -fv.case: ; preds = %if.merge.192 +fv.case: ; preds = %if.merge.197 %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.192 +fv.case17: ; preds = %if.merge.197 %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 @@ -4975,43 +5206,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.434, i64 8 }, { ptr, i64 } { ptr @str.435, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.454, i64 8 }, { ptr, i64 } { ptr @str.455, 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.193 + br label %while.hdr.198 -while.hdr.193: ; preds = %fv.merge, %entry +while.hdr.198: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.194, label %while.exit.195 + br i1 %icmp, label %while.body.199, label %while.exit.200 -while.body.194: ; preds = %while.hdr.193 +while.body.199: ; preds = %while.hdr.198 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.196, label %if.merge.197 + br i1 %icmpN, label %if.then.201, label %if.merge.202 -while.exit.195: ; preds = %while.hdr.193 +while.exit.200: ; preds = %while.hdr.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 1 }) ret { ptr, i64 } %callN -if.then.196: ; preds = %while.body.194 +if.then.201: ; preds = %while.body.199 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.197 + br label %if.merge.202 -if.merge.197: ; preds = %if.then.196, %while.body.194 +if.merge.202: ; preds = %if.then.201, %while.body.199 %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.443, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.463, 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.444, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, 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 @@ -5032,36 +5263,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.193 + br label %while.hdr.198 -fv.default: ; preds = %if.merge.197 +fv.default: ; preds = %if.merge.202 br label %fv.merge -fv.case: ; preds = %if.merge.197 +fv.case: ; preds = %if.merge.202 %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.197 +fv.case17: ; preds = %if.merge.202 %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.197 +fv.case21: ; preds = %if.merge.202 %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.197 +fv.case25: ; preds = %if.merge.202 %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.197 +fv.case29: ; preds = %if.merge.202 %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 @@ -5072,89 +5303,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.445, i64 5 }, { ptr, i64 } { ptr @str.446, 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.198 - -while.hdr.198: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.199, label %while.exit.200 - -while.body.199: ; preds = %while.hdr.198 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.201, label %if.merge.202 - -while.exit.200: ; preds = %while.hdr.198 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 1 }) - ret { ptr, i64 } %callN - -if.then.201: ; preds = %while.body.199 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.202 - -if.merge.202: ; preds = %if.then.201, %while.body.199 - %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.452, 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.453, 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.198 - -fv.default: ; preds = %if.merge.202 - br label %fv.merge - -fv.case: ; preds = %if.merge.202 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.202 - %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.202 - %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.454, i64 6 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.465, i64 5 }, { ptr, i64 } { ptr @str.466, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5173,24 +5322,24 @@ while.body.204: ; preds = %while.hdr.203 while.exit.205: ; preds = %while.hdr.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) ret { ptr, i64 } %callN if.then.206: ; preds = %while.body.204 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.207 if.merge.207: ; preds = %if.then.206, %while.body.204 %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.461, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.472, 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.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, 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 @@ -5217,7 +5366,7 @@ fv.default: ; preds = %if.merge.207 fv.case: ; preds = %if.merge.207 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.207 @@ -5232,13 +5381,11 @@ fv.case20: ; preds = %if.merge.207 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.463, i64 6 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %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.474, i64 6 }, { ptr, i64 } { ptr @str.475, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5247,7 +5394,7 @@ entry: while.hdr.208: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.209, label %while.exit.210 while.body.209: ; preds = %while.hdr.208 @@ -5257,24 +5404,108 @@ while.body.209: ; preds = %while.hdr.208 while.exit.210: ; preds = %while.hdr.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) ret { ptr, i64 } %callN if.then.211: ; preds = %while.body.209 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.212 if.merge.212: ; preds = %if.then.211, %while.body.209 %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.469, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.481, 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.470, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, 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.208 + +fv.default: ; preds = %if.merge.212 + br label %fv.merge + +fv.case: ; preds = %if.merge.212 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.212 + %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.212 + %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.483, i64 6 }, { ptr, i64 } { ptr @str.484, 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.213 + +while.hdr.213: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.214, label %while.exit.215 + +while.body.214: ; preds = %while.hdr.213 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.216, label %if.merge.217 + +while.exit.215: ; preds = %while.hdr.213 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) + ret { ptr, i64 } %callN + +if.then.216: ; preds = %while.body.214 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.217 + +if.merge.217: ; preds = %if.then.216, %while.body.214 + %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.489, 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.490, 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 @@ -5292,19 +5523,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.208 + br label %while.hdr.213 -fv.default: ; preds = %if.merge.212 +fv.default: ; preds = %if.merge.217 br label %fv.merge -fv.case: ; preds = %if.merge.212 +fv.case: ; preds = %if.merge.217 %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.212 +fv.case17: ; preds = %if.merge.217 %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 @@ -5318,93 +5549,7 @@ 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.471, i64 4 }, { ptr, i64 } { ptr @str.472, 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.213 - -while.hdr.213: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.214, label %while.exit.215 - -while.body.214: ; preds = %while.hdr.213 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.216, label %if.merge.217 - -while.exit.215: ; preds = %while.hdr.213 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 1 }) - ret { ptr, i64 } %callN - -if.then.216: ; preds = %while.body.214 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.217 - -if.merge.217: ; preds = %if.then.216, %while.body.214 - %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.478, 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.479, 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.213 - -fv.default: ; preds = %if.merge.217 - br label %fv.merge - -fv.case: ; preds = %if.merge.217 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.217 - %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.217 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.480, i64 6 }, { ptr, i64 } { ptr @str.481, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.491, i64 4 }, { ptr, i64 } { ptr @str.492, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5423,24 +5568,110 @@ while.body.219: ; preds = %while.hdr.218 while.exit.220: ; preds = %while.hdr.218 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) ret { ptr, i64 } %callN if.then.221: ; preds = %while.body.219 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.222 if.merge.222: ; preds = %if.then.221, %while.body.219 %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.487, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.498, 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.488, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, 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.218 + +fv.default: ; preds = %if.merge.222 + br label %fv.merge + +fv.case: ; preds = %if.merge.222 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.222 + %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.222 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.500, i64 6 }, { ptr, i64 } { ptr @str.501, 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.223 + +while.hdr.223: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.224, label %while.exit.225 + +while.body.224: ; preds = %while.hdr.223 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.226, label %if.merge.227 + +while.exit.225: ; preds = %while.hdr.223 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) + ret { ptr, i64 } %callN + +if.then.226: ; preds = %while.body.224 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.227 + +if.merge.227: ; preds = %if.then.226, %while.body.224 + %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.507, 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.508, 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 @@ -5459,24 +5690,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.218 + br label %while.hdr.223 -fv.default: ; preds = %if.merge.222 +fv.default: ; preds = %if.merge.227 br label %fv.merge -fv.case: ; preds = %if.merge.222 +fv.case: ; preds = %if.merge.227 %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.222 +fv.case17: ; preds = %if.merge.227 %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.222 +fv.case20: ; preds = %if.merge.227 %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 @@ -5489,43 +5720,43 @@ 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.489, i64 12 }, { ptr, i64 } { ptr @str.490, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.509, i64 12 }, { ptr, i64 } { ptr @str.510, 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.223 + br label %while.hdr.228 -while.hdr.223: ; preds = %if.merge.227, %entry +while.hdr.228: ; preds = %if.merge.232, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.224, label %while.exit.225 + br i1 %icmp, label %while.body.229, label %while.exit.230 -while.body.224: ; preds = %while.hdr.223 +while.body.229: ; preds = %while.hdr.228 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.226, label %if.merge.227 + br i1 %icmpN, label %if.then.231, label %if.merge.232 -while.exit.225: ; preds = %while.hdr.223 +while.exit.230: ; preds = %while.hdr.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) ret { ptr, i64 } %callN -if.then.226: ; preds = %while.body.224 +if.then.231: ; preds = %while.body.229 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.227 + br label %if.merge.232 -if.merge.227: ; preds = %if.then.226, %while.body.224 +if.merge.232: ; preds = %if.then.231, %while.body.229 %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.493, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.513, 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.494, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5536,7 +5767,7 @@ if.merge.227: ; preds = %if.then.226, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.223 + br label %while.hdr.228 } ; Function Attrs: nounwind @@ -5545,95 +5776,7 @@ 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.495, i64 8 }, { ptr, i64 } { ptr @str.496, 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.228 - -while.hdr.228: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.229, label %while.exit.230 - -while.body.229: ; preds = %while.hdr.228 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.231, label %if.merge.232 - -while.exit.230: ; preds = %while.hdr.228 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 1 }) - ret { ptr, i64 } %callN - -if.then.231: ; preds = %while.body.229 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.232 - -if.merge.232: ; preds = %if.then.231, %while.body.229 - %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.502, 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.503, 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.228 - -fv.default: ; preds = %if.merge.232 - br label %fv.merge - -fv.case: ; preds = %if.merge.232 - %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.232 - %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.232 - %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.504, i64 7 }, { ptr, i64 } { ptr @str.505, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, i64 8 }, { ptr, i64 } { ptr @str.516, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5652,24 +5795,112 @@ while.body.234: ; preds = %while.hdr.233 while.exit.235: ; preds = %while.hdr.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 1 }) ret { ptr, i64 } %callN if.then.236: ; preds = %while.body.234 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.237 if.merge.237: ; preds = %if.then.236, %while.body.234 %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.511, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.522, 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.512, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, 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.233 + +fv.default: ; preds = %if.merge.237 + br label %fv.merge + +fv.case: ; preds = %if.merge.237 + %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.237 + %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.237 + %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.524, i64 7 }, { ptr, i64 } { ptr @str.525, 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.238 + +while.hdr.238: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.239, label %while.exit.240 + +while.body.239: ; preds = %while.hdr.238 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.241, label %if.merge.242 + +while.exit.240: ; preds = %while.hdr.238 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 1 }) + ret { ptr, i64 } %callN + +if.then.241: ; preds = %while.body.239 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.242 + +if.merge.242: ; preds = %if.then.241, %while.body.239 + %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.531, 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.532, 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 @@ -5688,26 +5919,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.233 + br label %while.hdr.238 -fv.default: ; preds = %if.merge.237 +fv.default: ; preds = %if.merge.242 br label %fv.merge -fv.case: ; preds = %if.merge.237 +fv.case: ; preds = %if.merge.242 %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.237 +fv.case17: ; preds = %if.merge.242 %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.237 +fv.case22: ; preds = %if.merge.242 %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 @@ -5721,86 +5952,7 @@ 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.513, i64 9 }, { ptr, i64 } { ptr @str.514, 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.238 - -while.hdr.238: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.239, label %while.exit.240 - -while.body.239: ; preds = %while.hdr.238 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.241, label %if.merge.242 - -while.exit.240: ; preds = %while.hdr.238 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) - ret { ptr, i64 } %callN - -if.then.241: ; preds = %while.body.239 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.242 - -if.merge.242: ; preds = %if.then.241, %while.body.239 - %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.519, 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.520, 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.238 - -fv.default: ; preds = %if.merge.242 - br label %fv.merge - -fv.case: ; preds = %if.merge.242 - %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.242 - %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.521, i64 4 }, { ptr, i64 } { ptr @str.522, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.533, i64 9 }, { ptr, i64 } { ptr @str.534, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5819,27 +5971,27 @@ while.body.244: ; preds = %while.hdr.243 while.exit.245: ; preds = %while.hdr.243 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) ret { ptr, i64 } %callN if.then.246: ; preds = %while.body.244 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.247 if.merge.247: ; preds = %if.then.246, %while.body.244 %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.527, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.539, 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.528, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, 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 { 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 @@ -5860,11 +6012,90 @@ fv.default: ; preds = %if.merge.247 br label %fv.merge fv.case: ; preds = %if.merge.247 + %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.247 + %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.541, i64 4 }, { ptr, i64 } { ptr @str.542, 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.248 + +while.hdr.248: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.249, label %while.exit.250 + +while.body.249: ; preds = %while.hdr.248 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.251, label %if.merge.252 + +while.exit.250: ; preds = %while.hdr.248 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + ret { ptr, i64 } %callN + +if.then.251: ; preds = %while.body.249 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.252 + +if.merge.252: ; preds = %if.then.251, %while.body.249 + %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.547, 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.548, 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.248 + +fv.default: ; preds = %if.merge.252 + br label %fv.merge + +fv.case: ; preds = %if.merge.252 %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.247 +fv.case17: ; preds = %if.merge.252 %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 @@ -5882,43 +6113,43 @@ entry: %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.529, i64 6 }, { ptr, i64 } { ptr @str.530, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, i64 6 }, { ptr, i64 } { ptr @str.550, 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.248 + br label %while.hdr.253 -while.hdr.248: ; preds = %fv.merge, %entry +while.hdr.253: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.249, label %while.exit.250 + br i1 %icmp, label %while.body.254, label %while.exit.255 -while.body.249: ; preds = %while.hdr.248 +while.body.254: ; preds = %while.hdr.253 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.251, label %if.merge.252 + br i1 %icmpN, label %if.then.256, label %if.merge.257 -while.exit.250: ; preds = %while.hdr.248 +while.exit.255: ; preds = %while.hdr.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.551, i64 1 }) ret { ptr, i64 } %callN -if.then.251: ; preds = %while.body.249 +if.then.256: ; preds = %while.body.254 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.252 + br label %if.merge.257 -if.merge.252: ; preds = %if.then.251, %while.body.249 +if.merge.257: ; preds = %if.then.256, %while.body.254 %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.540, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.560, 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.541, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, 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 @@ -5941,51 +6172,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.248 + br label %while.hdr.253 -fv.default: ; preds = %if.merge.252 +fv.default: ; preds = %if.merge.257 br label %fv.merge -fv.case: ; preds = %if.merge.252 +fv.case: ; preds = %if.merge.257 %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.252 +fv.case17: ; preds = %if.merge.257 %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.252 +fv.case22: ; preds = %if.merge.257 %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.252 +fv.case25: ; preds = %if.merge.257 %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.252 +fv.case28: ; preds = %if.merge.257 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.252 +fv.case33: ; preds = %if.merge.257 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.252 +fv.case38: ; preds = %if.merge.257 %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 @@ -6000,43 +6231,43 @@ entry: %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.542, i64 6 }, { ptr, i64 } { ptr @str.543, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, i64 6 }, { ptr, i64 } { ptr @str.563, 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.253 + br label %while.hdr.258 -while.hdr.253: ; preds = %fv.merge, %entry +while.hdr.258: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.254, label %while.exit.255 + br i1 %icmp, label %while.body.259, label %while.exit.260 -while.body.254: ; preds = %while.hdr.253 +while.body.259: ; preds = %while.hdr.258 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.256, label %if.merge.257 + br i1 %icmpN, label %if.then.261, label %if.merge.262 -while.exit.255: ; preds = %while.hdr.253 +while.exit.260: ; preds = %while.hdr.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %callN -if.then.256: ; preds = %while.body.254 +if.then.261: ; preds = %while.body.259 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.257 + br label %if.merge.262 -if.merge.257: ; preds = %if.then.256, %while.body.254 +if.merge.262: ; preds = %if.then.261, %while.body.259 %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.550, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.570, 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.551, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, 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 @@ -6056,31 +6287,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.253 + br label %while.hdr.258 -fv.default: ; preds = %if.merge.257 +fv.default: ; preds = %if.merge.262 br label %fv.merge -fv.case: ; preds = %if.merge.257 +fv.case: ; preds = %if.merge.262 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.257 +fv.case17: ; preds = %if.merge.262 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.257 +fv.case22: ; preds = %if.merge.262 %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.257 +fv.case25: ; preds = %if.merge.262 %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 @@ -6091,82 +6322,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.552, i64 8 }, { ptr, i64 } { ptr @str.553, 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.258 - -while.hdr.258: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.259, label %while.exit.260 - -while.body.259: ; preds = %while.hdr.258 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.261, label %if.merge.262 - -while.exit.260: ; preds = %while.hdr.258 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) - ret { ptr, i64 } %callN - -if.then.261: ; preds = %while.body.259 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.262 - -if.merge.262: ; preds = %if.then.261, %while.body.259 - %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.558, 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.559, 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.258 - -fv.default: ; preds = %if.merge.262 - br label %fv.merge - -fv.case: ; preds = %if.merge.262 - %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.262 - %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__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.560, i64 6 }, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.572, i64 8 }, { ptr, i64 } { ptr @str.573, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6175,7 +6331,7 @@ entry: while.hdr.263: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.264, label %while.exit.265 while.body.264: ; preds = %while.hdr.263 @@ -6185,118 +6341,16 @@ while.body.264: ; preds = %while.hdr.263 while.exit.265: ; preds = %while.hdr.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %callN if.then.266: ; preds = %while.body.264 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.267 if.merge.267: ; preds = %if.then.266, %while.body.264 - %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.570, 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.571, 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.263 - -fv.default: ; preds = %if.merge.267 - br label %fv.merge - -fv.case: ; preds = %if.merge.267 - %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.267 - %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.267 - %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.267 - %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.267 - %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.267 - %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.572, i64 10 }, { ptr, i64 } { ptr @str.573, 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.268 - -while.hdr.268: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.269, label %while.exit.270 - -while.body.269: ; preds = %while.hdr.268 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.271, label %if.merge.272 - -while.exit.270: ; preds = %while.hdr.268 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) - ret { ptr, i64 } %callN - -if.then.271: ; preds = %while.body.269 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.272 - -if.merge.272: ; preds = %if.then.271, %while.body.269 %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.578, i64 0, i64 %loadN @@ -6322,17 +6376,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.263 + +fv.default: ; preds = %if.merge.267 + br label %fv.merge + +fv.case: ; preds = %if.merge.267 + %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.267 + %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__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.580, i64 6 }, { ptr, i64 } { ptr @str.581, 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.268 + +while.hdr.268: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.269, label %while.exit.270 + +while.body.269: ; preds = %while.hdr.268 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.271, label %if.merge.272 + +while.exit.270: ; preds = %while.hdr.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + ret { ptr, i64 } %callN + +if.then.271: ; preds = %while.body.269 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.272 + +if.merge.272: ; preds = %if.then.271, %while.body.269 + %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.590, 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.591, 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.268 fv.default: ; preds = %if.merge.272 br label %fv.merge fv.case: ; preds = %if.merge.272 + %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.272 + %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.272 + %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.272 + %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.272 + %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.272 + %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.592, i64 10 }, { ptr, i64 } { ptr @str.593, 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.273 + +while.hdr.273: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.274, label %while.exit.275 + +while.body.274: ; preds = %while.hdr.273 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.276, label %if.merge.277 + +while.exit.275: ; preds = %while.hdr.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) + ret { ptr, i64 } %callN + +if.then.276: ; preds = %while.body.274 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.277 + +if.merge.277: ; preds = %if.then.276, %while.body.274 + %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.598, 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.599, 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.273 + +fv.default: ; preds = %if.merge.277 + br label %fv.merge + +fv.case: ; preds = %if.merge.277 %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.272 +fv.case17: ; preds = %if.merge.277 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6343,43 +6574,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 5 }, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 5 }, { ptr, i64 } { ptr @str.601, 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.273 + br label %while.hdr.278 -while.hdr.273: ; preds = %fv.merge, %entry +while.hdr.278: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.274, label %while.exit.275 + br i1 %icmp, label %while.body.279, label %while.exit.280 -while.body.274: ; preds = %while.hdr.273 +while.body.279: ; preds = %while.hdr.278 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.276, label %if.merge.277 + br i1 %icmpN, label %if.then.281, label %if.merge.282 -while.exit.275: ; preds = %while.hdr.273 +while.exit.280: ; preds = %while.hdr.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 1 }) ret { ptr, i64 } %callN -if.then.276: ; preds = %while.body.274 +if.then.281: ; preds = %while.body.279 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.277 + br label %if.merge.282 -if.merge.277: ; preds = %if.then.276, %while.body.274 +if.merge.282: ; preds = %if.then.281, %while.body.279 %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.591, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.611, 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.592, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, 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, i64 }, ptr %alloca, align 8 @@ -6402,47 +6633,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.273 + br label %while.hdr.278 -fv.default: ; preds = %if.merge.277 +fv.default: ; preds = %if.merge.282 br label %fv.merge -fv.case: ; preds = %if.merge.277 +fv.case: ; preds = %if.merge.282 %fv.field = extractvalue { i32, i64, 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.277 +fv.case17: ; preds = %if.merge.282 %fv.field18 = extractvalue { i32, i64, 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.277 +fv.case20: ; preds = %if.merge.282 %fv.field21 = extractvalue { i32, i64, 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.277 +fv.case23: ; preds = %if.merge.282 %fv.field24 = extractvalue { i32, i64, 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.277 +fv.case27: ; preds = %if.merge.282 %fv.field28 = extractvalue { i32, i64, 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.277 +fv.case31: ; preds = %if.merge.282 %fv.field32 = extractvalue { i32, i64, 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.277 +fv.case35: ; preds = %if.merge.282 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6453,77 +6684,7 @@ 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.593, i64 4 }, { ptr, i64 } { ptr @str.594, 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.278 - -while.hdr.278: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.279, label %while.exit.280 - -while.body.279: ; preds = %while.hdr.278 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.281, label %if.merge.282 - -while.exit.280: ; preds = %while.hdr.278 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 1 }) - ret { ptr, i64 } %callN - -if.then.281: ; preds = %while.body.279 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.596, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.282 - -if.merge.282: ; preds = %if.then.281, %while.body.279 - %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.598, 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.599, 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.278 - -fv.default: ; preds = %if.merge.282 - br label %fv.merge - -fv.case: ; preds = %if.merge.282 - %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__IntCell(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.600, i64 7 }, { ptr, i64 } { ptr @str.601, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } { ptr @str.614, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6542,27 +6703,27 @@ while.body.284: ; preds = %while.hdr.283 while.exit.285: ; preds = %while.hdr.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) ret { ptr, i64 } %callN if.then.286: ; preds = %while.body.284 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.287 if.merge.287: ; preds = %if.then.286, %while.body.284 %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.605, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.618, 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.606, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, 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 { i32 }, ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 switch i64 %loadN, label %fv.default [ i64 0, label %fv.case @@ -6582,6 +6743,639 @@ fv.default: ; preds = %if.merge.287 br label %fv.merge fv.case: ; preds = %if.merge.287 + %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 6 }, { ptr, i64 } { ptr @str.621, 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.288 + +while.hdr.288: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.289, label %while.exit.290 + +while.body.289: ; preds = %while.hdr.288 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.291, label %if.merge.292 + +while.exit.290: ; preds = %while.hdr.288 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) + ret { ptr, i64 } %callN + +if.then.291: ; preds = %while.body.289 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.292 + +if.merge.292: ; preds = %if.then.291, %while.body.289 + %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.631, 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.632, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.288 + +fv.default: ; preds = %if.merge.292 + br label %fv.merge + +fv.case: ; preds = %if.merge.292 + %fv.field = extractvalue { i64, i32, 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.292 + %fv.field18 = extractvalue { i64, i32, 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.292 + %fv.field21 = extractvalue { i64, i32, 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.292 + %fv.field24 = extractvalue { i64, i32, 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.292 + %fv.field27 = extractvalue { i64, i32, 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.292 + %fv.field30 = extractvalue { i64, i32, 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.292 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.633, i64 7 }, { ptr, i64 } { ptr @str.634, 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.293 + +while.hdr.293: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.294, label %while.exit.295 + +while.body.294: ; preds = %while.hdr.293 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.296, label %if.merge.297 + +while.exit.295: ; preds = %while.hdr.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) + ret { ptr, i64 } %callN + +if.then.296: ; preds = %while.body.294 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.297 + +if.merge.297: ; preds = %if.then.296, %while.body.294 + %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.643, 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.644, 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.293 + +fv.default: ; preds = %if.merge.297 + br label %fv.merge + +fv.case: ; preds = %if.merge.297 + %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.297 + %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.297 + %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.297 + %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.297 + %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.297 + %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.645, i64 8 }, { ptr, i64 } { ptr @str.646, 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.298 + +while.hdr.298: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.299, label %while.exit.300 + +while.body.299: ; preds = %while.hdr.298 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.301, label %if.merge.302 + +while.exit.300: ; preds = %while.hdr.298 + %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 }) + ret { ptr, i64 } %callN + +if.then.301: ; preds = %while.body.299 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.302 + +if.merge.302: ; preds = %if.then.301, %while.body.299 + %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.653, 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.654, 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.298 + +fv.default: ; preds = %if.merge.302 + br label %fv.merge + +fv.case: ; preds = %if.merge.302 + %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.302 + %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.302 + %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.302 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 4 }, { ptr, i64 } { ptr @str.656, 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.303 + +while.hdr.303: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.304, label %while.exit.305 + +while.body.304: ; preds = %while.hdr.303 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.306, label %if.merge.307 + +while.exit.305: ; preds = %while.hdr.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + ret { ptr, i64 } %callN + +if.then.306: ; preds = %while.body.304 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.307 + +if.merge.307: ; preds = %if.then.306, %while.body.304 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.670, 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.671, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.303 + +fv.default: ; preds = %if.merge.307 + br label %fv.merge + +fv.case: ; preds = %if.merge.307 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.307 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.307 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.307 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.307 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.307 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.307 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.307 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.307 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.307 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.307 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 6 }, { 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.308 + +while.hdr.308: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.309, label %while.exit.310 + +while.body.309: ; preds = %while.hdr.308 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.311, label %if.merge.312 + +while.exit.310: ; preds = %while.hdr.308 + %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.311: ; preds = %while.body.309 + %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.312 + +if.merge.312: ; preds = %if.then.311, %while.body.309 + %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.682, 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.683, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.308 + +fv.default: ; preds = %if.merge.312 + br label %fv.merge + +fv.case: ; preds = %if.merge.312 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.312 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.312 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.312 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.312 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.312 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__IntCell(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.684, i64 7 }, { ptr, i64 } { ptr @str.685, 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.313 + +while.hdr.313: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.314, label %while.exit.315 + +while.body.314: ; preds = %while.hdr.313 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.316, label %if.merge.317 + +while.exit.315: ; preds = %while.hdr.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) + ret { ptr, i64 } %callN + +if.then.316: ; preds = %while.body.314 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.317 + +if.merge.317: ; preds = %if.then.316, %while.body.314 + %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.689, 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.690, 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.313 + +fv.default: ; preds = %if.merge.317 + br label %fv.merge + +fv.case: ; preds = %if.merge.317 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -6592,43 +7386,43 @@ define internal { ptr, i64 } @struct_to_string__R(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.607, i64 1 }, { ptr, i64 } { ptr @str.608, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 1 }, { ptr, i64 } { ptr @str.692, 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.288 + br label %while.hdr.318 -while.hdr.288: ; preds = %if.merge.292, %entry +while.hdr.318: ; preds = %if.merge.322, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.289, label %while.exit.290 + br i1 %icmp, label %while.body.319, label %while.exit.320 -while.body.289: ; preds = %while.hdr.288 +while.body.319: ; preds = %while.hdr.318 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.291, label %if.merge.292 + br i1 %icmpN, label %if.then.321, label %if.merge.322 -while.exit.290: ; preds = %while.hdr.288 +while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.609, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 1 }) ret { ptr, i64 } %callN -if.then.291: ; preds = %while.body.289 +if.then.321: ; preds = %while.body.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %while.body.289 +if.merge.322: ; preds = %if.then.321, %while.body.319 %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.695, 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.612, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6639,7 +7433,7 @@ if.merge.292: ; preds = %if.then.291, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.288 + br label %while.hdr.318 } ; Function Attrs: nounwind @@ -6647,43 +7441,43 @@ define internal { ptr, i64 } @struct_to_string__Combined(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.613, i64 8 }, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 8 }, { ptr, i64 } { ptr @str.698, 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.293 + br label %while.hdr.323 -while.hdr.293: ; preds = %if.merge.297, %entry +while.hdr.323: ; preds = %if.merge.327, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.294, label %while.exit.295 + br i1 %icmp, label %while.body.324, label %while.exit.325 -while.body.294: ; preds = %while.hdr.293 +while.body.324: ; preds = %while.hdr.323 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.296, label %if.merge.297 + br i1 %icmpN, label %if.then.326, label %if.merge.327 -while.exit.295: ; preds = %while.hdr.293 +while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 1 }) ret { ptr, i64 } %callN -if.then.296: ; preds = %while.body.294 +if.then.326: ; preds = %while.body.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.297 + br label %if.merge.327 -if.merge.297: ; preds = %if.then.296, %while.body.294 +if.merge.327: ; preds = %if.then.326, %while.body.324 %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.617, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.618, i64 2 }) + %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 %alloca, align 1 @@ -6694,7 +7488,7 @@ if.merge.297: ; preds = %if.then.296, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.293 + br label %while.hdr.323 } ; Function Attrs: nounwind @@ -6702,43 +7496,43 @@ define internal { ptr, i64 } @struct_to_string__VL__i64(ptr %0, { ptr, ptr } %1) entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 7 }, { ptr, i64 } { ptr @str.620, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 7 }, { 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.298 + br label %while.hdr.328 -while.hdr.298: ; preds = %fv.merge, %entry +while.hdr.328: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.299, label %while.exit.300 + br i1 %icmp, label %while.body.329, label %while.exit.330 -while.body.299: ; preds = %while.hdr.298 +while.body.329: ; preds = %while.hdr.328 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.301, label %if.merge.302 + br i1 %icmpN, label %if.then.331, label %if.merge.332 -while.exit.300: ; preds = %while.hdr.298 +while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 1 }) ret { ptr, i64 } %callN -if.then.301: ; preds = %while.body.299 +if.then.331: ; preds = %while.body.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 2 }) + %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.302 + br label %if.merge.332 -if.merge.302: ; preds = %if.then.301, %while.body.299 +if.merge.332: ; preds = %if.then.331, %while.body.329 %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.625, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.709, 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.626, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6756,18 +7550,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.298 + br label %while.hdr.328 -fv.default: ; preds = %if.merge.302 +fv.default: ; preds = %if.merge.332 br label %fv.merge -fv.case: ; preds = %if.merge.302 +fv.case: ; preds = %if.merge.332 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.302 +fv.case17: ; preds = %if.merge.332 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -6779,43 +7573,43 @@ define internal { ptr, i64 } @struct_to_string____VL__i64__Vtable(ptr %0, { ptr entry: %alloca = alloca { ptr }, align 8 store { ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 17 }, { ptr, i64 } { ptr @str.628, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 17 }, { ptr, i64 } { ptr @str.712, 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.303 + br label %while.hdr.333 -while.hdr.303: ; preds = %fv.merge, %entry +while.hdr.333: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.304, label %while.exit.305 + br i1 %icmp, label %while.body.334, label %while.exit.335 -while.body.304: ; preds = %while.hdr.303 +while.body.334: ; preds = %while.hdr.333 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.306, label %if.merge.307 + br i1 %icmpN, label %if.then.336, label %if.merge.337 -while.exit.305: ; preds = %while.hdr.303 +while.exit.335: ; preds = %while.hdr.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) ret { ptr, i64 } %callN -if.then.306: ; preds = %while.body.304 +if.then.336: ; preds = %while.body.334 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.307 + br label %if.merge.337 -if.merge.307: ; preds = %if.then.306, %while.body.304 +if.merge.337: ; preds = %if.then.336, %while.body.334 %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.632, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.716, 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.633, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, 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 @@ -6832,12 +7626,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.303 + br label %while.hdr.333 -fv.default: ; preds = %if.merge.307 +fv.default: ; preds = %if.merge.337 br label %fv.merge -fv.case: ; preds = %if.merge.307 +fv.case: ; preds = %if.merge.337 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -6849,43 +7643,43 @@ define internal { ptr, i64 } @struct_to_string__VL(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.634, i64 2 }, { ptr, i64 } { ptr @str.635, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 2 }, { ptr, i64 } { ptr @str.719, 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.308 + br label %while.hdr.338 -while.hdr.308: ; preds = %if.merge.312, %entry +while.hdr.338: ; preds = %if.merge.342, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.309, label %while.exit.310 + br i1 %icmp, label %while.body.339, label %while.exit.340 -while.body.309: ; preds = %while.hdr.308 +while.body.339: ; preds = %while.hdr.338 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.311, label %if.merge.312 + br i1 %icmpN, label %if.then.341, label %if.merge.342 -while.exit.310: ; preds = %while.hdr.308 +while.exit.340: ; preds = %while.hdr.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %callN -if.then.311: ; preds = %while.body.309 +if.then.341: ; preds = %while.body.339 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.312 + br label %if.merge.342 -if.merge.312: ; preds = %if.then.311, %while.body.309 +if.merge.342: ; preds = %if.then.341, %while.body.339 %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.638, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.722, 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.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6896,7 +7690,7 @@ if.merge.312: ; preds = %if.then.311, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.308 + br label %while.hdr.338 } ; Function Attrs: nounwind @@ -6905,43 +7699,43 @@ entry: %alloca = alloca { { { ptr, ptr } }, i64 }, align 8 %ba.tmp = alloca { { ptr, ptr } }, align 8 store { { { ptr, ptr } }, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 18 }, { ptr, i64 } { ptr @str.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 18 }, { ptr, i64 } { ptr @str.725, 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.313 + br label %while.hdr.343 -while.hdr.313: ; preds = %fv.merge, %entry +while.hdr.343: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.314, label %while.exit.315 + br i1 %icmp, label %while.body.344, label %while.exit.345 -while.body.314: ; preds = %while.hdr.313 +while.body.344: ; preds = %while.hdr.343 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.316, label %if.merge.317 + br i1 %icmpN, label %if.then.346, label %if.merge.347 -while.exit.315: ; preds = %while.hdr.313 +while.exit.345: ; preds = %while.hdr.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %callN -if.then.316: ; preds = %while.body.314 +if.then.346: ; preds = %while.body.344 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.317 + br label %if.merge.347 -if.merge.317: ; preds = %if.then.316, %while.body.314 +if.merge.347: ; preds = %if.then.346, %while.body.344 %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.646, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.730, 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.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { { ptr, ptr } }, i64 }, ptr %alloca, align 8 @@ -6959,19 +7753,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.313 + br label %while.hdr.343 -fv.default: ; preds = %if.merge.317 +fv.default: ; preds = %if.merge.347 br label %fv.merge -fv.case: ; preds = %if.merge.317 +fv.case: ; preds = %if.merge.347 %fv.field = extractvalue { { { ptr, ptr } }, i64 } %loadN, 0 store { { ptr, ptr } } %fv.field, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 137, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.317 +fv.case17: ; preds = %if.merge.347 %fv.field18 = extractvalue { { { ptr, ptr } }, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6986,9 +7780,9 @@ entry: %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.653, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.737, 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.648, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, 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 @@ -7002,18 +7796,18 @@ entry: %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.325, label %if.merge.326 + br i1 %icmp, label %if.then.355, label %if.merge.356 -if.then.325: ; preds = %entry +if.then.355: ; 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.655, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, 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.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %entry +if.merge.356: ; preds = %if.then.355, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7027,9 +7821,9 @@ entry: %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.660, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.744, 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.656, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, 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 @@ -7043,18 +7837,18 @@ entry: %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.327, label %if.merge.328 + br i1 %icmp, label %if.then.357, label %if.merge.358 -if.then.327: ; preds = %entry +if.then.357: ; 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.662, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, 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.328 + br label %if.merge.358 -if.merge.328: ; preds = %if.then.327, %entry +if.merge.358: ; preds = %if.then.357, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7079,9 +7873,9 @@ entry: %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.670, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.754, 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.663, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, 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 @@ -7095,16 +7889,16 @@ entry: i64 5, label %fv.case24 ] -if.then.329: ; preds = %fv.merge +if.then.359: ; 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.672, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, 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.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %fv.merge +if.merge.360: ; preds = %if.then.359, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7117,7 +7911,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.329, label %if.merge.330 + br i1 %icmp, label %if.then.359, label %if.merge.360 fv.default: ; preds = %entry br label %fv.merge @@ -7177,9 +7971,9 @@ entry: %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.681, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.765, 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.673, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, 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 @@ -7193,18 +7987,18 @@ entry: %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.331, label %if.merge.332 + br i1 %icmp, label %if.then.361, label %if.merge.362 -if.then.331: ; preds = %entry +if.then.361: ; 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.683, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.767, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, 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.332 + br label %if.merge.362 -if.merge.332: ; preds = %if.then.331, %entry +if.merge.362: ; preds = %if.then.361, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7218,9 +8012,9 @@ entry: %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.690, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.774, 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.684, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, 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 @@ -7234,18 +8028,18 @@ entry: %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.333, label %if.merge.334 + br i1 %icmp, label %if.then.363, label %if.merge.364 -if.then.333: ; preds = %entry +if.then.363: ; 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.692, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, 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.334 + br label %if.merge.364 -if.merge.334: ; preds = %if.then.333, %entry +if.merge.364: ; preds = %if.then.363, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7257,33 +8051,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.693, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.777, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.343 + br label %while.hdr.373 -while.hdr.343: ; preds = %if.merge.347, %entry +while.hdr.373: ; preds = %if.merge.377, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.344, label %while.exit.345 + br i1 %icmp, label %while.body.374, label %while.exit.375 -while.body.344: ; preds = %while.hdr.343 +while.body.374: ; preds = %while.hdr.373 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.346, label %if.merge.347 + br i1 %icmpN, label %if.then.376, label %if.merge.377 -while.exit.345: ; preds = %while.hdr.343 +while.exit.375: ; preds = %while.hdr.373 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, i64 1 }) ret { ptr, i64 } %call -if.then.346: ; preds = %while.body.344 +if.then.376: ; preds = %while.body.374 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.347 + br label %if.merge.377 -if.merge.347: ; preds = %if.then.346, %while.body.344 +if.merge.377: ; preds = %if.then.376, %while.body.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7297,7 +8091,7 @@ if.merge.347: ; preds = %if.then.346, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.343 + br label %while.hdr.373 } ; Function Attrs: nounwind @@ -7308,33 +8102,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.696, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.780, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.348 + br label %while.hdr.378 -while.hdr.348: ; preds = %if.merge.352, %entry +while.hdr.378: ; preds = %if.merge.382, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.349, label %while.exit.350 + br i1 %icmp, label %while.body.379, label %while.exit.380 -while.body.349: ; preds = %while.hdr.348 +while.body.379: ; preds = %while.hdr.378 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.351, label %if.merge.352 + br i1 %icmpN, label %if.then.381, label %if.merge.382 -while.exit.350: ; preds = %while.hdr.348 +while.exit.380: ; preds = %while.hdr.378 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.781, i64 1 }) ret { ptr, i64 } %call -if.then.351: ; preds = %while.body.349 +if.then.381: ; preds = %while.body.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.782, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.352 + br label %if.merge.382 -if.merge.352: ; preds = %if.then.351, %while.body.349 +if.merge.382: ; preds = %if.then.381, %while.body.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7350,7 +8144,7 @@ if.merge.352: ; preds = %if.then.351, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.348 + br label %while.hdr.378 } ; Function Attrs: nounwind @@ -7360,33 +8154,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.699, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.783, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.353 + br label %while.hdr.383 -while.hdr.353: ; preds = %if.merge.357, %entry +while.hdr.383: ; preds = %if.merge.387, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.354, label %while.exit.355 + br i1 %icmp, label %while.body.384, label %while.exit.385 -while.body.354: ; preds = %while.hdr.353 +while.body.384: ; preds = %while.hdr.383 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.356, label %if.merge.357 + br i1 %icmpN, label %if.then.386, label %if.merge.387 -while.exit.355: ; preds = %while.hdr.353 +while.exit.385: ; preds = %while.hdr.383 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.784, i64 1 }) ret { ptr, i64 } %call -if.then.356: ; preds = %while.body.354 +if.then.386: ; preds = %while.body.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.701, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.357 + br label %if.merge.387 -if.merge.357: ; preds = %if.then.356, %while.body.354 +if.merge.387: ; preds = %if.then.386, %while.body.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7400,7 +8194,7 @@ if.merge.357: ; preds = %if.then.356, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.353 + br label %while.hdr.383 } ; Function Attrs: nounwind @@ -7410,33 +8204,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.702, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.786, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.358 + br label %while.hdr.388 -while.hdr.358: ; preds = %if.merge.362, %entry +while.hdr.388: ; preds = %if.merge.392, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.359, label %while.exit.360 + br i1 %icmp, label %while.body.389, label %while.exit.390 -while.body.359: ; preds = %while.hdr.358 +while.body.389: ; preds = %while.hdr.388 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.361, label %if.merge.362 + br i1 %icmpN, label %if.then.391, label %if.merge.392 -while.exit.360: ; preds = %while.hdr.358 +while.exit.390: ; preds = %while.hdr.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.787, i64 1 }) ret { ptr, i64 } %call -if.then.361: ; preds = %while.body.359 +if.then.391: ; preds = %while.body.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.362 + br label %if.merge.392 -if.merge.362: ; preds = %if.then.361, %while.body.359 +if.merge.392: ; preds = %if.then.391, %while.body.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7451,7 +8245,7 @@ if.merge.362: ; preds = %if.then.361, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.358 + br label %while.hdr.388 } ; Function Attrs: nounwind @@ -7461,33 +8255,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.705, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.789, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.363 + br label %while.hdr.393 -while.hdr.363: ; preds = %if.merge.367, %entry +while.hdr.393: ; preds = %if.merge.397, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.364, label %while.exit.365 + br i1 %icmp, label %while.body.394, label %while.exit.395 -while.body.364: ; preds = %while.hdr.363 +while.body.394: ; preds = %while.hdr.393 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.366, label %if.merge.367 + br i1 %icmpN, label %if.then.396, label %if.merge.397 -while.exit.365: ; preds = %while.hdr.363 +while.exit.395: ; preds = %while.hdr.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, i64 1 }) ret { ptr, i64 } %call -if.then.366: ; preds = %while.body.364 +if.then.396: ; preds = %while.body.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 2 }) + %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.367 + br label %if.merge.397 -if.merge.367: ; preds = %if.then.366, %while.body.364 +if.merge.397: ; preds = %if.then.396, %while.body.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7501,7 +8295,7 @@ if.merge.367: ; preds = %if.then.366, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.363 + br label %while.hdr.393 } ; Function Attrs: nounwind @@ -7512,33 +8306,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.708, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.792, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.368 + br label %while.hdr.398 -while.hdr.368: ; preds = %if.merge.372, %entry +while.hdr.398: ; preds = %if.merge.402, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.369, label %while.exit.370 + br i1 %icmp, label %while.body.399, label %while.exit.400 -while.body.369: ; preds = %while.hdr.368 +while.body.399: ; preds = %while.hdr.398 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.371, label %if.merge.372 + br i1 %icmpN, label %if.then.401, label %if.merge.402 -while.exit.370: ; preds = %while.hdr.368 +while.exit.400: ; preds = %while.hdr.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 1 }) ret { ptr, i64 } %call -if.then.371: ; preds = %while.body.369 +if.then.401: ; preds = %while.body.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 2 }) + %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 - br label %if.merge.372 + br label %if.merge.402 -if.merge.372: ; preds = %if.then.371, %while.body.369 +if.merge.402: ; preds = %if.then.401, %while.body.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7554,7 +8348,7 @@ if.merge.372: ; preds = %if.then.371, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.368 + br label %while.hdr.398 } ; Function Attrs: nounwind @@ -7564,329 +8358,7 @@ entry: %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.711, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.382 - -while.hdr.382: ; preds = %if.merge.386, %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.383, label %while.exit.384 - -while.body.383: ; preds = %while.hdr.382 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.385, label %if.merge.386 - -while.exit.384: ; preds = %while.hdr.382 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 1 }) - ret { ptr, i64 } %call - -if.then.385: ; preds = %while.body.383 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.386 - -if.merge.386: ; preds = %if.then.385, %while.body.383 - %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.382 -} - -; 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.714, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.387 - -while.hdr.387: ; preds = %if.merge.391, %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.388, label %while.exit.389 - -while.body.388: ; preds = %while.hdr.387 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.390, label %if.merge.391 - -while.exit.389: ; preds = %while.hdr.387 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) - ret { ptr, i64 } %call - -if.then.390: ; preds = %while.body.388 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.391 - -if.merge.391: ; preds = %if.then.390, %while.body.388 - %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.387 -} - -; 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.717, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.392 - -while.hdr.392: ; preds = %if.merge.396, %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.393, label %while.exit.394 - -while.body.393: ; preds = %while.hdr.392 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.395, label %if.merge.396 - -while.exit.394: ; preds = %while.hdr.392 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) - ret { ptr, i64 } %call - -if.then.395: ; preds = %while.body.393 - %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.396 - -if.merge.396: ; preds = %if.then.395, %while.body.393 - %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 80, 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.392 -} - -; 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.720, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.397 - -while.hdr.397: ; preds = %if.merge.401, %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.398, label %while.exit.399 - -while.body.398: ; preds = %while.hdr.397 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.400, label %if.merge.401 - -while.exit.399: ; preds = %while.hdr.397 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) - ret { ptr, i64 } %call - -if.then.400: ; preds = %while.body.398 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.401 - -if.merge.401: ; preds = %if.then.400, %while.body.398 - %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 82, 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.397 -} - -; 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, i64 }, align 8 - store { ptr, i64 } %1, ptr %alloca, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.723, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.402 - -while.hdr.402: ; preds = %if.merge.406, %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.403, label %while.exit.404 - -while.body.403: ; preds = %while.hdr.402 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.405, label %if.merge.406 - -while.exit.404: ; preds = %while.hdr.402 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 1 }) - ret { ptr, i64 } %call - -if.then.405: ; preds = %while.body.403 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.406 - -if.merge.406: ; preds = %if.then.405, %while.body.403 - %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, i64 }, ptr %ig.data, i64 %loadN - %ig.val = load { i32, i64, i1, i1, i1, i1, i64 }, ptr %ig.ptr, align 8 - store { i32, i64, 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 104, 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.402 -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @slice_to_string__VL(ptr %0, { ptr, i64 } %1) #0 { -entry: - %alloca = alloca { ptr, i64 }, align 8 - %ba.tmp = alloca {}, align 8 - store { ptr, i64 } %1, ptr %alloca, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.726, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.407 - -while.hdr.407: ; preds = %if.merge.411, %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.408, label %while.exit.409 - -while.body.408: ; preds = %while.hdr.407 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.410, label %if.merge.411 - -while.exit.409: ; preds = %while.hdr.407 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 }) - ret { ptr, i64 } %call - -if.then.410: ; preds = %while.body.408 - %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.411 - -if.merge.411: ; preds = %if.then.410, %while.body.408 - %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 %ig.data, i64 %loadN - %ig.val = load {}, ptr %ig.ptr, align 1 - store {} %ig.val, ptr %ba.tmp, align 1 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 116, 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.407 -} - -; 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.729, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.795, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.412 @@ -7905,16 +8377,338 @@ while.body.413: ; preds = %while.hdr.412 while.exit.414: ; preds = %while.hdr.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.796, i64 1 }) ret { ptr, i64 } %call if.then.415: ; preds = %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.416 if.merge.416: ; preds = %if.then.415, %while.body.413 + %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.412 +} + +; 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.798, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.417 + +while.hdr.417: ; preds = %if.merge.421, %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.418, label %while.exit.419 + +while.body.418: ; preds = %while.hdr.417 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.420, label %if.merge.421 + +while.exit.419: ; preds = %while.hdr.417 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.799, i64 1 }) + ret { ptr, i64 } %call + +if.then.420: ; preds = %while.body.418 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.800, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.421 + +if.merge.421: ; preds = %if.then.420, %while.body.418 + %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.417 +} + +; 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.801, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.422 + +while.hdr.422: ; preds = %if.merge.426, %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.423, label %while.exit.424 + +while.body.423: ; preds = %while.hdr.422 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.425, label %if.merge.426 + +while.exit.424: ; preds = %while.hdr.422 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 1 }) + ret { ptr, i64 } %call + +if.then.425: ; preds = %while.body.423 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.426 + +if.merge.426: ; preds = %if.then.425, %while.body.423 + %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 80, 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.422 +} + +; 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.804, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.427 + +while.hdr.427: ; preds = %if.merge.431, %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.428, label %while.exit.429 + +while.body.428: ; preds = %while.hdr.427 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.430, label %if.merge.431 + +while.exit.429: ; preds = %while.hdr.427 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.805, i64 1 }) + ret { ptr, i64 } %call + +if.then.430: ; preds = %while.body.428 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.431 + +if.merge.431: ; preds = %if.then.430, %while.body.428 + %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 82, 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.427 +} + +; 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, i64 }, align 8 + store { ptr, i64 } %1, ptr %alloca, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + store { ptr, i64 } { ptr @str.807, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.432 + +while.hdr.432: ; preds = %if.merge.436, %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.433, label %while.exit.434 + +while.body.433: ; preds = %while.hdr.432 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.435, label %if.merge.436 + +while.exit.434: ; preds = %while.hdr.432 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, i64 1 }) + ret { ptr, i64 } %call + +if.then.435: ; preds = %while.body.433 + %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.436 + +if.merge.436: ; preds = %if.then.435, %while.body.433 + %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, i64 }, ptr %ig.data, i64 %loadN + %ig.val = load { i32, i64, i1, i1, i1, i1, i64 }, ptr %ig.ptr, align 8 + store { i32, i64, 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 104, 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.432 +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @slice_to_string__VL(ptr %0, { ptr, i64 } %1) #0 { +entry: + %alloca = alloca { ptr, i64 }, align 8 + %ba.tmp = alloca {}, align 8 + store { ptr, i64 } %1, ptr %alloca, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + store { ptr, i64 } { ptr @str.810, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.437 + +while.hdr.437: ; preds = %if.merge.441, %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.438, label %while.exit.439 + +while.body.438: ; preds = %while.hdr.437 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.440, label %if.merge.441 + +while.exit.439: ; preds = %while.hdr.437 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, i64 1 }) + ret { ptr, i64 } %call + +if.then.440: ; preds = %while.body.438 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.812, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.441 + +if.merge.441: ; preds = %if.then.440, %while.body.438 + %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 %ig.data, i64 %loadN + %ig.val = load {}, ptr %ig.ptr, align 1 + store {} %ig.val, ptr %ba.tmp, align 1 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %ba.val = insertvalue { i64, i64 } { i64 128, 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.437 +} + +; 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.813, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.442 + +while.hdr.442: ; preds = %if.merge.446, %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.443, label %while.exit.444 + +while.body.443: ; preds = %while.hdr.442 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.445, label %if.merge.446 + +while.exit.444: ; preds = %while.hdr.442 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.814, i64 1 }) + ret { ptr, i64 } %call + +if.then.445: ; preds = %while.body.443 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.815, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.446 + +if.merge.446: ; preds = %if.then.445, %while.body.443 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7930,206 +8724,11 @@ if.merge.416: ; preds = %if.then.415, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.412 + br label %while.hdr.442 } ; 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.460, label %if.else.461 - -if.then.460: ; preds = %entry - br label %if.merge.462 - -if.else.461: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.462 - -if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] - 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.476, label %if.else.477 - -if.then.476: ; preds = %entry - br label %if.merge.478 - -if.else.477: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.478 - -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] - 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.479, label %if.else.480 - -if.then.479: ; preds = %entry - br label %if.merge.481 - -if.else.480: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.481 - -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] - 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.482, label %if.else.483 - -if.then.482: ; preds = %entry - br label %if.merge.484 - -if.else.483: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.484 - -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] - 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.485, label %if.else.486 - -if.then.485: ; preds = %entry - br label %if.merge.487 - -if.else.486: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.487 - -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] - ret { ptr, i64 } %bp -} - -; 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.488, label %if.else.489 - -if.then.488: ; preds = %entry - br label %if.merge.490 - -if.else.489: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.490 - -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] - 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.491, label %if.else.492 - -if.then.491: ; preds = %entry - br label %if.merge.493 - -if.else.492: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 - -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] - 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 @@ -8147,12 +8746,207 @@ if.then.494: ; preds = %entry if.else.495: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 5 }, { ptr, i64 } %callN) br label %if.merge.496 if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + 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.510, label %if.else.511 + +if.then.510: ; preds = %entry + br label %if.merge.512 + +if.else.511: ; 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.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.512 + +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] + 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.513, label %if.else.514 + +if.then.513: ; preds = %entry + br label %if.merge.515 + +if.else.514: ; 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.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.515 + +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + 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.516, label %if.else.517 + +if.then.516: ; preds = %entry + br label %if.merge.518 + +if.else.517: ; 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.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.518 + +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] + 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.519, label %if.else.520 + +if.then.519: ; preds = %entry + br label %if.merge.521 + +if.else.520: ; 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.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.521 + +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] + ret { ptr, i64 } %bp +} + +; 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.522, label %if.else.523 + +if.then.522: ; preds = %entry + br label %if.merge.524 + +if.else.523: ; 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.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.524 + +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] + 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.525, label %if.else.526 + +if.then.525: ; preds = %entry + br label %if.merge.527 + +if.else.526: ; 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.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 + +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] + 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.528, label %if.else.529 + +if.then.528: ; preds = %entry + br label %if.merge.530 + +if.else.529: ; 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.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.530 + +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -8167,20 +8961,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -8195,20 +8989,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -8223,20 +9017,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.537, label %if.else.538 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.537: ; preds = %entry + br label %if.merge.539 -if.else.504: ; preds = %entry +if.else.538: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.539 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -8251,20 +9045,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.540, label %if.else.541 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.540: ; preds = %entry + br label %if.merge.542 -if.else.507: ; preds = %entry +if.else.541: ; 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.767, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.542 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -8278,20 +9072,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.510: ; preds = %entry +if.else.544: ; 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.770, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -8306,20 +9100,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.513: ; preds = %entry +if.else.547: ; 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.773, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -8333,20 +9127,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.516: ; preds = %entry +if.else.550: ; 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.776, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8361,20 +9155,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.519: ; preds = %entry +if.else.553: ; 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.779, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.861, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8389,20 +9183,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.522: ; preds = %entry +if.else.556: ; 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.782, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.864, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8417,20 +9211,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.525: ; preds = %entry +if.else.559: ; 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.785, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.867, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8445,20 +9239,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.528: ; preds = %entry +if.else.562: ; 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.788, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.871, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.870, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8473,20 +9267,20 @@ entry: 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.530, label %if.else.531 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.530: ; preds = %entry - br label %if.merge.532 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.531: ; preds = %entry +if.else.565: ; 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.791, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.532 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.874, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.873, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8501,20 +9295,20 @@ entry: 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.533, label %if.else.534 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.533: ; preds = %entry - br label %if.merge.535 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.534: ; preds = %entry +if.else.568: ; 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.794, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.535 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.877, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.876, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8529,20 +9323,20 @@ entry: 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.536, label %if.else.537 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.536: ; preds = %entry - br label %if.merge.538 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.537: ; preds = %entry +if.else.571: ; 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.797, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.538 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.880, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.538: ; preds = %if.else.537, %if.then.536 - %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.879, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8557,20 +9351,20 @@ entry: 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.539, label %if.else.540 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.539: ; preds = %entry - br label %if.merge.541 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.540: ; preds = %entry +if.else.574: ; 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.800, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.541 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.883, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.541: ; preds = %if.else.540, %if.then.539 - %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.882, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8585,20 +9379,20 @@ entry: 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.542, label %if.else.543 + br i1 %icmp, label %if.then.576, label %if.else.577 -if.then.542: ; preds = %entry - br label %if.merge.544 +if.then.576: ; preds = %entry + br label %if.merge.578 -if.else.543: ; preds = %entry +if.else.577: ; 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.803, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.544 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.578 -if.merge.544: ; preds = %if.else.543, %if.then.542 - %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] +if.merge.578: ; preds = %if.else.577, %if.then.576 + %bp = phi { ptr, i64 } [ { ptr @str.885, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] ret { ptr, i64 } %bp } @@ -8613,20 +9407,20 @@ entry: 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.545, label %if.else.546 + br i1 %icmp, label %if.then.579, label %if.else.580 -if.then.545: ; preds = %entry - br label %if.merge.547 +if.then.579: ; preds = %entry + br label %if.merge.581 -if.else.546: ; preds = %entry +if.else.580: ; 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.806, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.547 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.889, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.581 -if.merge.547: ; preds = %if.else.546, %if.then.545 - %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] +if.merge.581: ; preds = %if.else.580, %if.then.579 + %bp = phi { ptr, i64 } [ { ptr @str.888, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] ret { ptr, i64 } %bp } @@ -8641,20 +9435,131 @@ entry: 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.548, label %if.else.549 + br i1 %icmp, label %if.then.582, label %if.else.583 -if.then.548: ; preds = %entry - br label %if.merge.550 +if.then.582: ; preds = %entry + br label %if.merge.584 -if.else.549: ; preds = %entry +if.else.583: ; 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.809, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.550 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.892, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.584 -if.merge.550: ; preds = %if.else.549, %if.then.548 - %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] +if.merge.584: ; preds = %if.else.583, %if.then.582 + %bp = phi { ptr, i64 } [ { ptr @str.891, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] + 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.585, label %if.else.586 + +if.then.585: ; preds = %entry + br label %if.merge.587 + +if.else.586: ; 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.896, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.895, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.587 + +if.merge.587: ; preds = %if.else.586, %if.then.585 + %bp = phi { ptr, i64 } [ { ptr @str.894, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] + 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.588, label %if.else.589 + +if.then.588: ; preds = %entry + br label %if.merge.590 + +if.else.589: ; 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.899, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.898, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.590 + +if.merge.590: ; preds = %if.else.589, %if.then.588 + %bp = phi { ptr, i64 } [ { ptr @str.897, i64 4 }, %if.then.588 ], [ %callN, %if.else.589 ] + 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.591, label %if.else.592 + +if.then.591: ; preds = %entry + br label %if.merge.593 + +if.else.592: ; 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.902, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.901, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.593 + +if.merge.593: ; preds = %if.else.592, %if.then.591 + %bp = phi { ptr, i64 } [ { ptr @str.900, i64 4 }, %if.then.591 ], [ %callN, %if.else.592 ] + 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.594, label %if.else.595 + +if.then.594: ; preds = %entry + br label %if.merge.596 + +if.else.595: ; 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.905, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.904, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.596 + +if.merge.596: ; preds = %if.else.595, %if.then.594 + %bp = phi { ptr, i64 } [ { ptr @str.903, i64 4 }, %if.then.594 ], [ %callN, %if.else.595 ] ret { ptr, i64 } %bp } @@ -8669,20 +9574,20 @@ entry: 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.551, label %if.else.552 + br i1 %icmp, label %if.then.597, label %if.else.598 -if.then.551: ; preds = %entry - br label %if.merge.553 +if.then.597: ; preds = %entry + br label %if.merge.599 -if.else.552: ; preds = %entry +if.else.598: ; 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.812, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.553 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.907, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.599 -if.merge.553: ; preds = %if.else.552, %if.then.551 - %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] +if.merge.599: ; preds = %if.else.598, %if.then.597 + %bp = phi { ptr, i64 } [ { ptr @str.906, i64 4 }, %if.then.597 ], [ %callN, %if.else.598 ] ret { ptr, i64 } %bp } @@ -8697,20 +9602,20 @@ entry: 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.554, label %if.else.555 + br i1 %icmp, label %if.then.600, label %if.else.601 -if.then.554: ; preds = %entry - br label %if.merge.556 +if.then.600: ; preds = %entry + br label %if.merge.602 -if.else.555: ; preds = %entry +if.else.601: ; 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.815, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.556 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.602 -if.merge.556: ; preds = %if.else.555, %if.then.554 - %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] +if.merge.602: ; preds = %if.else.601, %if.then.600 + %bp = phi { ptr, i64 } [ { ptr @str.909, i64 4 }, %if.then.600 ], [ %callN, %if.else.601 ] ret { ptr, i64 } %bp } @@ -8725,20 +9630,20 @@ entry: 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.557, label %if.else.558 + br i1 %icmp, label %if.then.603, label %if.else.604 -if.then.557: ; preds = %entry - br label %if.merge.559 +if.then.603: ; preds = %entry + br label %if.merge.605 -if.else.558: ; preds = %entry +if.else.604: ; 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.818, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.559 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.913, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.605 -if.merge.559: ; preds = %if.else.558, %if.then.557 - %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] +if.merge.605: ; preds = %if.else.604, %if.then.603 + %bp = phi { ptr, i64 } [ { ptr @str.912, i64 4 }, %if.then.603 ], [ %callN, %if.else.604 ] ret { ptr, i64 } %bp } @@ -8753,20 +9658,20 @@ entry: 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.560, label %if.else.561 + br i1 %icmp, label %if.then.606, label %if.else.607 -if.then.560: ; preds = %entry - br label %if.merge.562 +if.then.606: ; preds = %entry + br label %if.merge.608 -if.else.561: ; preds = %entry +if.else.607: ; 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.821, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.562 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.916, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.608 -if.merge.562: ; preds = %if.else.561, %if.then.560 - %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] +if.merge.608: ; preds = %if.else.607, %if.then.606 + %bp = phi { ptr, i64 } [ { ptr @str.915, i64 4 }, %if.then.606 ], [ %callN, %if.else.607 ] ret { ptr, i64 } %bp } @@ -8781,20 +9686,20 @@ entry: 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.563, label %if.else.564 + br i1 %icmp, label %if.then.609, label %if.else.610 -if.then.563: ; preds = %entry - br label %if.merge.565 +if.then.609: ; preds = %entry + br label %if.merge.611 -if.else.564: ; preds = %entry +if.else.610: ; 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.824, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.565 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.919, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.611 -if.merge.565: ; preds = %if.else.564, %if.then.563 - %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] +if.merge.611: ; preds = %if.else.610, %if.then.609 + %bp = phi { ptr, i64 } [ { ptr @str.918, i64 4 }, %if.then.609 ], [ %callN, %if.else.610 ] ret { ptr, i64 } %bp } @@ -8809,20 +9714,20 @@ entry: 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.566, label %if.else.567 + br i1 %icmp, label %if.then.612, label %if.else.613 -if.then.566: ; preds = %entry - br label %if.merge.568 +if.then.612: ; preds = %entry + br label %if.merge.614 -if.else.567: ; preds = %entry +if.else.613: ; 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.827, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.568 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.922, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.614 -if.merge.568: ; preds = %if.else.567, %if.then.566 - %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] +if.merge.614: ; preds = %if.else.613, %if.then.612 + %bp = phi { ptr, i64 } [ { ptr @str.921, i64 4 }, %if.then.612 ], [ %callN, %if.else.613 ] ret { ptr, i64 } %bp } @@ -8837,20 +9742,20 @@ entry: 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.569, label %if.else.570 + br i1 %icmp, label %if.then.615, label %if.else.616 -if.then.569: ; preds = %entry - br label %if.merge.571 +if.then.615: ; preds = %entry + br label %if.merge.617 -if.else.570: ; preds = %entry +if.else.616: ; 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.830, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 19 }, { ptr, i64 } %callN) - br label %if.merge.571 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 19 }, { ptr, i64 } %callN) + br label %if.merge.617 -if.merge.571: ; preds = %if.else.570, %if.then.569 - %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] +if.merge.617: ; preds = %if.else.616, %if.then.615 + %bp = phi { ptr, i64 } [ { ptr @str.924, i64 4 }, %if.then.615 ], [ %callN, %if.else.616 ] ret { ptr, i64 } %bp } @@ -8865,20 +9770,20 @@ entry: 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.572, label %if.else.573 + br i1 %icmp, label %if.then.618, label %if.else.619 -if.then.572: ; preds = %entry - br label %if.merge.574 +if.then.618: ; preds = %entry + br label %if.merge.620 -if.else.573: ; preds = %entry +if.else.619: ; 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.833, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.574 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.928, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.620 -if.merge.574: ; preds = %if.else.573, %if.then.572 - %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] +if.merge.620: ; preds = %if.else.619, %if.then.618 + %bp = phi { ptr, i64 } [ { ptr @str.927, i64 4 }, %if.then.618 ], [ %callN, %if.else.619 ] ret { ptr, i64 } %bp } @@ -8893,20 +9798,20 @@ entry: 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.575, label %if.else.576 + br i1 %icmp, label %if.then.621, label %if.else.622 -if.then.575: ; preds = %entry - br label %if.merge.577 +if.then.621: ; preds = %entry + br label %if.merge.623 -if.else.576: ; preds = %entry +if.else.622: ; 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.836, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 18 }, { ptr, i64 } %callN) - br label %if.merge.577 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.932, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.931, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.623 -if.merge.577: ; preds = %if.else.576, %if.then.575 - %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] +if.merge.623: ; preds = %if.else.622, %if.then.621 + %bp = phi { ptr, i64 } [ { ptr @str.930, i64 4 }, %if.then.621 ], [ %callN, %if.else.622 ] ret { ptr, i64 } %bp } @@ -8921,20 +9826,20 @@ entry: 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.578, label %if.else.579 + br i1 %icmp, label %if.then.624, label %if.else.625 -if.then.578: ; preds = %entry - br label %if.merge.580 +if.then.624: ; preds = %entry + br label %if.merge.626 -if.else.579: ; preds = %entry +if.else.625: ; 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.839, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.580 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.935, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.934, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.626 -if.merge.580: ; preds = %if.else.579, %if.then.578 - %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] +if.merge.626: ; preds = %if.else.625, %if.then.624 + %bp = phi { ptr, i64 } [ { ptr @str.933, i64 4 }, %if.then.624 ], [ %callN, %if.else.625 ] ret { ptr, i64 } %bp } @@ -8949,20 +9854,20 @@ entry: 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.581, label %if.else.582 + br i1 %icmp, label %if.then.627, label %if.else.628 -if.then.581: ; preds = %entry - br label %if.merge.583 +if.then.627: ; preds = %entry + br label %if.merge.629 -if.else.582: ; preds = %entry +if.else.628: ; 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.842, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 20 }, { ptr, i64 } %callN) - br label %if.merge.583 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.938, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.937, i64 20 }, { ptr, i64 } %callN) + br label %if.merge.629 -if.merge.583: ; preds = %if.else.582, %if.then.581 - %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] +if.merge.629: ; preds = %if.else.628, %if.then.627 + %bp = phi { ptr, i64 } [ { ptr @str.936, i64 4 }, %if.then.627 ], [ %callN, %if.else.628 ] ret { ptr, i64 } %bp } @@ -8977,20 +9882,20 @@ entry: 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.584, label %if.else.585 + br i1 %icmp, label %if.then.630, label %if.else.631 -if.then.584: ; preds = %entry - br label %if.merge.586 +if.then.630: ; preds = %entry + br label %if.merge.632 -if.else.585: ; preds = %entry +if.else.631: ; 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.845, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.586 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.940, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.632 -if.merge.586: ; preds = %if.else.585, %if.then.584 - %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] +if.merge.632: ; preds = %if.else.631, %if.then.630 + %bp = phi { ptr, i64 } [ { ptr @str.939, i64 4 }, %if.then.630 ], [ %callN, %if.else.631 ] ret { ptr, i64 } %bp } @@ -9005,20 +9910,20 @@ entry: 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.587, label %if.else.588 + br i1 %icmp, label %if.then.633, label %if.else.634 -if.then.587: ; preds = %entry - br label %if.merge.589 +if.then.633: ; preds = %entry + br label %if.merge.635 -if.else.588: ; preds = %entry +if.else.634: ; 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.848, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.589 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.944, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.943, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.635 -if.merge.589: ; preds = %if.else.588, %if.then.587 - %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] +if.merge.635: ; preds = %if.else.634, %if.then.633 + %bp = phi { ptr, i64 } [ { ptr @str.942, i64 4 }, %if.then.633 ], [ %callN, %if.else.634 ] ret { ptr, i64 } %bp } @@ -9033,20 +9938,20 @@ entry: 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.590, label %if.else.591 + br i1 %icmp, label %if.then.636, label %if.else.637 -if.then.590: ; preds = %entry - br label %if.merge.592 +if.then.636: ; preds = %entry + br label %if.merge.638 -if.else.591: ; preds = %entry +if.else.637: ; 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.851, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.592 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.947, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.946, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.638 -if.merge.592: ; preds = %if.else.591, %if.then.590 - %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] +if.merge.638: ; preds = %if.else.637, %if.then.636 + %bp = phi { ptr, i64 } [ { ptr @str.945, i64 4 }, %if.then.636 ], [ %callN, %if.else.637 ] ret { ptr, i64 } %bp } @@ -9061,20 +9966,20 @@ entry: 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.593, label %if.else.594 + br i1 %icmp, label %if.then.639, label %if.else.640 -if.then.593: ; preds = %entry - br label %if.merge.595 +if.then.639: ; preds = %entry + br label %if.merge.641 -if.else.594: ; preds = %entry +if.else.640: ; 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.854, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.595 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.950, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.949, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.641 -if.merge.595: ; preds = %if.else.594, %if.then.593 - %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] +if.merge.641: ; preds = %if.else.640, %if.then.639 + %bp = phi { ptr, i64 } [ { ptr @str.948, i64 4 }, %if.then.639 ], [ %callN, %if.else.640 ] ret { ptr, i64 } %bp } @@ -9087,12 +9992,12 @@ entry: %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.603, label %if.merge.604 + br i1 %lnot, label %if.then.649, label %if.merge.650 -if.then.603: ; preds = %entry - ret { ptr, i64 } { ptr @str.855, i64 4 } +if.then.649: ; preds = %entry + ret { ptr, i64 } { ptr @str.951, i64 4 } -if.merge.604: ; preds = %entry +if.merge.650: ; 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 @@ -9111,12 +10016,12 @@ entry: %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.605, label %if.merge.606 + br i1 %lnot, label %if.then.651, label %if.merge.652 -if.then.605: ; preds = %entry - ret { ptr, i64 } { ptr @str.856, i64 4 } +if.then.651: ; preds = %entry + ret { ptr, i64 } { ptr @str.952, i64 4 } -if.merge.606: ; preds = %entry +if.merge.652: ; 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 @@ -9134,12 +10039,12 @@ entry: %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.607, label %if.merge.608 + br i1 %lnot, label %if.then.653, label %if.merge.654 -if.then.607: ; preds = %entry - ret { ptr, i64 } { ptr @str.857, i64 4 } +if.then.653: ; preds = %entry + ret { ptr, i64 } { ptr @str.953, i64 4 } -if.merge.608: ; preds = %entry +if.merge.654: ; 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 @@ -9156,12 +10061,12 @@ entry: %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.609, label %if.merge.610 + br i1 %lnot, label %if.then.655, label %if.merge.656 -if.then.609: ; preds = %entry - ret { ptr, i64 } { ptr @str.858, i64 4 } +if.then.655: ; preds = %entry + ret { ptr, i64 } { ptr @str.954, i64 4 } -if.merge.610: ; preds = %entry +if.merge.656: ; 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 @@ -9180,12 +10085,12 @@ entry: %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.611, label %if.merge.612 + br i1 %lnot, label %if.then.657, label %if.merge.658 -if.then.611: ; preds = %entry - ret { ptr, i64 } { ptr @str.859, i64 4 } +if.then.657: ; preds = %entry + ret { ptr, i64 } { ptr @str.955, i64 4 } -if.merge.612: ; preds = %entry +if.merge.658: ; 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 diff --git a/examples/expected/0416-protocols-auto-type-erasure.ir b/examples/expected/0416-protocols-auto-type-erasure.ir index 1c452ad..7ac562a 100644 --- a/examples/expected/0416-protocols-auto-type-erasure.ir +++ b/examples/expected/0416-protocols-auto-type-erasure.ir @@ -2,848 +2,944 @@ @__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null } @__Counter__SimpleCounter__vtable = internal constant { ptr, ptr } { ptr @__thunk_SimpleCounter_Counter_inc, ptr @__thunk_SimpleCounter_Counter_get } @str = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.367 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.368 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.369 = private unnamed_addr constant [6 x i8] c"false\00", align 1 -@str.370 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.371 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.372 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [214 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] +@str.383 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.384 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.385 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.387 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.388 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [232 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.373 = private constant [11 x i8] c"WouldBlock\00" -@tag.str.374 = private constant [7 x i8] c"Closed\00" -@tag.str.375 = private constant [6 x i8] c"Fault\00" -@tag.str.376 = private constant [9 x i8] c"Overflow\00" -@tag.str.377 = private constant [3 x i8] c"Io\00" -@tag.str.378 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.379 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.380 = private constant [10 x i8] c"BadEscape\00" -@tag.str.381 = private constant [10 x i8] c"BadNumber\00" -@tag.str.382 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.383 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.384 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.385 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.386 = private constant [13 x i8] c"MissingValue\00" -@tag.str.387 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.388 = private constant [13 x i8] c"TooManyFlags\00" -@tag.str.389 = private constant [5 x i8] c"Init\00" -@tag.str.390 = private constant [9 x i8] c"Register\00" -@tag.str.391 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.373, i64 10 }, { ptr, i64 } { ptr @tag.str.374, i64 6 }, { ptr, i64 } { ptr @tag.str.375, i64 5 }, { ptr, i64 } { ptr @tag.str.376, i64 8 }, { ptr, i64 } { ptr @tag.str.377, i64 2 }, { ptr, i64 } { ptr @tag.str.378, i64 15 }, { ptr, i64 } { ptr @tag.str.379, i64 13 }, { ptr, i64 } { ptr @tag.str.380, i64 9 }, { ptr, i64 } { ptr @tag.str.381, i64 9 }, { ptr, i64 } { ptr @tag.str.382, i64 15 }, { ptr, i64 } { ptr @tag.str.383, i64 14 }, { ptr, i64 } { ptr @tag.str.384, i64 14 }, { ptr, i64 } { ptr @tag.str.385, i64 11 }, { ptr, i64 } { ptr @tag.str.386, i64 12 }, { ptr, i64 } { ptr @tag.str.387, i64 15 }, { ptr, i64 } { ptr @tag.str.388, i64 12 }, { ptr, i64 } { ptr @tag.str.389, i64 4 }, { ptr, i64 } { ptr @tag.str.390, i64 8 }, { ptr, i64 } { ptr @tag.str.391, i64 4 }] +@tag.str.389 = private constant [11 x i8] c"WouldBlock\00" +@tag.str.390 = private constant [7 x i8] c"Closed\00" +@tag.str.391 = private constant [6 x i8] c"Fault\00" +@tag.str.392 = private constant [9 x i8] c"Overflow\00" +@tag.str.393 = private constant [3 x i8] c"Io\00" +@tag.str.394 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.395 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.396 = private constant [10 x i8] c"BadEscape\00" +@tag.str.397 = private constant [10 x i8] c"BadNumber\00" +@tag.str.398 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.399 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.400 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.401 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.402 = private constant [13 x i8] c"MissingValue\00" +@tag.str.403 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.404 = private constant [13 x i8] c"TooManyFlags\00" +@tag.str.405 = private constant [5 x i8] c"Init\00" +@tag.str.406 = private constant [9 x i8] c"Register\00" +@tag.str.407 = private constant [5 x i8] c"Wait\00" +@tag.str.408 = private constant [5 x i8] c"Bind\00" +@tag.str.409 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.389, i64 10 }, { ptr, i64 } { ptr @tag.str.390, i64 6 }, { ptr, i64 } { ptr @tag.str.391, i64 5 }, { ptr, i64 } { ptr @tag.str.392, i64 8 }, { ptr, i64 } { ptr @tag.str.393, i64 2 }, { ptr, i64 } { ptr @tag.str.394, i64 15 }, { ptr, i64 } { ptr @tag.str.395, i64 13 }, { ptr, i64 } { ptr @tag.str.396, i64 9 }, { ptr, i64 } { ptr @tag.str.397, i64 9 }, { ptr, i64 } { ptr @tag.str.398, i64 15 }, { ptr, i64 } { ptr @tag.str.399, i64 14 }, { ptr, i64 } { ptr @tag.str.400, i64 14 }, { ptr, i64 } { ptr @tag.str.401, i64 11 }, { ptr, i64 } { ptr @tag.str.402, i64 12 }, { ptr, i64 } { ptr @tag.str.403, i64 15 }, { ptr, i64 } { ptr @tag.str.404, i64 12 }, { ptr, i64 } { ptr @tag.str.405, i64 4 }, { ptr, i64 } { ptr @tag.str.406, i64 8 }, { ptr, i64 } { ptr @tag.str.407, i64 4 }, { ptr, i64 } { ptr @tag.str.408, i64 4 }, { ptr, i64 } { ptr @tag.str.409, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.392 = private constant [5 x i8] c"bool\00" -@tn.str.393 = private constant [3 x i8] c"i8\00" -@tn.str.394 = private constant [4 x i8] c"i16\00" -@tn.str.395 = private constant [4 x i8] c"i32\00" -@tn.str.396 = private constant [4 x i8] c"i64\00" -@tn.str.397 = private constant [3 x i8] c"u8\00" -@tn.str.398 = private constant [4 x i8] c"u16\00" -@tn.str.399 = private constant [4 x i8] c"u32\00" -@tn.str.400 = private constant [4 x i8] c"u64\00" -@tn.str.401 = private constant [4 x i8] c"f32\00" -@tn.str.402 = private constant [4 x i8] c"f64\00" -@tn.str.403 = private constant [7 x i8] c"string\00" -@tn.str.404 = private constant [4 x i8] c"Any\00" -@tn.str.405 = private constant [9 x i8] c"noreturn\00" -@tn.str.406 = private constant [6 x i8] c"isize\00" -@tn.str.407 = private constant [6 x i8] c"usize\00" -@tn.str.408 = private constant [5 x i8] c"void\00" -@tn.str.409 = private constant [8 x i8] c"cstring\00" -@tn.str.410 = private constant [6 x i8] c"*void\00" -@tn.str.411 = private constant [16 x i8] c"Source_Location\00" -@tn.str.412 = private constant [10 x i8] c"Allocator\00" -@tn.str.413 = private constant [8 x i8] c"Context\00" -@tn.str.414 = private constant [7 x i8] c"[4]i64\00" -@tn.str.415 = private constant [9 x i8] c"[]string\00" -@tn.str.416 = private constant [11 x i8] c"CAllocator\00" -@tn.str.417 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.418 = private constant [4 x i8] c"GPA\00" -@tn.str.419 = private constant [5 x i8] c"*GPA\00" -@tn.str.420 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.421 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.422 = private constant [6 x i8] c"Arena\00" -@tn.str.423 = private constant [7 x i8] c"*Arena\00" -@tn.str.424 = private constant [6 x i8] c"[*]u8\00" -@tn.str.425 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.426 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.427 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.428 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.429 = private constant [9 x i8] c"OpenMode\00" -@tn.str.430 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.431 = private constant [5 x i8] c"File\00" -@tn.str.432 = private constant [6 x i8] c"*File\00" -@tn.str.433 = private constant [6 x i8] c"?File\00" -@tn.str.434 = private constant [8 x i8] c"?string\00" -@tn.str.435 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.436 = private constant [9 x i8] c"?cstring\00" -@tn.str.437 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.438 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.439 = private constant [5 x i8] c"*i32\00" -@tn.str.440 = private constant [9 x i8] c"SockAddr\00" -@tn.str.441 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.442 = private constant [5 x i8] c"*u32\00" -@tn.str.443 = private constant [8 x i8] c"SockErr\00" -@tn.str.444 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.445 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.446 = private constant [10 x i8] c"JsonError\00" -@tn.str.447 = private constant [6 x i8] c"Array\00" -@tn.str.448 = private constant [7 x i8] c"Object\00" -@tn.str.449 = private constant [6 x i8] c"Value\00" -@tn.str.450 = private constant [7 x i8] c"Member\00" -@tn.str.451 = private constant [9 x i8] c"[*]Value\00" -@tn.str.452 = private constant [7 x i8] c"*Array\00" -@tn.str.453 = private constant [10 x i8] c"[*]Member\00" -@tn.str.454 = private constant [8 x i8] c"*Object\00" -@tn.str.455 = private constant [5 x i8] c"[]u8\00" -@tn.str.456 = private constant [5 x i8] c"Sink\00" -@tn.str.457 = private constant [6 x i8] c"*Sink\00" -@tn.str.458 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.459 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.460 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.461 = private constant [7 x i8] c"Parser\00" -@tn.str.462 = private constant [8 x i8] c"*Parser\00" -@tn.str.463 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.464 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.465 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.466 = private constant [13 x i8] c"Architecture\00" -@tn.str.467 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.468 = private constant [11 x i8] c"() -> bool\00" -@tn.str.469 = private constant [5 x i8] c"*i64\00" -@tn.str.470 = private constant [9 x i8] c"CliError\00" -@tn.str.471 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.472 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.473 = private constant [8 x i8] c"Command\00" -@tn.str.474 = private constant [10 x i8] c"FlagValue\00" -@tn.str.475 = private constant [5 x i8] c"Diag\00" -@tn.str.476 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.477 = private constant [7 x i8] c"Parsed\00" -@tn.str.478 = private constant [8 x i8] c"*Parsed\00" -@tn.str.479 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.480 = private constant [10 x i8] c"[]Command\00" -@tn.str.481 = private constant [6 x i8] c"*Diag\00" -@tn.str.482 = private constant [7 x i8] c"[8]i64\00" -@tn.str.483 = private constant [7 x i8] c"[64]u8\00" -@tn.str.484 = private constant [7 x i8] c"Sha256\00" -@tn.str.485 = private constant [8 x i8] c"*Sha256\00" -@tn.str.486 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.487 = private constant [8 x i8] c"[64]i64\00" -@tn.str.488 = private constant [9 x i8] c"Timespec\00" -@tn.str.489 = private constant [10 x i8] c"*Timespec\00" -@tn.str.490 = private constant [7 x i8] c"Kevent\00" -@tn.str.491 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.492 = private constant [8 x i8] c"*Kevent\00" -@tn.str.493 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.494 = private constant [9 x i8] c"EventErr\00" -@tn.str.495 = private constant [6 x i8] c"Event\00" -@tn.str.496 = private constant [5 x i8] c"Loop\00" -@tn.str.497 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.498 = private constant [6 x i8] c"*Loop\00" -@tn.str.499 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.500 = private constant [8 x i8] c"[]Event\00" -@tn.str.501 = private constant [8 x i8] c"[16]f32\00" -@tn.str.502 = private constant [5 x i8] c"Mat4\00" -@tn.str.503 = private constant [5 x i8] c"Vec2\00" -@tn.str.504 = private constant [6 x i8] c"Point\00" -@tn.str.505 = private constant [8 x i8] c"Counter\00" -@tn.str.506 = private constant [18 x i8] c"__Counter__Vtable\00" -@tn.str.507 = private constant [9 x i8] c"Summable\00" -@tn.str.508 = private constant [19 x i8] c"__Summable__Vtable\00" -@tn.str.509 = private constant [14 x i8] c"SimpleCounter\00" -@tn.str.510 = private constant [15 x i8] c"*SimpleCounter\00" -@tn.str.511 = private constant [7 x i8] c"*Point\00" -@tn.str.512 = private constant [6 x i8] c"Adder\00" -@tn.str.513 = private constant [12 x i8] c"Accumulator\00" -@tn.str.514 = private constant [13 x i8] c"*Accumulator\00" -@tn.str.515 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.516 = private constant [7 x i8] c"**void\00" -@tn.str.517 = private constant [8 x i8] c"*string\00" -@tn.str.518 = private constant [6 x i8] c"[]Any\00" -@tn.str.519 = private constant [5 x i8] c"*Any\00" -@tn.str.520 = private constant [7 x i8] c"*[]Any\00" -@tn.str.521 = private constant [4 x i8] c"*u8\00" -@tn.str.522 = private constant [6 x i8] c"*bool\00" -@tn.str.523 = private constant [9 x i8] c"*Counter\00" -@tn.str.524 = private constant [16 x i8] c"**SimpleCounter\00" -@tn.str.525 = private constant [19 x i8] c"*__Counter__Vtable\00" -@tn.str.526 = private constant [7 x i8] c"[1]Any\00" -@tn.str.527 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.528 = private constant [7 x i8] c"*Adder\00" -@tn.str.529 = private constant [14 x i8] c"**Accumulator\00" -@tn.str.530 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.531 = private constant [5 x i8] c"*f64\00" -@tn.str.532 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.533 = private constant [11 x i8] c"*Allocator\00" -@tn.str.534 = private constant [9 x i8] c"*Context\00" -@tn.str.535 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.536 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.537 = private constant [8 x i8] c"*Member\00" -@tn.str.538 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.539 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.540 = private constant [9 x i8] c"*Command\00" -@tn.str.541 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.542 = private constant [7 x i8] c"*Event\00" -@tn.str.543 = private constant [6 x i8] c"*Mat4\00" -@tn.str.544 = private constant [6 x i8] c"*Vec2\00" -@tn.str.545 = private constant [10 x i8] c"*Summable\00" -@tn.str.546 = private constant [20 x i8] c"*__Summable__Vtable\00" -@tn.str.547 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.548 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.549 = private constant [7 x i8] c"*Value\00" -@tn.str.550 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.551 = private constant [14 x i8] c"*Architecture\00" -@tn.str.552 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.553 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.554 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.555 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.556 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.557 = private constant [10 x i8] c"*[]string\00" -@tn.str.558 = private constant [6 x i8] c"*[]u8\00" -@tn.str.559 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.560 = private constant [11 x i8] c"*[]Command\00" -@tn.str.561 = private constant [9 x i8] c"*[]Event\00" -@tn.str.562 = private constant [6 x i8] c"**GPA\00" -@tn.str.563 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.564 = private constant [8 x i8] c"**Arena\00" -@tn.str.565 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.566 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.567 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.568 = private constant [7 x i8] c"**File\00" -@tn.str.569 = private constant [6 x i8] c"**i32\00" -@tn.str.570 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.571 = private constant [6 x i8] c"**u32\00" -@tn.str.572 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.573 = private constant [8 x i8] c"**Array\00" -@tn.str.574 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.575 = private constant [9 x i8] c"**Object\00" -@tn.str.576 = private constant [7 x i8] c"**Sink\00" -@tn.str.577 = private constant [9 x i8] c"**Parser\00" -@tn.str.578 = private constant [6 x i8] c"**i64\00" -@tn.str.579 = private constant [9 x i8] c"**Parsed\00" -@tn.str.580 = private constant [7 x i8] c"**Diag\00" -@tn.str.581 = private constant [9 x i8] c"**Sha256\00" -@tn.str.582 = private constant [11 x i8] c"**Timespec\00" -@tn.str.583 = private constant [9 x i8] c"**Kevent\00" -@tn.str.584 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.585 = private constant [7 x i8] c"**Loop\00" -@tn.str.586 = private constant [8 x i8] c"**Point\00" -@tn.str.587 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.588 = private constant [8 x i8] c"***void\00" -@tn.str.589 = private constant [9 x i8] c"**string\00" -@tn.str.590 = private constant [6 x i8] c"**Any\00" -@tn.str.591 = private constant [8 x i8] c"**[]Any\00" -@tn.str.592 = private constant [5 x i8] c"**u8\00" -@tn.str.593 = private constant [7 x i8] c"**bool\00" -@tn.str.594 = private constant [10 x i8] c"**Counter\00" -@tn.str.595 = private constant [17 x i8] c"***SimpleCounter\00" -@tn.str.596 = private constant [20 x i8] c"**__Counter__Vtable\00" -@tn.str.597 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.598 = private constant [8 x i8] c"**Adder\00" -@tn.str.599 = private constant [15 x i8] c"***Accumulator\00" -@tn.str.600 = private constant [7 x i8] c"*?File\00" -@tn.str.601 = private constant [9 x i8] c"*?string\00" -@tn.str.602 = private constant [10 x i8] c"*?cstring\00" -@tn.str.603 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.604 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [214 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.392, i64 4 }, { ptr, i64 } { ptr @tn.str.393, i64 2 }, { ptr, i64 } { ptr @tn.str.394, i64 3 }, { ptr, i64 } { ptr @tn.str.395, i64 3 }, { ptr, i64 } { ptr @tn.str.396, i64 3 }, { ptr, i64 } { ptr @tn.str.397, i64 2 }, { ptr, i64 } { ptr @tn.str.398, i64 3 }, { ptr, i64 } { ptr @tn.str.399, i64 3 }, { ptr, i64 } { ptr @tn.str.400, i64 3 }, { ptr, i64 } { ptr @tn.str.401, i64 3 }, { ptr, i64 } { ptr @tn.str.402, i64 3 }, { ptr, i64 } { ptr @tn.str.403, i64 6 }, { ptr, i64 } { ptr @tn.str.404, i64 3 }, { ptr, i64 } { ptr @tn.str.405, i64 8 }, { ptr, i64 } { ptr @tn.str.406, i64 5 }, { ptr, i64 } { ptr @tn.str.407, i64 5 }, { ptr, i64 } { ptr @tn.str.408, i64 4 }, { ptr, i64 } { ptr @tn.str.409, i64 7 }, { ptr, i64 } { ptr @tn.str.410, i64 5 }, { ptr, i64 } { ptr @tn.str.411, i64 15 }, { ptr, i64 } { ptr @tn.str.412, i64 9 }, { ptr, i64 } { ptr @tn.str.413, i64 7 }, { ptr, i64 } { ptr @tn.str.414, i64 6 }, { ptr, i64 } { ptr @tn.str.415, i64 8 }, { ptr, i64 } { ptr @tn.str.416, i64 10 }, { ptr, i64 } { ptr @tn.str.417, i64 11 }, { ptr, i64 } { ptr @tn.str.418, i64 3 }, { ptr, i64 } { ptr @tn.str.419, i64 4 }, { ptr, i64 } { ptr @tn.str.420, i64 10 }, { ptr, i64 } { ptr @tn.str.421, i64 11 }, { ptr, i64 } { ptr @tn.str.422, i64 5 }, { ptr, i64 } { ptr @tn.str.423, i64 6 }, { ptr, i64 } { ptr @tn.str.424, i64 5 }, { ptr, i64 } { ptr @tn.str.425, i64 8 }, { ptr, i64 } { ptr @tn.str.426, i64 9 }, { ptr, i64 } { ptr @tn.str.427, i64 17 }, { ptr, i64 } { ptr @tn.str.428, i64 18 }, { ptr, i64 } { ptr @tn.str.429, i64 8 }, { ptr, i64 } { ptr @tn.str.430, i64 8 }, { ptr, i64 } { ptr @tn.str.431, i64 4 }, { ptr, i64 } { ptr @tn.str.432, i64 5 }, { ptr, i64 } { ptr @tn.str.433, i64 5 }, { ptr, i64 } { ptr @tn.str.434, i64 7 }, { ptr, i64 } { ptr @tn.str.435, i64 10 }, { ptr, i64 } { ptr @tn.str.436, i64 8 }, { ptr, i64 } { ptr @tn.str.437, i64 13 }, { ptr, i64 } { ptr @tn.str.438, i64 14 }, { ptr, i64 } { ptr @tn.str.439, i64 4 }, { ptr, i64 } { ptr @tn.str.440, i64 8 }, { ptr, i64 } { ptr @tn.str.441, i64 9 }, { ptr, i64 } { ptr @tn.str.442, i64 4 }, { ptr, i64 } { ptr @tn.str.443, i64 7 }, { ptr, i64 } { ptr @tn.str.444, i64 14 }, { ptr, i64 } { ptr @tn.str.445, i64 14 }, { ptr, i64 } { ptr @tn.str.446, i64 9 }, { ptr, i64 } { ptr @tn.str.447, i64 5 }, { ptr, i64 } { ptr @tn.str.448, i64 6 }, { ptr, i64 } { ptr @tn.str.449, i64 5 }, { ptr, i64 } { ptr @tn.str.450, i64 6 }, { ptr, i64 } { ptr @tn.str.451, i64 8 }, { ptr, i64 } { ptr @tn.str.452, i64 6 }, { ptr, i64 } { ptr @tn.str.453, i64 9 }, { ptr, i64 } { ptr @tn.str.454, i64 7 }, { ptr, i64 } { ptr @tn.str.455, i64 4 }, { ptr, i64 } { ptr @tn.str.456, i64 4 }, { ptr, i64 } { ptr @tn.str.457, i64 5 }, { ptr, i64 } { ptr @tn.str.458, i64 16 }, { ptr, i64 } { ptr @tn.str.459, i64 14 }, { ptr, i64 } { ptr @tn.str.460, i64 21 }, { ptr, i64 } { ptr @tn.str.461, i64 6 }, { ptr, i64 } { ptr @tn.str.462, i64 7 }, { ptr, i64 } { ptr @tn.str.463, i64 24 }, { ptr, i64 } { ptr @tn.str.464, i64 23 }, { ptr, i64 } { ptr @tn.str.465, i64 15 }, { ptr, i64 } { ptr @tn.str.466, i64 12 }, { ptr, i64 } { ptr @tn.str.467, i64 12 }, { ptr, i64 } { ptr @tn.str.468, i64 10 }, { ptr, i64 } { ptr @tn.str.469, i64 4 }, { ptr, i64 } { ptr @tn.str.470, i64 8 }, { ptr, i64 } { ptr @tn.str.471, i64 8 }, { ptr, i64 } { ptr @tn.str.472, i64 10 }, { ptr, i64 } { ptr @tn.str.473, i64 7 }, { ptr, i64 } { ptr @tn.str.474, i64 9 }, { ptr, i64 } { ptr @tn.str.475, i64 4 }, { ptr, i64 } { ptr @tn.str.476, i64 13 }, { ptr, i64 } { ptr @tn.str.477, i64 6 }, { ptr, i64 } { ptr @tn.str.478, i64 7 }, { ptr, i64 } { ptr @tn.str.479, i64 18 }, { ptr, i64 } { ptr @tn.str.480, i64 9 }, { ptr, i64 } { ptr @tn.str.481, i64 5 }, { ptr, i64 } { ptr @tn.str.482, i64 6 }, { ptr, i64 } { ptr @tn.str.483, i64 6 }, { ptr, i64 } { ptr @tn.str.484, i64 6 }, { ptr, i64 } { ptr @tn.str.485, i64 7 }, { ptr, i64 } { ptr @tn.str.486, i64 7 }, { ptr, i64 } { ptr @tn.str.487, i64 7 }, { ptr, i64 } { ptr @tn.str.488, i64 8 }, { ptr, i64 } { ptr @tn.str.489, i64 9 }, { ptr, i64 } { ptr @tn.str.490, i64 6 }, { ptr, i64 } { ptr @tn.str.491, i64 10 }, { ptr, i64 } { ptr @tn.str.492, i64 7 }, { ptr, i64 } { ptr @tn.str.493, i64 11 }, { ptr, i64 } { ptr @tn.str.494, i64 8 }, { ptr, i64 } { ptr @tn.str.495, i64 5 }, { ptr, i64 } { ptr @tn.str.496, i64 4 }, { ptr, i64 } { ptr @tn.str.497, i64 16 }, { ptr, i64 } { ptr @tn.str.498, i64 5 }, { ptr, i64 } { ptr @tn.str.499, i64 15 }, { ptr, i64 } { ptr @tn.str.500, i64 7 }, { ptr, i64 } { ptr @tn.str.501, i64 7 }, { ptr, i64 } { ptr @tn.str.502, i64 4 }, { ptr, i64 } { ptr @tn.str.503, i64 4 }, { ptr, i64 } { ptr @tn.str.504, i64 5 }, { ptr, i64 } { ptr @tn.str.505, i64 7 }, { ptr, i64 } { ptr @tn.str.506, i64 17 }, { ptr, i64 } { ptr @tn.str.507, i64 8 }, { ptr, i64 } { ptr @tn.str.508, i64 18 }, { ptr, i64 } { ptr @tn.str.509, i64 13 }, { ptr, i64 } { ptr @tn.str.510, i64 14 }, { ptr, i64 } { ptr @tn.str.511, i64 6 }, { ptr, i64 } { ptr @tn.str.512, i64 5 }, { ptr, i64 } { ptr @tn.str.513, i64 11 }, { ptr, i64 } { ptr @tn.str.514, i64 12 }, { ptr, i64 } { ptr @tn.str.515, i64 12 }, { ptr, i64 } { ptr @tn.str.516, i64 6 }, { ptr, i64 } { ptr @tn.str.517, i64 7 }, { ptr, i64 } { ptr @tn.str.518, i64 5 }, { ptr, i64 } { ptr @tn.str.519, i64 4 }, { ptr, i64 } { ptr @tn.str.520, i64 6 }, { ptr, i64 } { ptr @tn.str.521, i64 3 }, { ptr, i64 } { ptr @tn.str.522, i64 5 }, { ptr, i64 } { ptr @tn.str.523, i64 8 }, { ptr, i64 } { ptr @tn.str.524, i64 15 }, { ptr, i64 } { ptr @tn.str.525, i64 18 }, { ptr, i64 } { ptr @tn.str.526, i64 6 }, { ptr, i64 } { ptr @tn.str.527, i64 7 }, { ptr, i64 } { ptr @tn.str.528, i64 6 }, { ptr, i64 } { ptr @tn.str.529, i64 13 }, { ptr, i64 } { ptr @tn.str.530, i64 7 }, { ptr, i64 } { ptr @tn.str.531, i64 4 }, { ptr, i64 } { ptr @tn.str.532, i64 16 }, { ptr, i64 } { ptr @tn.str.533, i64 10 }, { ptr, i64 } { ptr @tn.str.534, i64 8 }, { ptr, i64 } { ptr @tn.str.535, i64 11 }, { ptr, i64 } { ptr @tn.str.536, i64 14 }, { ptr, i64 } { ptr @tn.str.537, i64 7 }, { ptr, i64 } { ptr @tn.str.538, i64 13 }, { ptr, i64 } { ptr @tn.str.539, i64 9 }, { ptr, i64 } { ptr @tn.str.540, i64 8 }, { ptr, i64 } { ptr @tn.str.541, i64 10 }, { ptr, i64 } { ptr @tn.str.542, i64 6 }, { ptr, i64 } { ptr @tn.str.543, i64 5 }, { ptr, i64 } { ptr @tn.str.544, i64 5 }, { ptr, i64 } { ptr @tn.str.545, i64 9 }, { ptr, i64 } { ptr @tn.str.546, i64 19 }, { ptr, i64 } { ptr @tn.str.547, i64 9 }, { ptr, i64 } { ptr @tn.str.548, i64 9 }, { ptr, i64 } { ptr @tn.str.549, i64 6 }, { ptr, i64 } { ptr @tn.str.550, i64 16 }, { ptr, i64 } { ptr @tn.str.551, i64 13 }, { ptr, i64 } { ptr @tn.str.552, i64 14 }, { ptr, i64 } { ptr @tn.str.553, i64 7 }, { ptr, i64 } { ptr @tn.str.554, i64 7 }, { ptr, i64 } { ptr @tn.str.555, i64 8 }, { ptr, i64 } { ptr @tn.str.556, i64 8 }, { ptr, i64 } { ptr @tn.str.557, i64 9 }, { ptr, i64 } { ptr @tn.str.558, i64 5 }, { ptr, i64 } { ptr @tn.str.559, i64 11 }, { ptr, i64 } { ptr @tn.str.560, i64 10 }, { ptr, i64 } { ptr @tn.str.561, i64 8 }, { ptr, i64 } { ptr @tn.str.562, i64 5 }, { ptr, i64 } { ptr @tn.str.563, i64 12 }, { ptr, i64 } { ptr @tn.str.564, i64 7 }, { ptr, i64 } { ptr @tn.str.565, i64 6 }, { ptr, i64 } { ptr @tn.str.566, i64 10 }, { ptr, i64 } { ptr @tn.str.567, i64 19 }, { ptr, i64 } { ptr @tn.str.568, i64 6 }, { ptr, i64 } { ptr @tn.str.569, i64 5 }, { ptr, i64 } { ptr @tn.str.570, i64 10 }, { ptr, i64 } { ptr @tn.str.571, i64 5 }, { ptr, i64 } { ptr @tn.str.572, i64 9 }, { ptr, i64 } { ptr @tn.str.573, i64 7 }, { ptr, i64 } { ptr @tn.str.574, i64 10 }, { ptr, i64 } { ptr @tn.str.575, i64 8 }, { ptr, i64 } { ptr @tn.str.576, i64 6 }, { ptr, i64 } { ptr @tn.str.577, i64 8 }, { ptr, i64 } { ptr @tn.str.578, i64 5 }, { ptr, i64 } { ptr @tn.str.579, i64 8 }, { ptr, i64 } { ptr @tn.str.580, i64 6 }, { ptr, i64 } { ptr @tn.str.581, i64 8 }, { ptr, i64 } { ptr @tn.str.582, i64 10 }, { ptr, i64 } { ptr @tn.str.583, i64 8 }, { ptr, i64 } { ptr @tn.str.584, i64 12 }, { ptr, i64 } { ptr @tn.str.585, i64 6 }, { ptr, i64 } { ptr @tn.str.586, i64 7 }, { ptr, i64 } { ptr @tn.str.587, i64 13 }, { ptr, i64 } { ptr @tn.str.588, i64 7 }, { ptr, i64 } { ptr @tn.str.589, i64 8 }, { ptr, i64 } { ptr @tn.str.590, i64 5 }, { ptr, i64 } { ptr @tn.str.591, i64 7 }, { ptr, i64 } { ptr @tn.str.592, i64 4 }, { ptr, i64 } { ptr @tn.str.593, i64 6 }, { ptr, i64 } { ptr @tn.str.594, i64 9 }, { ptr, i64 } { ptr @tn.str.595, i64 16 }, { ptr, i64 } { ptr @tn.str.596, i64 19 }, { ptr, i64 } { ptr @tn.str.597, i64 8 }, { ptr, i64 } { ptr @tn.str.598, i64 7 }, { ptr, i64 } { ptr @tn.str.599, i64 14 }, { ptr, i64 } { ptr @tn.str.600, i64 6 }, { ptr, i64 } { ptr @tn.str.601, i64 8 }, { ptr, i64 } { ptr @tn.str.602, i64 9 }, { ptr, i64 } { ptr @tn.str.603, i64 15 }, { ptr, i64 } { ptr @tn.str.604, i64 8 }] -@str.605 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.606 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.607 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.608 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.609 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.610 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.611 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.612 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.613 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.614 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.615 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.616 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.617 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.618 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.619 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.620 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.621 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.622 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.623 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.624 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.625 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.626 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 -@str.627 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.628 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 -@str.629 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 -@str.630 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.631 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 -@str.632 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 -@str.633 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.634 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 -@str.635 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 -@str.636 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.637 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 -@str.638 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 -@str.639 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.640 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 -@str.641 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@tn.str.410 = private constant [5 x i8] c"bool\00" +@tn.str.411 = private constant [3 x i8] c"i8\00" +@tn.str.412 = private constant [4 x i8] c"i16\00" +@tn.str.413 = private constant [4 x i8] c"i32\00" +@tn.str.414 = private constant [4 x i8] c"i64\00" +@tn.str.415 = private constant [3 x i8] c"u8\00" +@tn.str.416 = private constant [4 x i8] c"u16\00" +@tn.str.417 = private constant [4 x i8] c"u32\00" +@tn.str.418 = private constant [4 x i8] c"u64\00" +@tn.str.419 = private constant [4 x i8] c"f32\00" +@tn.str.420 = private constant [4 x i8] c"f64\00" +@tn.str.421 = private constant [7 x i8] c"string\00" +@tn.str.422 = private constant [4 x i8] c"Any\00" +@tn.str.423 = private constant [9 x i8] c"noreturn\00" +@tn.str.424 = private constant [6 x i8] c"isize\00" +@tn.str.425 = private constant [6 x i8] c"usize\00" +@tn.str.426 = private constant [5 x i8] c"void\00" +@tn.str.427 = private constant [8 x i8] c"cstring\00" +@tn.str.428 = private constant [6 x i8] c"*void\00" +@tn.str.429 = private constant [16 x i8] c"Source_Location\00" +@tn.str.430 = private constant [10 x i8] c"Allocator\00" +@tn.str.431 = private constant [8 x i8] c"Context\00" +@tn.str.432 = private constant [7 x i8] c"[4]i64\00" +@tn.str.433 = private constant [9 x i8] c"[]string\00" +@tn.str.434 = private constant [11 x i8] c"CAllocator\00" +@tn.str.435 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.436 = private constant [4 x i8] c"GPA\00" +@tn.str.437 = private constant [5 x i8] c"*GPA\00" +@tn.str.438 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.439 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.440 = private constant [6 x i8] c"Arena\00" +@tn.str.441 = private constant [7 x i8] c"*Arena\00" +@tn.str.442 = private constant [6 x i8] c"[*]u8\00" +@tn.str.443 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.444 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.445 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.446 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.447 = private constant [9 x i8] c"OpenMode\00" +@tn.str.448 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.449 = private constant [5 x i8] c"File\00" +@tn.str.450 = private constant [6 x i8] c"*File\00" +@tn.str.451 = private constant [6 x i8] c"?File\00" +@tn.str.452 = private constant [8 x i8] c"?string\00" +@tn.str.453 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.454 = private constant [9 x i8] c"?cstring\00" +@tn.str.455 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.456 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.457 = private constant [5 x i8] c"*i32\00" +@tn.str.458 = private constant [9 x i8] c"SockAddr\00" +@tn.str.459 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.460 = private constant [5 x i8] c"*u32\00" +@tn.str.461 = private constant [8 x i8] c"SockErr\00" +@tn.str.462 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.463 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.464 = private constant [10 x i8] c"JsonError\00" +@tn.str.465 = private constant [6 x i8] c"Array\00" +@tn.str.466 = private constant [7 x i8] c"Object\00" +@tn.str.467 = private constant [6 x i8] c"Value\00" +@tn.str.468 = private constant [7 x i8] c"Member\00" +@tn.str.469 = private constant [9 x i8] c"[*]Value\00" +@tn.str.470 = private constant [7 x i8] c"*Array\00" +@tn.str.471 = private constant [10 x i8] c"[*]Member\00" +@tn.str.472 = private constant [8 x i8] c"*Object\00" +@tn.str.473 = private constant [5 x i8] c"[]u8\00" +@tn.str.474 = private constant [5 x i8] c"Sink\00" +@tn.str.475 = private constant [6 x i8] c"*Sink\00" +@tn.str.476 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.477 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.478 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.479 = private constant [7 x i8] c"Parser\00" +@tn.str.480 = private constant [8 x i8] c"*Parser\00" +@tn.str.481 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.482 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.483 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.484 = private constant [13 x i8] c"Architecture\00" +@tn.str.485 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.486 = private constant [11 x i8] c"() -> bool\00" +@tn.str.487 = private constant [5 x i8] c"*i64\00" +@tn.str.488 = private constant [9 x i8] c"CliError\00" +@tn.str.489 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.490 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.491 = private constant [8 x i8] c"Command\00" +@tn.str.492 = private constant [10 x i8] c"FlagValue\00" +@tn.str.493 = private constant [5 x i8] c"Diag\00" +@tn.str.494 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.495 = private constant [7 x i8] c"Parsed\00" +@tn.str.496 = private constant [8 x i8] c"*Parsed\00" +@tn.str.497 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.498 = private constant [10 x i8] c"[]Command\00" +@tn.str.499 = private constant [6 x i8] c"*Diag\00" +@tn.str.500 = private constant [7 x i8] c"[8]i64\00" +@tn.str.501 = private constant [7 x i8] c"[64]u8\00" +@tn.str.502 = private constant [7 x i8] c"Sha256\00" +@tn.str.503 = private constant [8 x i8] c"*Sha256\00" +@tn.str.504 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.505 = private constant [8 x i8] c"[64]i64\00" +@tn.str.506 = private constant [9 x i8] c"Timespec\00" +@tn.str.507 = private constant [10 x i8] c"*Timespec\00" +@tn.str.508 = private constant [7 x i8] c"Kevent\00" +@tn.str.509 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.510 = private constant [8 x i8] c"*Kevent\00" +@tn.str.511 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.512 = private constant [9 x i8] c"EventErr\00" +@tn.str.513 = private constant [6 x i8] c"Event\00" +@tn.str.514 = private constant [5 x i8] c"Loop\00" +@tn.str.515 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.516 = private constant [6 x i8] c"*Loop\00" +@tn.str.517 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.518 = private constant [8 x i8] c"[]Event\00" +@tn.str.519 = private constant [8 x i8] c"HttpErr\00" +@tn.str.520 = private constant [7 x i8] c"Config\00" +@tn.str.521 = private constant [8 x i8] c"Request\00" +@tn.str.522 = private constant [9 x i8] c"Response\00" +@tn.str.523 = private constant [9 x i8] c"*Request\00" +@tn.str.524 = private constant [5 x i8] c"Conn\00" +@tn.str.525 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.526 = private constant [10 x i8] c"*Response\00" +@tn.str.527 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.528 = private constant [7 x i8] c"Server\00" +@tn.str.529 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.530 = private constant [8 x i8] c"*Server\00" +@tn.str.531 = private constant [8 x i8] c"[16]f32\00" +@tn.str.532 = private constant [5 x i8] c"Mat4\00" +@tn.str.533 = private constant [5 x i8] c"Vec2\00" +@tn.str.534 = private constant [6 x i8] c"Point\00" +@tn.str.535 = private constant [8 x i8] c"Counter\00" +@tn.str.536 = private constant [18 x i8] c"__Counter__Vtable\00" +@tn.str.537 = private constant [9 x i8] c"Summable\00" +@tn.str.538 = private constant [19 x i8] c"__Summable__Vtable\00" +@tn.str.539 = private constant [14 x i8] c"SimpleCounter\00" +@tn.str.540 = private constant [15 x i8] c"*SimpleCounter\00" +@tn.str.541 = private constant [7 x i8] c"*Point\00" +@tn.str.542 = private constant [6 x i8] c"Adder\00" +@tn.str.543 = private constant [12 x i8] c"Accumulator\00" +@tn.str.544 = private constant [13 x i8] c"*Accumulator\00" +@tn.str.545 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.546 = private constant [7 x i8] c"**void\00" +@tn.str.547 = private constant [8 x i8] c"*string\00" +@tn.str.548 = private constant [6 x i8] c"[]Any\00" +@tn.str.549 = private constant [5 x i8] c"*Any\00" +@tn.str.550 = private constant [7 x i8] c"*[]Any\00" +@tn.str.551 = private constant [4 x i8] c"*u8\00" +@tn.str.552 = private constant [6 x i8] c"*bool\00" +@tn.str.553 = private constant [9 x i8] c"*Counter\00" +@tn.str.554 = private constant [16 x i8] c"**SimpleCounter\00" +@tn.str.555 = private constant [19 x i8] c"*__Counter__Vtable\00" +@tn.str.556 = private constant [7 x i8] c"[1]Any\00" +@tn.str.557 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.558 = private constant [7 x i8] c"*Adder\00" +@tn.str.559 = private constant [14 x i8] c"**Accumulator\00" +@tn.str.560 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.561 = private constant [5 x i8] c"*f64\00" +@tn.str.562 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.563 = private constant [11 x i8] c"*Allocator\00" +@tn.str.564 = private constant [9 x i8] c"*Context\00" +@tn.str.565 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.566 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.567 = private constant [8 x i8] c"*Member\00" +@tn.str.568 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.569 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.570 = private constant [9 x i8] c"*Command\00" +@tn.str.571 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.572 = private constant [7 x i8] c"*Event\00" +@tn.str.573 = private constant [8 x i8] c"*Config\00" +@tn.str.574 = private constant [6 x i8] c"*Conn\00" +@tn.str.575 = private constant [6 x i8] c"*Mat4\00" +@tn.str.576 = private constant [6 x i8] c"*Vec2\00" +@tn.str.577 = private constant [10 x i8] c"*Summable\00" +@tn.str.578 = private constant [20 x i8] c"*__Summable__Vtable\00" +@tn.str.579 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.580 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.581 = private constant [7 x i8] c"*Value\00" +@tn.str.582 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.583 = private constant [14 x i8] c"*Architecture\00" +@tn.str.584 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.585 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.586 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.587 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.588 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.589 = private constant [10 x i8] c"*[]string\00" +@tn.str.590 = private constant [6 x i8] c"*[]u8\00" +@tn.str.591 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.592 = private constant [11 x i8] c"*[]Command\00" +@tn.str.593 = private constant [9 x i8] c"*[]Event\00" +@tn.str.594 = private constant [6 x i8] c"**GPA\00" +@tn.str.595 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.596 = private constant [8 x i8] c"**Arena\00" +@tn.str.597 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.598 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.599 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.600 = private constant [7 x i8] c"**File\00" +@tn.str.601 = private constant [6 x i8] c"**i32\00" +@tn.str.602 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.603 = private constant [6 x i8] c"**u32\00" +@tn.str.604 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.605 = private constant [8 x i8] c"**Array\00" +@tn.str.606 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.607 = private constant [9 x i8] c"**Object\00" +@tn.str.608 = private constant [7 x i8] c"**Sink\00" +@tn.str.609 = private constant [9 x i8] c"**Parser\00" +@tn.str.610 = private constant [6 x i8] c"**i64\00" +@tn.str.611 = private constant [9 x i8] c"**Parsed\00" +@tn.str.612 = private constant [7 x i8] c"**Diag\00" +@tn.str.613 = private constant [9 x i8] c"**Sha256\00" +@tn.str.614 = private constant [11 x i8] c"**Timespec\00" +@tn.str.615 = private constant [9 x i8] c"**Kevent\00" +@tn.str.616 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.617 = private constant [7 x i8] c"**Loop\00" +@tn.str.618 = private constant [10 x i8] c"**Request\00" +@tn.str.619 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.620 = private constant [11 x i8] c"**Response\00" +@tn.str.621 = private constant [9 x i8] c"**Server\00" +@tn.str.622 = private constant [8 x i8] c"**Point\00" +@tn.str.623 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.624 = private constant [8 x i8] c"***void\00" +@tn.str.625 = private constant [9 x i8] c"**string\00" +@tn.str.626 = private constant [6 x i8] c"**Any\00" +@tn.str.627 = private constant [8 x i8] c"**[]Any\00" +@tn.str.628 = private constant [5 x i8] c"**u8\00" +@tn.str.629 = private constant [7 x i8] c"**bool\00" +@tn.str.630 = private constant [10 x i8] c"**Counter\00" +@tn.str.631 = private constant [17 x i8] c"***SimpleCounter\00" +@tn.str.632 = private constant [20 x i8] c"**__Counter__Vtable\00" +@tn.str.633 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.634 = private constant [8 x i8] c"**Adder\00" +@tn.str.635 = private constant [15 x i8] c"***Accumulator\00" +@tn.str.636 = private constant [7 x i8] c"*?File\00" +@tn.str.637 = private constant [9 x i8] c"*?string\00" +@tn.str.638 = private constant [10 x i8] c"*?cstring\00" +@tn.str.639 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.640 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [232 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.410, i64 4 }, { ptr, i64 } { ptr @tn.str.411, i64 2 }, { ptr, i64 } { ptr @tn.str.412, i64 3 }, { ptr, i64 } { ptr @tn.str.413, i64 3 }, { ptr, i64 } { ptr @tn.str.414, i64 3 }, { ptr, i64 } { ptr @tn.str.415, i64 2 }, { ptr, i64 } { ptr @tn.str.416, i64 3 }, { ptr, i64 } { ptr @tn.str.417, i64 3 }, { ptr, i64 } { ptr @tn.str.418, i64 3 }, { ptr, i64 } { ptr @tn.str.419, i64 3 }, { ptr, i64 } { ptr @tn.str.420, i64 3 }, { ptr, i64 } { ptr @tn.str.421, i64 6 }, { ptr, i64 } { ptr @tn.str.422, i64 3 }, { ptr, i64 } { ptr @tn.str.423, i64 8 }, { ptr, i64 } { ptr @tn.str.424, i64 5 }, { ptr, i64 } { ptr @tn.str.425, i64 5 }, { ptr, i64 } { ptr @tn.str.426, i64 4 }, { ptr, i64 } { ptr @tn.str.427, i64 7 }, { ptr, i64 } { ptr @tn.str.428, i64 5 }, { ptr, i64 } { ptr @tn.str.429, i64 15 }, { ptr, i64 } { ptr @tn.str.430, i64 9 }, { ptr, i64 } { ptr @tn.str.431, i64 7 }, { ptr, i64 } { ptr @tn.str.432, i64 6 }, { ptr, i64 } { ptr @tn.str.433, i64 8 }, { ptr, i64 } { ptr @tn.str.434, i64 10 }, { ptr, i64 } { ptr @tn.str.435, i64 11 }, { ptr, i64 } { ptr @tn.str.436, i64 3 }, { ptr, i64 } { ptr @tn.str.437, i64 4 }, { ptr, i64 } { ptr @tn.str.438, i64 10 }, { ptr, i64 } { ptr @tn.str.439, i64 11 }, { ptr, i64 } { ptr @tn.str.440, i64 5 }, { ptr, i64 } { ptr @tn.str.441, i64 6 }, { ptr, i64 } { ptr @tn.str.442, i64 5 }, { ptr, i64 } { ptr @tn.str.443, i64 8 }, { ptr, i64 } { ptr @tn.str.444, i64 9 }, { ptr, i64 } { ptr @tn.str.445, i64 17 }, { ptr, i64 } { ptr @tn.str.446, i64 18 }, { ptr, i64 } { ptr @tn.str.447, i64 8 }, { ptr, i64 } { ptr @tn.str.448, i64 8 }, { ptr, i64 } { ptr @tn.str.449, i64 4 }, { ptr, i64 } { ptr @tn.str.450, i64 5 }, { ptr, i64 } { ptr @tn.str.451, i64 5 }, { ptr, i64 } { ptr @tn.str.452, i64 7 }, { ptr, i64 } { ptr @tn.str.453, i64 10 }, { ptr, i64 } { ptr @tn.str.454, i64 8 }, { ptr, i64 } { ptr @tn.str.455, i64 13 }, { ptr, i64 } { ptr @tn.str.456, i64 14 }, { ptr, i64 } { ptr @tn.str.457, i64 4 }, { ptr, i64 } { ptr @tn.str.458, i64 8 }, { ptr, i64 } { ptr @tn.str.459, i64 9 }, { ptr, i64 } { ptr @tn.str.460, i64 4 }, { ptr, i64 } { ptr @tn.str.461, i64 7 }, { ptr, i64 } { ptr @tn.str.462, i64 14 }, { ptr, i64 } { ptr @tn.str.463, i64 14 }, { ptr, i64 } { ptr @tn.str.464, i64 9 }, { ptr, i64 } { ptr @tn.str.465, i64 5 }, { ptr, i64 } { ptr @tn.str.466, i64 6 }, { ptr, i64 } { ptr @tn.str.467, i64 5 }, { ptr, i64 } { ptr @tn.str.468, i64 6 }, { ptr, i64 } { ptr @tn.str.469, i64 8 }, { ptr, i64 } { ptr @tn.str.470, i64 6 }, { ptr, i64 } { ptr @tn.str.471, i64 9 }, { ptr, i64 } { ptr @tn.str.472, i64 7 }, { ptr, i64 } { ptr @tn.str.473, i64 4 }, { ptr, i64 } { ptr @tn.str.474, i64 4 }, { ptr, i64 } { ptr @tn.str.475, i64 5 }, { ptr, i64 } { ptr @tn.str.476, i64 16 }, { ptr, i64 } { ptr @tn.str.477, i64 14 }, { ptr, i64 } { ptr @tn.str.478, i64 21 }, { ptr, i64 } { ptr @tn.str.479, i64 6 }, { ptr, i64 } { ptr @tn.str.480, i64 7 }, { ptr, i64 } { ptr @tn.str.481, i64 24 }, { ptr, i64 } { ptr @tn.str.482, i64 23 }, { ptr, i64 } { ptr @tn.str.483, i64 15 }, { ptr, i64 } { ptr @tn.str.484, i64 12 }, { ptr, i64 } { ptr @tn.str.485, i64 12 }, { ptr, i64 } { ptr @tn.str.486, i64 10 }, { ptr, i64 } { ptr @tn.str.487, i64 4 }, { ptr, i64 } { ptr @tn.str.488, i64 8 }, { ptr, i64 } { ptr @tn.str.489, i64 8 }, { ptr, i64 } { ptr @tn.str.490, i64 10 }, { ptr, i64 } { ptr @tn.str.491, i64 7 }, { ptr, i64 } { ptr @tn.str.492, i64 9 }, { ptr, i64 } { ptr @tn.str.493, i64 4 }, { ptr, i64 } { ptr @tn.str.494, i64 13 }, { ptr, i64 } { ptr @tn.str.495, i64 6 }, { ptr, i64 } { ptr @tn.str.496, i64 7 }, { ptr, i64 } { ptr @tn.str.497, i64 18 }, { ptr, i64 } { ptr @tn.str.498, i64 9 }, { ptr, i64 } { ptr @tn.str.499, i64 5 }, { ptr, i64 } { ptr @tn.str.500, i64 6 }, { ptr, i64 } { ptr @tn.str.501, i64 6 }, { ptr, i64 } { ptr @tn.str.502, i64 6 }, { ptr, i64 } { ptr @tn.str.503, i64 7 }, { ptr, i64 } { ptr @tn.str.504, i64 7 }, { ptr, i64 } { ptr @tn.str.505, i64 7 }, { ptr, i64 } { ptr @tn.str.506, i64 8 }, { ptr, i64 } { ptr @tn.str.507, i64 9 }, { ptr, i64 } { ptr @tn.str.508, i64 6 }, { ptr, i64 } { ptr @tn.str.509, i64 10 }, { ptr, i64 } { ptr @tn.str.510, i64 7 }, { ptr, i64 } { ptr @tn.str.511, i64 11 }, { ptr, i64 } { ptr @tn.str.512, i64 8 }, { ptr, i64 } { ptr @tn.str.513, i64 5 }, { ptr, i64 } { ptr @tn.str.514, i64 4 }, { ptr, i64 } { ptr @tn.str.515, i64 16 }, { ptr, i64 } { ptr @tn.str.516, i64 5 }, { ptr, i64 } { ptr @tn.str.517, i64 15 }, { ptr, i64 } { ptr @tn.str.518, i64 7 }, { ptr, i64 } { ptr @tn.str.519, i64 7 }, { ptr, i64 } { ptr @tn.str.520, i64 6 }, { ptr, i64 } { ptr @tn.str.521, i64 7 }, { ptr, i64 } { ptr @tn.str.522, i64 8 }, { ptr, i64 } { ptr @tn.str.523, i64 8 }, { ptr, i64 } { ptr @tn.str.524, i64 4 }, { ptr, i64 } { ptr @tn.str.525, i64 7 }, { ptr, i64 } { ptr @tn.str.526, i64 9 }, { ptr, i64 } { ptr @tn.str.527, i64 21 }, { ptr, i64 } { ptr @tn.str.528, i64 6 }, { ptr, i64 } { ptr @tn.str.529, i64 17 }, { ptr, i64 } { ptr @tn.str.530, i64 7 }, { ptr, i64 } { ptr @tn.str.531, i64 7 }, { ptr, i64 } { ptr @tn.str.532, i64 4 }, { ptr, i64 } { ptr @tn.str.533, i64 4 }, { ptr, i64 } { ptr @tn.str.534, i64 5 }, { ptr, i64 } { ptr @tn.str.535, i64 7 }, { ptr, i64 } { ptr @tn.str.536, i64 17 }, { ptr, i64 } { ptr @tn.str.537, i64 8 }, { ptr, i64 } { ptr @tn.str.538, i64 18 }, { ptr, i64 } { ptr @tn.str.539, i64 13 }, { ptr, i64 } { ptr @tn.str.540, i64 14 }, { ptr, i64 } { ptr @tn.str.541, i64 6 }, { ptr, i64 } { ptr @tn.str.542, i64 5 }, { ptr, i64 } { ptr @tn.str.543, i64 11 }, { ptr, i64 } { ptr @tn.str.544, i64 12 }, { ptr, i64 } { ptr @tn.str.545, i64 12 }, { ptr, i64 } { ptr @tn.str.546, i64 6 }, { ptr, i64 } { ptr @tn.str.547, i64 7 }, { ptr, i64 } { ptr @tn.str.548, i64 5 }, { ptr, i64 } { ptr @tn.str.549, i64 4 }, { ptr, i64 } { ptr @tn.str.550, i64 6 }, { ptr, i64 } { ptr @tn.str.551, i64 3 }, { ptr, i64 } { ptr @tn.str.552, i64 5 }, { ptr, i64 } { ptr @tn.str.553, i64 8 }, { ptr, i64 } { ptr @tn.str.554, i64 15 }, { ptr, i64 } { ptr @tn.str.555, i64 18 }, { ptr, i64 } { ptr @tn.str.556, i64 6 }, { ptr, i64 } { ptr @tn.str.557, i64 7 }, { ptr, i64 } { ptr @tn.str.558, i64 6 }, { ptr, i64 } { ptr @tn.str.559, i64 13 }, { ptr, i64 } { ptr @tn.str.560, i64 7 }, { ptr, i64 } { ptr @tn.str.561, i64 4 }, { ptr, i64 } { ptr @tn.str.562, i64 16 }, { ptr, i64 } { ptr @tn.str.563, i64 10 }, { ptr, i64 } { ptr @tn.str.564, i64 8 }, { ptr, i64 } { ptr @tn.str.565, i64 11 }, { ptr, i64 } { ptr @tn.str.566, i64 14 }, { ptr, i64 } { ptr @tn.str.567, i64 7 }, { ptr, i64 } { ptr @tn.str.568, i64 13 }, { ptr, i64 } { ptr @tn.str.569, i64 9 }, { ptr, i64 } { ptr @tn.str.570, i64 8 }, { ptr, i64 } { ptr @tn.str.571, i64 10 }, { ptr, i64 } { ptr @tn.str.572, i64 6 }, { ptr, i64 } { ptr @tn.str.573, i64 7 }, { ptr, i64 } { ptr @tn.str.574, i64 5 }, { ptr, i64 } { ptr @tn.str.575, i64 5 }, { ptr, i64 } { ptr @tn.str.576, i64 5 }, { ptr, i64 } { ptr @tn.str.577, i64 9 }, { ptr, i64 } { ptr @tn.str.578, i64 19 }, { ptr, i64 } { ptr @tn.str.579, i64 9 }, { ptr, i64 } { ptr @tn.str.580, i64 9 }, { ptr, i64 } { ptr @tn.str.581, i64 6 }, { ptr, i64 } { ptr @tn.str.582, i64 16 }, { ptr, i64 } { ptr @tn.str.583, i64 13 }, { ptr, i64 } { ptr @tn.str.584, i64 14 }, { ptr, i64 } { ptr @tn.str.585, i64 7 }, { ptr, i64 } { ptr @tn.str.586, i64 7 }, { ptr, i64 } { ptr @tn.str.587, i64 8 }, { ptr, i64 } { ptr @tn.str.588, i64 8 }, { ptr, i64 } { ptr @tn.str.589, i64 9 }, { ptr, i64 } { ptr @tn.str.590, i64 5 }, { ptr, i64 } { ptr @tn.str.591, i64 11 }, { ptr, i64 } { ptr @tn.str.592, i64 10 }, { ptr, i64 } { ptr @tn.str.593, i64 8 }, { ptr, i64 } { ptr @tn.str.594, i64 5 }, { ptr, i64 } { ptr @tn.str.595, i64 12 }, { ptr, i64 } { ptr @tn.str.596, i64 7 }, { ptr, i64 } { ptr @tn.str.597, i64 6 }, { ptr, i64 } { ptr @tn.str.598, i64 10 }, { ptr, i64 } { ptr @tn.str.599, i64 19 }, { ptr, i64 } { ptr @tn.str.600, i64 6 }, { ptr, i64 } { ptr @tn.str.601, i64 5 }, { ptr, i64 } { ptr @tn.str.602, i64 10 }, { ptr, i64 } { ptr @tn.str.603, i64 5 }, { ptr, i64 } { ptr @tn.str.604, i64 9 }, { ptr, i64 } { ptr @tn.str.605, i64 7 }, { ptr, i64 } { ptr @tn.str.606, i64 10 }, { ptr, i64 } { ptr @tn.str.607, i64 8 }, { ptr, i64 } { ptr @tn.str.608, i64 6 }, { ptr, i64 } { ptr @tn.str.609, i64 8 }, { ptr, i64 } { ptr @tn.str.610, i64 5 }, { ptr, i64 } { ptr @tn.str.611, i64 8 }, { ptr, i64 } { ptr @tn.str.612, i64 6 }, { ptr, i64 } { ptr @tn.str.613, i64 8 }, { ptr, i64 } { ptr @tn.str.614, i64 10 }, { ptr, i64 } { ptr @tn.str.615, i64 8 }, { ptr, i64 } { ptr @tn.str.616, i64 12 }, { ptr, i64 } { ptr @tn.str.617, i64 6 }, { ptr, i64 } { ptr @tn.str.618, i64 9 }, { ptr, i64 } { ptr @tn.str.619, i64 8 }, { ptr, i64 } { ptr @tn.str.620, i64 10 }, { ptr, i64 } { ptr @tn.str.621, i64 8 }, { ptr, i64 } { ptr @tn.str.622, i64 7 }, { ptr, i64 } { ptr @tn.str.623, i64 13 }, { ptr, i64 } { ptr @tn.str.624, i64 7 }, { ptr, i64 } { ptr @tn.str.625, i64 8 }, { ptr, i64 } { ptr @tn.str.626, i64 5 }, { ptr, i64 } { ptr @tn.str.627, i64 7 }, { ptr, i64 } { ptr @tn.str.628, i64 4 }, { ptr, i64 } { ptr @tn.str.629, i64 6 }, { ptr, i64 } { ptr @tn.str.630, i64 9 }, { ptr, i64 } { ptr @tn.str.631, i64 16 }, { ptr, i64 } { ptr @tn.str.632, i64 19 }, { ptr, i64 } { ptr @tn.str.633, i64 8 }, { ptr, i64 } { ptr @tn.str.634, i64 7 }, { ptr, i64 } { ptr @tn.str.635, i64 14 }, { ptr, i64 } { ptr @tn.str.636, i64 6 }, { ptr, i64 } { ptr @tn.str.637, i64 8 }, { ptr, i64 } { ptr @tn.str.638, i64 9 }, { ptr, i64 } { ptr @tn.str.639, i64 15 }, { ptr, i64 } { ptr @tn.str.640, i64 8 }] +@str.641 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.642 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.643 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 -@str.644 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.643 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.644 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.645 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.646 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.647 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.648 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.650 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.651 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.652 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.653 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.655 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.656 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.657 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.658 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.659 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.661 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.662 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 +@str.663 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.664 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 +@str.665 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 +@str.666 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.667 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 +@str.668 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 +@str.669 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.670 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 +@str.671 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 +@str.672 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.673 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 +@str.674 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 +@str.675 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.676 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 +@str.677 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@str.678 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.679 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@str.680 = private unnamed_addr constant [16 x i8] c"Source_Location\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 = private constant [5 x i8] c"file\00" -@fld.str.648 = private constant [5 x i8] c"line\00" -@fld.str.649 = private constant [4 x i8] c"col\00" -@fld.str.650 = 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.648, i64 4 }, { ptr, i64 } { ptr @fld.str.649, i64 3 }, { ptr, i64 } { ptr @fld.str.650, i64 4 }] -@str.651 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.652 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.656 = private constant [4 x i8] c"ctx\00" -@fld.str.657 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.658 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.659 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.656, i64 3 }, { ptr, i64 } { ptr @fld.str.657, i64 11 }, { ptr, i64 } { ptr @fld.str.658, i64 13 }] -@str.660 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.661 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.664 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.665 = private constant [10 x i8] c"allocator\00" -@fld.str.666 = private constant [5 x i8] c"data\00" -@field_names.667 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.665, i64 9 }, { ptr, i64 } { ptr @fld.str.666, i64 4 }] -@str.668 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.669 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.672 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.673 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.674 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.675 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.676 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.677 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.678 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.679 = private constant [12 x i8] c"alloc_count\00" -@field_names.680 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.679, i64 11 }] -@str.681 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.682 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.683 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.684 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.685 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.686 = private constant [5 x i8] c"next\00" -@fld.str.687 = private constant [4 x i8] c"cap\00" -@field_names.688 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.686, i64 4 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }] -@str.689 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.690 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.691 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.692 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.693 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.694 = private constant [6 x i8] c"first\00" -@fld.str.695 = private constant [10 x i8] c"end_index\00" -@fld.str.696 = private constant [7 x i8] c"parent\00" -@field_names.697 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.694, i64 5 }, { ptr, i64 } { ptr @fld.str.695, i64 9 }, { ptr, i64 } { ptr @fld.str.696, i64 6 }] -@str.698 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.699 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.700 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.701 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.702 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.703 = private constant [4 x i8] c"buf\00" -@fld.str.704 = private constant [4 x i8] c"len\00" -@fld.str.705 = private constant [4 x i8] c"pos\00" -@field_names.706 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.703, i64 3 }, { ptr, i64 } { ptr @fld.str.704, i64 3 }, { ptr, i64 } { ptr @fld.str.705, i64 3 }] -@str.707 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.708 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.710 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.711 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.712 = private constant [7 x i8] c"parent\00" -@fld.str.713 = private constant [12 x i8] c"alloc_count\00" -@fld.str.714 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.715 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.716 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.712, i64 6 }, { ptr, i64 } { ptr @fld.str.713, i64 11 }, { ptr, i64 } { ptr @fld.str.714, i64 13 }, { ptr, i64 } { ptr @fld.str.715, i64 17 }] +@fld.str.684 = private constant [5 x i8] c"line\00" +@fld.str.685 = private constant [4 x i8] c"col\00" +@fld.str.686 = 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.684, i64 4 }, { ptr, i64 } { ptr @fld.str.685, i64 3 }, { ptr, i64 } { ptr @fld.str.686, i64 4 }] +@str.687 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.688 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.689 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.690 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.691 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.692 = private constant [4 x i8] c"ctx\00" +@fld.str.693 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.694 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.695 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 3 }, { ptr, i64 } { ptr @fld.str.693, i64 11 }, { ptr, i64 } { ptr @fld.str.694, i64 13 }] +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.698 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.699 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.700 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.701 = private constant [10 x i8] c"allocator\00" +@fld.str.702 = private constant [5 x i8] c"data\00" +@field_names.703 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.701, i64 9 }, { ptr, i64 } { ptr @fld.str.702, i64 4 }] +@str.704 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.705 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.708 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.709 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.710 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.711 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.714 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.715 = private constant [12 x i8] c"alloc_count\00" +@field_names.716 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.715, i64 11 }] @str.717 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.718 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.718 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 @str.719 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.720 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.722 = private constant [3 x i8] c"fd\00" -@field_names.723 = private constant [1 x { ptr, i64 }] [{ 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 [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.730 = private constant [5 x i8] c"line\00" -@fld.str.731 = private constant [4 x i8] c"col\00" -@fld.str.732 = private constant [5 x i8] c"func\00" -@fld.str.733 = private constant [10 x i8] c"line_text\00" -@field_names.734 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.729, i64 4 }, { ptr, i64 } { ptr @fld.str.730, i64 4 }, { ptr, i64 } { ptr @fld.str.731, i64 3 }, { ptr, i64 } { ptr @fld.str.732, i64 4 }, { ptr, i64 } { ptr @fld.str.733, i64 9 }] -@str.735 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.736 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.737 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.738 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.739 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.740 = private constant [10 x i8] c"exit_code\00" -@fld.str.741 = private constant [7 x i8] c"stdout\00" -@field_names.742 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.740, i64 9 }, { ptr, i64 } { ptr @fld.str.741, i64 6 }] +@fld.str.722 = private constant [5 x i8] c"next\00" +@fld.str.723 = private constant [4 x i8] c"cap\00" +@field_names.724 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.722, i64 4 }, { ptr, i64 } { ptr @fld.str.723, i64 3 }] +@str.725 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.726 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.727 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.730 = private constant [6 x i8] c"first\00" +@fld.str.731 = private constant [10 x i8] c"end_index\00" +@fld.str.732 = private constant [7 x i8] c"parent\00" +@field_names.733 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.730, i64 5 }, { ptr, i64 } { ptr @fld.str.731, i64 9 }, { ptr, i64 } { ptr @fld.str.732, i64 6 }] +@str.734 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.735 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.736 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.739 = private constant [4 x i8] c"buf\00" +@fld.str.740 = private constant [4 x i8] c"len\00" +@fld.str.741 = private constant [4 x i8] c"pos\00" +@field_names.742 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.739, i64 3 }, { ptr, i64 } { ptr @fld.str.740, i64 3 }, { ptr, i64 } { ptr @fld.str.741, i64 3 }] @str.743 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.744 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.744 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 @str.745 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.746 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.747 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.748 = private constant [8 x i8] c"sin_len\00" -@fld.str.749 = private constant [11 x i8] c"sin_family\00" -@fld.str.750 = private constant [9 x i8] c"sin_port\00" -@fld.str.751 = private constant [9 x i8] c"sin_addr\00" -@fld.str.752 = private constant [9 x i8] c"sin_zero\00" -@field_names.753 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.748, i64 7 }, { ptr, i64 } { ptr @fld.str.749, i64 10 }, { ptr, i64 } { ptr @fld.str.750, i64 8 }, { ptr, i64 } { ptr @fld.str.751, i64 8 }, { ptr, i64 } { ptr @fld.str.752, i64 8 }] -@str.754 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.755 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.756 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.757 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.758 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.759 = private constant [6 x i8] c"items\00" -@fld.str.760 = private constant [4 x i8] c"len\00" -@fld.str.761 = private constant [4 x i8] c"cap\00" -@field_names.762 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.759, i64 5 }, { ptr, i64 } { ptr @fld.str.760, i64 3 }, { ptr, i64 } { ptr @fld.str.761, i64 3 }] -@str.763 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.764 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 -@str.765 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.766 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.767 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.768 = private constant [6 x i8] c"items\00" -@fld.str.769 = private constant [4 x i8] c"len\00" -@fld.str.770 = private constant [4 x i8] c"cap\00" -@field_names.771 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.768, i64 5 }, { ptr, i64 } { ptr @fld.str.769, i64 3 }, { ptr, i64 } { ptr @fld.str.770, i64 3 }] -@str.772 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.773 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.774 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.775 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.776 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.777 = private constant [4 x i8] c"key\00" -@fld.str.778 = private constant [4 x i8] c"val\00" -@field_names.779 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.777, i64 3 }, { ptr, i64 } { ptr @fld.str.778, i64 3 }] -@str.780 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.782 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.783 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.784 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.785 = private constant [4 x i8] c"dst\00" -@fld.str.786 = private constant [4 x i8] c"pos\00" -@fld.str.787 = private constant [5 x i8] c"file\00" -@field_names.788 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.785, i64 3 }, { ptr, i64 } { ptr @fld.str.786, i64 3 }, { ptr, i64 } { ptr @fld.str.787, i64 4 }] -@str.789 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.790 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.791 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.792 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.793 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.794 = private constant [4 x i8] c"src\00" -@fld.str.795 = private constant [4 x i8] c"pos\00" -@fld.str.796 = private constant [6 x i8] c"alloc\00" -@field_names.797 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.794, i64 3 }, { ptr, i64 } { ptr @fld.str.795, i64 3 }, { ptr, i64 } { ptr @fld.str.796, i64 5 }] -@str.798 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.799 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.800 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.801 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.802 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.803 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.804 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.805 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.806 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.807 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.808 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.809 = private constant [5 x i8] c"name\00" -@fld.str.810 = private constant [12 x i8] c"takes_value\00" -@fld.str.811 = private constant [9 x i8] c"required\00" -@field_names.812 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.809, i64 4 }, { ptr, i64 } { ptr @fld.str.810, i64 11 }, { ptr, i64 } { ptr @fld.str.811, i64 8 }] -@str.813 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.814 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.819 = private constant [8 x i8] c"command\00" -@fld.str.820 = private constant [6 x i8] c"flags\00" -@field_names.821 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.818, i64 5 }, { ptr, i64 } { ptr @fld.str.819, i64 7 }, { ptr, i64 } { ptr @fld.str.820, i64 5 }] -@str.822 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.823 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.824 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.825 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.826 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.827 = private constant [4 x i8] c"set\00" -@fld.str.828 = private constant [6 x i8] c"value\00" -@field_names.829 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.827, i64 3 }, { ptr, i64 } { ptr @fld.str.828, i64 5 }] -@str.830 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.831 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.832 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.833 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.834 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.835 = private constant [6 x i8] c"index\00" -@fld.str.836 = private constant [6 x i8] c"token\00" -@field_names.837 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.835, i64 5 }, { ptr, i64 } { ptr @fld.str.836, i64 5 }] -@str.838 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.839 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.840 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.841 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.842 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.843 = private constant [6 x i8] c"group\00" -@fld.str.844 = private constant [8 x i8] c"command\00" -@fld.str.845 = private constant [10 x i8] c"cmd_index\00" -@fld.str.846 = private constant [5 x i8] c"json\00" -@fld.str.847 = private constant [5 x i8] c"rest\00" -@fld.str.848 = private constant [5 x i8] c"spec\00" -@fld.str.849 = private constant [7 x i8] c"values\00" -@field_names.850 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.843, i64 5 }, { ptr, i64 } { ptr @fld.str.844, i64 7 }, { ptr, i64 } { ptr @fld.str.845, i64 9 }, { ptr, i64 } { ptr @fld.str.846, i64 4 }, { ptr, i64 } { ptr @fld.str.847, i64 4 }, { ptr, i64 } { ptr @fld.str.848, i64 4 }, { ptr, i64 } { ptr @fld.str.849, i64 6 }] -@str.851 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.852 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.853 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.854 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.855 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.856 = private constant [2 x i8] c"h\00" -@fld.str.857 = private constant [4 x i8] c"buf\00" -@fld.str.858 = private constant [8 x i8] c"buf_len\00" -@fld.str.859 = private constant [10 x i8] c"total_len\00" -@field_names.860 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.856, i64 1 }, { ptr, i64 } { ptr @fld.str.857, i64 3 }, { ptr, i64 } { ptr @fld.str.858, i64 7 }, { ptr, i64 } { ptr @fld.str.859, i64 9 }] -@str.861 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.862 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.863 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.864 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.865 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.866 = private constant [4 x i8] c"sec\00" -@fld.str.867 = private constant [5 x i8] c"nsec\00" -@field_names.868 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.866, i64 3 }, { ptr, i64 } { ptr @fld.str.867, i64 4 }] -@str.869 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.870 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.871 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.872 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.873 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.874 = private constant [6 x i8] c"ident\00" -@fld.str.875 = private constant [7 x i8] c"filter\00" -@fld.str.876 = private constant [6 x i8] c"flags\00" -@fld.str.877 = private constant [7 x i8] c"fflags\00" -@fld.str.878 = private constant [5 x i8] c"data\00" -@fld.str.879 = private constant [6 x i8] c"udata\00" -@field_names.880 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.874, i64 5 }, { ptr, i64 } { ptr @fld.str.875, i64 6 }, { ptr, i64 } { ptr @fld.str.876, i64 5 }, { ptr, i64 } { ptr @fld.str.877, i64 6 }, { ptr, i64 } { ptr @fld.str.878, i64 4 }, { ptr, i64 } { ptr @fld.str.879, i64 5 }] -@str.881 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.882 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 -@str.883 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.884 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.885 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.886 = private constant [4 x i8] c"sec\00" -@fld.str.887 = private constant [5 x i8] c"nsec\00" -@field_names.888 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.886, i64 3 }, { ptr, i64 } { ptr @fld.str.887, i64 4 }] -@str.889 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.890 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 -@str.891 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.892 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.893 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.894 = private constant [3 x i8] c"fd\00" -@fld.str.895 = private constant [6 x i8] c"udata\00" -@fld.str.896 = private constant [9 x i8] c"readable\00" -@fld.str.897 = private constant [9 x i8] c"writable\00" -@fld.str.898 = private constant [4 x i8] c"eof\00" -@fld.str.899 = private constant [4 x i8] c"err\00" -@fld.str.900 = private constant [7 x i8] c"nbytes\00" -@field_names.901 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.894, i64 2 }, { ptr, i64 } { ptr @fld.str.895, i64 5 }, { ptr, i64 } { ptr @fld.str.896, i64 8 }, { ptr, i64 } { ptr @fld.str.897, i64 8 }, { ptr, i64 } { ptr @fld.str.898, i64 3 }, { ptr, i64 } { ptr @fld.str.899, i64 3 }, { ptr, i64 } { ptr @fld.str.900, i64 6 }] -@str.902 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.903 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.904 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.905 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.906 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.907 = private constant [3 x i8] c"kq\00" -@field_names.908 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.907, i64 2 }] -@str.909 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.910 = private unnamed_addr constant [5 x i8] c"Mat4\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.748 = private constant [7 x i8] c"parent\00" +@fld.str.749 = private constant [12 x i8] c"alloc_count\00" +@fld.str.750 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.751 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.752 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.748, i64 6 }, { ptr, i64 } { ptr @fld.str.749, i64 11 }, { ptr, i64 } { ptr @fld.str.750, i64 13 }, { ptr, i64 } { ptr @fld.str.751, i64 17 }] +@str.753 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.754 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.755 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.756 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.757 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.758 = private constant [3 x i8] c"fd\00" +@field_names.759 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.758, i64 2 }] +@str.760 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.761 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.762 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.763 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.764 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.765 = private constant [5 x i8] c"file\00" +@fld.str.766 = private constant [5 x i8] c"line\00" +@fld.str.767 = private constant [4 x i8] c"col\00" +@fld.str.768 = private constant [5 x i8] c"func\00" +@fld.str.769 = private constant [10 x i8] c"line_text\00" +@field_names.770 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.765, i64 4 }, { ptr, i64 } { ptr @fld.str.766, i64 4 }, { ptr, i64 } { ptr @fld.str.767, i64 3 }, { ptr, i64 } { ptr @fld.str.768, i64 4 }, { ptr, i64 } { ptr @fld.str.769, i64 9 }] +@str.771 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.772 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.773 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.774 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.775 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.776 = private constant [10 x i8] c"exit_code\00" +@fld.str.777 = private constant [7 x i8] c"stdout\00" +@field_names.778 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.776, i64 9 }, { ptr, i64 } { ptr @fld.str.777, i64 6 }] +@str.779 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.780 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 +@str.781 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.782 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.783 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.784 = private constant [8 x i8] c"sin_len\00" +@fld.str.785 = private constant [11 x i8] c"sin_family\00" +@fld.str.786 = private constant [9 x i8] c"sin_port\00" +@fld.str.787 = private constant [9 x i8] c"sin_addr\00" +@fld.str.788 = private constant [9 x i8] c"sin_zero\00" +@field_names.789 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.784, i64 7 }, { ptr, i64 } { ptr @fld.str.785, i64 10 }, { ptr, i64 } { ptr @fld.str.786, i64 8 }, { ptr, i64 } { ptr @fld.str.787, i64 8 }, { ptr, i64 } { ptr @fld.str.788, i64 8 }] +@str.790 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.791 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.792 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.794 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.795 = private constant [6 x i8] c"items\00" +@fld.str.796 = private constant [4 x i8] c"len\00" +@fld.str.797 = private constant [4 x i8] c"cap\00" +@field_names.798 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.795, i64 5 }, { ptr, i64 } { ptr @fld.str.796, i64 3 }, { ptr, i64 } { ptr @fld.str.797, i64 3 }] +@str.799 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.800 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.801 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.803 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.804 = private constant [6 x i8] c"items\00" +@fld.str.805 = private constant [4 x i8] c"len\00" +@fld.str.806 = private constant [4 x i8] c"cap\00" +@field_names.807 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.804, i64 5 }, { ptr, i64 } { ptr @fld.str.805, i64 3 }, { ptr, i64 } { ptr @fld.str.806, i64 3 }] +@str.808 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.809 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.810 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.812 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.813 = private constant [4 x i8] c"key\00" +@fld.str.814 = private constant [4 x i8] c"val\00" +@field_names.815 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.813, i64 3 }, { ptr, i64 } { ptr @fld.str.814, i64 3 }] +@str.816 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.817 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.818 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.819 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.820 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.821 = private constant [4 x i8] c"dst\00" +@fld.str.822 = private constant [4 x i8] c"pos\00" +@fld.str.823 = private constant [5 x i8] c"file\00" +@field_names.824 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.821, i64 3 }, { ptr, i64 } { ptr @fld.str.822, i64 3 }, { ptr, i64 } { ptr @fld.str.823, i64 4 }] +@str.825 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.826 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.827 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.828 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.829 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.830 = private constant [4 x i8] c"src\00" +@fld.str.831 = private constant [4 x i8] c"pos\00" +@fld.str.832 = private constant [6 x i8] c"alloc\00" +@field_names.833 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.830, i64 3 }, { ptr, i64 } { ptr @fld.str.831, i64 3 }, { ptr, i64 } { ptr @fld.str.832, i64 5 }] +@str.834 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.835 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.836 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.837 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.838 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.839 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.840 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.841 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.842 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.843 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.844 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.845 = private constant [5 x i8] c"name\00" +@fld.str.846 = private constant [12 x i8] c"takes_value\00" +@fld.str.847 = private constant [9 x i8] c"required\00" +@field_names.848 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.845, i64 4 }, { ptr, i64 } { ptr @fld.str.846, i64 11 }, { ptr, i64 } { ptr @fld.str.847, i64 8 }] +@str.849 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.850 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.851 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.852 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.853 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.854 = private constant [6 x i8] c"group\00" +@fld.str.855 = private constant [8 x i8] c"command\00" +@fld.str.856 = private constant [6 x i8] c"flags\00" +@field_names.857 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.854, i64 5 }, { ptr, i64 } { ptr @fld.str.855, i64 7 }, { ptr, i64 } { ptr @fld.str.856, i64 5 }] +@str.858 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.859 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.860 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.861 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.862 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.863 = private constant [4 x i8] c"set\00" +@fld.str.864 = private constant [6 x i8] c"value\00" +@field_names.865 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.863, i64 3 }, { ptr, i64 } { ptr @fld.str.864, i64 5 }] +@str.866 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.868 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.869 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.870 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.871 = private constant [6 x i8] c"index\00" +@fld.str.872 = private constant [6 x i8] c"token\00" +@field_names.873 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.871, i64 5 }, { ptr, i64 } { ptr @fld.str.872, i64 5 }] +@str.874 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.875 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.876 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.877 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.878 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.879 = private constant [6 x i8] c"group\00" +@fld.str.880 = private constant [8 x i8] c"command\00" +@fld.str.881 = private constant [10 x i8] c"cmd_index\00" +@fld.str.882 = private constant [5 x i8] c"json\00" +@fld.str.883 = private constant [5 x i8] c"rest\00" +@fld.str.884 = private constant [5 x i8] c"spec\00" +@fld.str.885 = private constant [7 x i8] c"values\00" +@field_names.886 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.879, i64 5 }, { ptr, i64 } { ptr @fld.str.880, i64 7 }, { ptr, i64 } { ptr @fld.str.881, i64 9 }, { ptr, i64 } { ptr @fld.str.882, i64 4 }, { ptr, i64 } { ptr @fld.str.883, i64 4 }, { ptr, i64 } { ptr @fld.str.884, i64 4 }, { ptr, i64 } { ptr @fld.str.885, i64 6 }] +@str.887 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.888 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.889 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.890 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.891 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.892 = private constant [2 x i8] c"h\00" +@fld.str.893 = private constant [4 x i8] c"buf\00" +@fld.str.894 = private constant [8 x i8] c"buf_len\00" +@fld.str.895 = private constant [10 x i8] c"total_len\00" +@field_names.896 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.892, i64 1 }, { ptr, i64 } { ptr @fld.str.893, i64 3 }, { ptr, i64 } { ptr @fld.str.894, i64 7 }, { ptr, i64 } { ptr @fld.str.895, i64 9 }] +@str.897 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.898 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 +@str.899 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.900 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.901 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.902 = private constant [4 x i8] c"sec\00" +@fld.str.903 = private constant [5 x i8] c"nsec\00" +@field_names.904 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.902, i64 3 }, { ptr, i64 } { ptr @fld.str.903, i64 4 }] +@str.905 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.906 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 +@str.907 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.908 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.909 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.910 = private constant [6 x i8] c"ident\00" +@fld.str.911 = private constant [7 x i8] c"filter\00" +@fld.str.912 = private constant [6 x i8] c"flags\00" +@fld.str.913 = private constant [7 x i8] c"fflags\00" @fld.str.914 = private constant [5 x i8] c"data\00" -@field_names.915 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.914, i64 4 }] -@str.916 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.917 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 -@str.918 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.919 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.920 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.921 = private constant [2 x i8] c"x\00" -@fld.str.922 = private constant [2 x i8] c"y\00" -@field_names.923 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.921, i64 1 }, { ptr, i64 } { ptr @fld.str.922, i64 1 }] -@str.924 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.925 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 -@str.926 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.927 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.928 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.929 = private constant [2 x i8] c"x\00" -@fld.str.930 = private constant [2 x i8] c"y\00" -@field_names.931 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.929, i64 1 }, { ptr, i64 } { ptr @fld.str.930, i64 1 }] -@str.932 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.933 = private unnamed_addr constant [8 x i8] c"Counter\00", align 1 -@str.934 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.935 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.936 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.937 = private constant [4 x i8] c"ctx\00" -@fld.str.938 = private constant [9 x i8] c"__vtable\00" -@field_names.939 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.937, i64 3 }, { ptr, i64 } { ptr @fld.str.938, i64 8 }] -@str.940 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.941 = private unnamed_addr constant [18 x i8] c"__Counter__Vtable\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 [4 x i8] c"inc\00" -@fld.str.946 = private constant [4 x i8] c"get\00" -@field_names.947 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.945, i64 3 }, { ptr, i64 } { ptr @fld.str.946, i64 3 }] -@str.948 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.949 = private unnamed_addr constant [9 x i8] c"Summable\00", align 1 -@str.950 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.951 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.952 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.953 = private constant [4 x i8] c"ctx\00" -@fld.str.954 = private constant [9 x i8] c"__vtable\00" -@field_names.955 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.953, i64 3 }, { ptr, i64 } { ptr @fld.str.954, i64 8 }] -@str.956 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.957 = private unnamed_addr constant [19 x i8] c"__Summable__Vtable\00", align 1 -@str.958 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.959 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.960 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.961 = private constant [4 x i8] c"sum\00" -@field_names.962 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.961, i64 3 }] -@str.963 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.964 = private unnamed_addr constant [14 x i8] c"SimpleCounter\00", align 1 -@str.965 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.966 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.967 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.968 = private constant [4 x i8] c"val\00" -@field_names.969 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.968, i64 3 }] +@fld.str.915 = private constant [6 x i8] c"udata\00" +@field_names.916 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.910, i64 5 }, { ptr, i64 } { ptr @fld.str.911, i64 6 }, { ptr, i64 } { ptr @fld.str.912, i64 5 }, { ptr, i64 } { ptr @fld.str.913, i64 6 }, { ptr, i64 } { ptr @fld.str.914, i64 4 }, { 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 [11 x i8] c"KqTimespec\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 [4 x i8] c"sec\00" +@fld.str.923 = private constant [5 x i8] c"nsec\00" +@field_names.924 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.922, i64 3 }, { ptr, i64 } { ptr @fld.str.923, i64 4 }] +@str.925 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.926 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.927 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.928 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.929 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.930 = private constant [3 x i8] c"fd\00" +@fld.str.931 = private constant [6 x i8] c"udata\00" +@fld.str.932 = private constant [9 x i8] c"readable\00" +@fld.str.933 = private constant [9 x i8] c"writable\00" +@fld.str.934 = private constant [4 x i8] c"eof\00" +@fld.str.935 = private constant [4 x i8] c"err\00" +@fld.str.936 = private constant [7 x i8] c"nbytes\00" +@field_names.937 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.930, i64 2 }, { ptr, i64 } { ptr @fld.str.931, i64 5 }, { ptr, i64 } { ptr @fld.str.932, i64 8 }, { ptr, i64 } { ptr @fld.str.933, i64 8 }, { ptr, i64 } { ptr @fld.str.934, i64 3 }, { ptr, i64 } { ptr @fld.str.935, i64 3 }, { ptr, i64 } { ptr @fld.str.936, i64 6 }] +@str.938 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.939 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.940 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.941 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.942 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.943 = private constant [3 x i8] c"kq\00" +@field_names.944 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.943, i64 2 }] +@str.945 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.946 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.947 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.948 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.949 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.950 = private constant [5 x i8] c"port\00" +@fld.str.951 = private constant [8 x i8] c"backlog\00" +@fld.str.952 = private constant [9 x i8] c"max_conn\00" +@fld.str.953 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.954 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.955 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.956 = private constant [14 x i8] c"request_count\00" +@field_names.957 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.950, i64 4 }, { ptr, i64 } { ptr @fld.str.951, i64 7 }, { ptr, i64 } { ptr @fld.str.952, i64 8 }, { ptr, i64 } { ptr @fld.str.953, i64 12 }, { ptr, i64 } { ptr @fld.str.954, i64 18 }, { ptr, i64 } { ptr @fld.str.955, i64 20 }, { ptr, i64 } { ptr @fld.str.956, i64 13 }] +@str.958 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.959 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.960 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.961 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.962 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.963 = private constant [7 x i8] c"method\00" +@fld.str.964 = private constant [5 x i8] c"path\00" +@fld.str.965 = private constant [8 x i8] c"version\00" +@fld.str.966 = private constant [12 x i8] c"headers_raw\00" +@fld.str.967 = private constant [5 x i8] c"body\00" +@fld.str.968 = private constant [11 x i8] c"keep_alive\00" +@field_names.969 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.963, i64 6 }, { ptr, i64 } { ptr @fld.str.964, i64 4 }, { ptr, i64 } { ptr @fld.str.965, i64 7 }, { ptr, i64 } { ptr @fld.str.966, i64 11 }, { ptr, i64 } { ptr @fld.str.967, i64 4 }, { ptr, i64 } { ptr @fld.str.968, i64 10 }] @str.970 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.971 = private unnamed_addr constant [6 x i8] c"Adder\00", align 1 +@str.971 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 @str.972 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.973 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.974 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.975 = private constant [4 x i8] c"ctx\00" -@fld.str.976 = private constant [4 x i8] c"add\00" -@fld.str.977 = private constant [6 x i8] c"value\00" -@field_names.978 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.975, i64 3 }, { ptr, i64 } { ptr @fld.str.976, i64 3 }, { ptr, i64 } { ptr @fld.str.977, i64 5 }] -@str.979 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.980 = private unnamed_addr constant [12 x i8] c"Accumulator\00", align 1 -@str.981 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.982 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.983 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.984 = private constant [6 x i8] c"total\00" -@field_names.985 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.984, i64 5 }] -@str.986 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.987 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.988 = private constant [5 x i8] c"read\00" -@fld.str.989 = private constant [6 x i8] c"write\00" -@fld.str.990 = private constant [7 x i8] c"append\00" -@fld.str.991 = private constant [11 x i8] c"read_write\00" -@field_names.992 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.988, i64 4 }, { ptr, i64 } { ptr @fld.str.989, i64 5 }, { ptr, i64 } { ptr @fld.str.990, i64 6 }, { ptr, i64 } { ptr @fld.str.991, i64 10 }] -@str.993 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.994 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.995 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.996 = private constant [4 x i8] c"set\00" -@fld.str.997 = private constant [8 x i8] c"current\00" -@fld.str.998 = private constant [4 x i8] c"end\00" -@field_names.999 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.996, i64 3 }, { ptr, i64 } { ptr @fld.str.997, i64 7 }, { ptr, i64 } { ptr @fld.str.998, i64 3 }] -@str.1000 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.1001 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.1002 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.1003 = private constant [6 x i8] c"null_\00" -@fld.str.1004 = private constant [6 x i8] c"bool_\00" -@fld.str.1005 = private constant [5 x i8] c"int_\00" -@fld.str.1006 = private constant [4 x i8] c"str\00" -@fld.str.1007 = private constant [6 x i8] c"array\00" -@fld.str.1008 = private constant [7 x i8] c"object\00" -@field_names.1009 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1003, i64 5 }, { ptr, i64 } { ptr @fld.str.1004, i64 5 }, { ptr, i64 } { ptr @fld.str.1005, i64 4 }, { ptr, i64 } { ptr @fld.str.1006, i64 3 }, { ptr, i64 } { ptr @fld.str.1007, i64 5 }, { ptr, i64 } { ptr @fld.str.1008, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.1013 = private constant [6 x i8] c"macos\00" -@fld.str.1014 = private constant [6 x i8] c"linux\00" -@fld.str.1015 = private constant [8 x i8] c"windows\00" -@fld.str.1016 = private constant [5 x i8] c"wasm\00" -@fld.str.1017 = private constant [4 x i8] c"ios\00" -@fld.str.1018 = private constant [8 x i8] c"android\00" -@fld.str.1019 = private constant [8 x i8] c"unknown\00" -@field_names.1020 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1013, i64 5 }, { ptr, i64 } { ptr @fld.str.1014, i64 5 }, { ptr, i64 } { ptr @fld.str.1015, i64 7 }, { ptr, i64 } { ptr @fld.str.1016, i64 4 }, { ptr, i64 } { ptr @fld.str.1017, i64 3 }, { ptr, i64 } { ptr @fld.str.1018, i64 7 }, { ptr, i64 } { ptr @fld.str.1019, i64 7 }] -@str.1021 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.1022 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.1023 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.1024 = private constant [8 x i8] c"aarch64\00" -@fld.str.1025 = private constant [7 x i8] c"x86_64\00" -@fld.str.1026 = private constant [7 x i8] c"wasm32\00" -@fld.str.1027 = private constant [7 x i8] c"wasm64\00" -@fld.str.1028 = private constant [8 x i8] c"unknown\00" -@field_names.1029 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1024, i64 7 }, { ptr, i64 } { ptr @fld.str.1025, i64 6 }, { ptr, i64 } { ptr @fld.str.1026, i64 6 }, { ptr, i64 } { ptr @fld.str.1027, i64 6 }, { ptr, i64 } { ptr @fld.str.1028, i64 7 }] -@str.1030 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.1031 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.1032 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1033 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1034 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1035 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1036 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1037 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1038 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1039 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1040 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1041 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1042 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1043 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1044 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1045 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1046 = private unnamed_addr constant [3 x i8] c", \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 -@str.1050 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1051 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.975 = private constant [7 x i8] c"status\00" +@fld.str.976 = private constant [13 x i8] c"content_type\00" +@fld.str.977 = private constant [14 x i8] c"extra_headers\00" +@fld.str.978 = private constant [5 x i8] c"body\00" +@field_names.979 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.975, i64 6 }, { ptr, i64 } { ptr @fld.str.976, i64 12 }, { ptr, i64 } { ptr @fld.str.977, i64 13 }, { ptr, i64 } { ptr @fld.str.978, i64 4 }] +@str.980 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.981 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.982 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.983 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.984 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.985 = private constant [3 x i8] c"fd\00" +@fld.str.986 = private constant [6 x i8] c"state\00" +@fld.str.987 = private constant [9 x i8] c"read_buf\00" +@fld.str.988 = private constant [9 x i8] c"read_len\00" +@fld.str.989 = private constant [8 x i8] c"out_buf\00" +@fld.str.990 = private constant [8 x i8] c"out_len\00" +@fld.str.991 = private constant [9 x i8] c"out_sent\00" +@fld.str.992 = private constant [9 x i8] c"deadline\00" +@fld.str.993 = private constant [7 x i8] c"served\00" +@fld.str.994 = private constant [12 x i8] c"close_after\00" +@fld.str.995 = private constant [12 x i8] c"write_armed\00" +@field_names.996 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.985, i64 2 }, { ptr, i64 } { ptr @fld.str.986, i64 5 }, { ptr, i64 } { ptr @fld.str.987, i64 8 }, { ptr, i64 } { ptr @fld.str.988, i64 8 }, { ptr, i64 } { ptr @fld.str.989, i64 7 }, { ptr, i64 } { ptr @fld.str.990, i64 7 }, { ptr, i64 } { ptr @fld.str.991, i64 8 }, { ptr, i64 } { ptr @fld.str.992, i64 8 }, { ptr, i64 } { ptr @fld.str.993, i64 6 }, { ptr, i64 } { ptr @fld.str.994, i64 11 }, { ptr, i64 } { ptr @fld.str.995, i64 11 }] +@str.997 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.998 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.999 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1000 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1001 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1002 = private constant [4 x i8] c"cfg\00" +@fld.str.1003 = private constant [5 x i8] c"loop\00" +@fld.str.1004 = private constant [4 x i8] c"lfd\00" +@fld.str.1005 = private constant [6 x i8] c"conns\00" +@fld.str.1006 = private constant [10 x i8] c"own_alloc\00" +@fld.str.1007 = private constant [8 x i8] c"handler\00" +@field_names.1008 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1002, i64 3 }, { ptr, i64 } { ptr @fld.str.1003, i64 4 }, { ptr, i64 } { ptr @fld.str.1004, i64 3 }, { ptr, i64 } { ptr @fld.str.1005, i64 5 }, { ptr, i64 } { ptr @fld.str.1006, i64 9 }, { ptr, i64 } { ptr @fld.str.1007, i64 7 }] +@str.1009 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1010 = private unnamed_addr constant [5 x i8] c"Mat4\00", align 1 +@str.1011 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1012 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1013 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1014 = private constant [5 x i8] c"data\00" +@field_names.1015 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1014, i64 4 }] +@str.1016 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1017 = private unnamed_addr constant [5 x i8] c"Vec2\00", align 1 +@str.1018 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1019 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1020 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1021 = private constant [2 x i8] c"x\00" +@fld.str.1022 = private constant [2 x i8] c"y\00" +@field_names.1023 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1021, i64 1 }, { ptr, i64 } { ptr @fld.str.1022, i64 1 }] +@str.1024 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1025 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 +@str.1026 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1027 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1028 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1029 = private constant [2 x i8] c"x\00" +@fld.str.1030 = private constant [2 x i8] c"y\00" +@field_names.1031 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1029, i64 1 }, { ptr, i64 } { ptr @fld.str.1030, i64 1 }] +@str.1032 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1033 = private unnamed_addr constant [8 x i8] c"Counter\00", align 1 +@str.1034 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1035 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1036 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1037 = private constant [4 x i8] c"ctx\00" +@fld.str.1038 = private constant [9 x i8] c"__vtable\00" +@field_names.1039 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1037, i64 3 }, { ptr, i64 } { ptr @fld.str.1038, i64 8 }] +@str.1040 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1041 = private unnamed_addr constant [18 x i8] c"__Counter__Vtable\00", align 1 +@str.1042 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1043 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1044 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1045 = private constant [4 x i8] c"inc\00" +@fld.str.1046 = private constant [4 x i8] c"get\00" +@field_names.1047 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1045, i64 3 }, { ptr, i64 } { ptr @fld.str.1046, i64 3 }] +@str.1048 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1049 = private unnamed_addr constant [9 x i8] c"Summable\00", align 1 +@str.1050 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1051 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.1052 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1053 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1054 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1055 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1056 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1057 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1058 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.1061 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1062 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1063 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1064 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1065 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1066 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.1053 = private constant [4 x i8] c"ctx\00" +@fld.str.1054 = private constant [9 x i8] c"__vtable\00" +@field_names.1055 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1053, i64 3 }, { 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 [19 x i8] c"__Summable__Vtable\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 [4 x i8] c"sum\00" +@field_names.1062 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1061, i64 3 }] +@str.1063 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1064 = private unnamed_addr constant [14 x i8] c"SimpleCounter\00", align 1 +@str.1065 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1066 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.1067 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1068 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.1069 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.1070 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.1071 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1072 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.1073 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1074 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1075 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.1076 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1077 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1078 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.1079 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1080 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1081 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.1082 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1083 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1084 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.1085 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1086 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1087 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.1088 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1089 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1090 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.1091 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1092 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1093 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.1094 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1095 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1096 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.1097 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1098 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1099 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.1100 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1101 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1102 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.1103 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1104 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1105 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.1106 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1107 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1108 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.1109 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1110 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1111 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.1112 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1113 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1114 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.1115 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1116 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1117 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.1118 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1119 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1120 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.1121 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1122 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1123 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.1124 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1125 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1126 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.1127 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1128 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1129 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.1130 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1131 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1132 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.1133 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1134 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1135 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.1136 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1137 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1138 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.1139 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1140 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1141 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.1142 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1143 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1144 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.1145 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1146 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1147 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.1148 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1149 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1150 = private unnamed_addr constant [15 x i8] c"*SimpleCounter\00", align 1 -@str.1151 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1152 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1153 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 -@str.1154 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1155 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1156 = private unnamed_addr constant [13 x i8] c"*Accumulator\00", align 1 -@str.1157 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1158 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1159 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.1160 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1161 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1162 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.1163 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1164 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1165 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 -@str.1166 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1167 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1168 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 -@str.1169 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1170 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1171 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 -@str.1172 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1173 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1174 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 -@str.1175 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1176 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1177 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 -@str.1178 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1179 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1180 = private unnamed_addr constant [9 x i8] c"*Counter\00", align 1 -@str.1181 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1182 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1183 = private unnamed_addr constant [16 x i8] c"**SimpleCounter\00", align 1 -@str.1184 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1185 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1186 = private unnamed_addr constant [19 x i8] c"*__Counter__Vtable\00", align 1 -@str.1187 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1188 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1189 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 -@str.1190 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1191 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1192 = private unnamed_addr constant [7 x i8] c"*Adder\00", align 1 -@str.1193 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1194 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1195 = private unnamed_addr constant [14 x i8] c"**Accumulator\00", align 1 -@str.1196 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.1197 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@fld.str.1068 = private constant [4 x i8] c"val\00" +@field_names.1069 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1068, i64 3 }] +@str.1070 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1071 = private unnamed_addr constant [6 x i8] c"Adder\00", align 1 +@str.1072 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1073 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1074 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1075 = private constant [4 x i8] c"ctx\00" +@fld.str.1076 = private constant [4 x i8] c"add\00" +@fld.str.1077 = private constant [6 x i8] c"value\00" +@field_names.1078 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1075, i64 3 }, { ptr, i64 } { ptr @fld.str.1076, i64 3 }, { ptr, i64 } { ptr @fld.str.1077, i64 5 }] +@str.1079 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1080 = private unnamed_addr constant [12 x i8] c"Accumulator\00", align 1 +@str.1081 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.1082 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.1083 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.1084 = private constant [6 x i8] c"total\00" +@field_names.1085 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1084, i64 5 }] +@str.1086 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.1087 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1088 = private constant [5 x i8] c"read\00" +@fld.str.1089 = private constant [6 x i8] c"write\00" +@fld.str.1090 = private constant [7 x i8] c"append\00" +@fld.str.1091 = private constant [11 x i8] c"read_write\00" +@field_names.1092 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1088, i64 4 }, { ptr, i64 } { ptr @fld.str.1089, i64 5 }, { ptr, i64 } { ptr @fld.str.1090, i64 6 }, { ptr, i64 } { ptr @fld.str.1091, i64 10 }] +@str.1093 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1094 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1095 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1096 = private constant [4 x i8] c"set\00" +@fld.str.1097 = private constant [8 x i8] c"current\00" +@fld.str.1098 = private constant [4 x i8] c"end\00" +@field_names.1099 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1096, i64 3 }, { ptr, i64 } { ptr @fld.str.1097, i64 7 }, { ptr, i64 } { ptr @fld.str.1098, i64 3 }] +@str.1100 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1101 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1102 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1103 = private constant [6 x i8] c"null_\00" +@fld.str.1104 = private constant [6 x i8] c"bool_\00" +@fld.str.1105 = private constant [5 x i8] c"int_\00" +@fld.str.1106 = private constant [4 x i8] c"str\00" +@fld.str.1107 = private constant [6 x i8] c"array\00" +@fld.str.1108 = private constant [7 x i8] c"object\00" +@field_names.1109 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1103, i64 5 }, { ptr, i64 } { ptr @fld.str.1104, i64 5 }, { ptr, i64 } { ptr @fld.str.1105, i64 4 }, { ptr, i64 } { ptr @fld.str.1106, i64 3 }, { ptr, i64 } { ptr @fld.str.1107, i64 5 }, { ptr, i64 } { ptr @fld.str.1108, i64 6 }] +@str.1110 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1111 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1112 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.1113 = private constant [6 x i8] c"macos\00" +@fld.str.1114 = private constant [6 x i8] c"linux\00" +@fld.str.1115 = private constant [8 x i8] c"windows\00" +@fld.str.1116 = private constant [5 x i8] c"wasm\00" +@fld.str.1117 = private constant [4 x i8] c"ios\00" +@fld.str.1118 = private constant [8 x i8] c"android\00" +@fld.str.1119 = private constant [8 x i8] c"unknown\00" +@field_names.1120 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1113, i64 5 }, { ptr, i64 } { ptr @fld.str.1114, i64 5 }, { ptr, i64 } { ptr @fld.str.1115, i64 7 }, { ptr, i64 } { ptr @fld.str.1116, i64 4 }, { ptr, i64 } { ptr @fld.str.1117, i64 3 }, { ptr, i64 } { ptr @fld.str.1118, i64 7 }, { ptr, i64 } { ptr @fld.str.1119, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.1124 = private constant [8 x i8] c"aarch64\00" +@fld.str.1125 = private constant [7 x i8] c"x86_64\00" +@fld.str.1126 = private constant [7 x i8] c"wasm32\00" +@fld.str.1127 = private constant [7 x i8] c"wasm64\00" +@fld.str.1128 = private constant [8 x i8] c"unknown\00" +@field_names.1129 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.1124, i64 7 }, { ptr, i64 } { ptr @fld.str.1125, i64 6 }, { ptr, i64 } { ptr @fld.str.1126, i64 6 }, { ptr, i64 } { ptr @fld.str.1127, i64 6 }, { ptr, i64 } { ptr @fld.str.1128, i64 7 }] +@str.1130 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.1131 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.1132 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1133 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1134 = private unnamed_addr constant [3 x i8] c", \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 +@str.1138 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1139 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1140 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1141 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1142 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1143 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1144 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1145 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1146 = private unnamed_addr constant [3 x i8] c", \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 +@str.1150 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1151 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1152 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1153 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1154 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1155 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1156 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1157 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1158 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1159 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1160 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1161 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.1164 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1165 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1166 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1167 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1168 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.1169 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.1170 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.1171 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1172 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 +@str.1173 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1174 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1175 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.1176 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1177 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1178 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.1179 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1180 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1181 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.1182 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1183 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1184 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.1185 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1186 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1187 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.1188 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1189 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1190 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.1191 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1192 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1193 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.1194 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1195 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1196 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.1197 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1198 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1199 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1200 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1199 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.1200 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1201 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1202 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.1203 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1204 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1205 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.1206 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1207 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1208 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.1209 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1210 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1211 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.1212 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1213 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1214 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.1215 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1216 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1217 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.1218 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1219 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1220 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.1221 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1222 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1223 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.1224 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1225 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1226 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.1227 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1228 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1229 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.1230 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1231 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1232 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.1233 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1234 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1235 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.1236 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1237 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1238 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.1239 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1240 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1241 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.1242 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1243 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1244 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.1245 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1246 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1247 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.1248 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1249 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1250 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.1251 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1252 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1253 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.1254 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1255 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1256 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.1257 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1258 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1259 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.1260 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1261 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1262 = private unnamed_addr constant [15 x i8] c"*SimpleCounter\00", align 1 +@str.1263 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1264 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1265 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 +@str.1266 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1267 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1268 = private unnamed_addr constant [13 x i8] c"*Accumulator\00", align 1 +@str.1269 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1270 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1271 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.1272 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1273 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1274 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.1275 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1276 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1277 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.1278 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1279 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1280 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.1281 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1282 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1283 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.1284 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1285 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1286 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.1287 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1288 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1289 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.1290 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1291 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1292 = private unnamed_addr constant [9 x i8] c"*Counter\00", align 1 +@str.1293 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1294 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1295 = private unnamed_addr constant [16 x i8] c"**SimpleCounter\00", align 1 +@str.1296 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1297 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1298 = private unnamed_addr constant [19 x i8] c"*__Counter__Vtable\00", align 1 +@str.1299 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1300 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1301 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.1302 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1303 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1304 = private unnamed_addr constant [7 x i8] c"*Adder\00", align 1 +@str.1305 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1306 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1307 = private unnamed_addr constant [14 x i8] c"**Accumulator\00", align 1 +@str.1308 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.1309 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1310 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1311 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1312 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1313 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -995,7 +1091,7 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.367, i64 1 } + ret { ptr, i64 } { ptr @str.383, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 @@ -1112,7 +1208,7 @@ if.else.79: ; preds = %entry br label %if.merge.80 if.merge.80: ; preds = %if.else.79, %if.then.78 - %bp = phi { ptr, i64 } [ { ptr @str.368, i64 4 }, %if.then.78 ], [ { ptr @str.369, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.384, i64 4 }, %if.then.78 ], [ { ptr @str.385, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1281,38 +1377,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.484 + br label %while.hdr.518 -while.hdr.484: ; preds = %if.merge.489, %entry +while.hdr.518: ; preds = %if.merge.523, %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.485, label %while.exit.486 + br i1 %icmp, label %while.body.519, label %while.exit.520 -while.body.485: ; preds = %while.hdr.484 +while.body.519: ; preds = %while.hdr.518 %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.487, label %if.else.488 + br i1 %icmpN, label %if.then.521, label %if.else.522 -while.exit.486: ; preds = %while.hdr.484 +while.exit.520: ; preds = %while.hdr.518 ret void -if.then.487: ; preds = %while.body.485 +if.then.521: ; preds = %while.body.519 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.489 + br label %if.merge.523 -if.else.488: ; preds = %while.body.485 +if.else.522: ; preds = %while.body.519 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.489 + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi i64 [ %addN, %if.then.487 ], [ %addN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi i64 [ %addN, %if.then.521 ], [ %addN, %if.else.522 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1325,7 +1421,7 @@ if.merge.489: ; preds = %if.else.488, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.484 + br label %while.hdr.518 } ; Function Attrs: nounwind @@ -1438,12 +1534,12 @@ entry: 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.482, label %if.merge.483 + br i1 %icmp, label %if.then.516, label %if.merge.517 -if.then.482: ; preds = %entry - ret { ptr, i64 } { ptr @str.370, i64 1 } +if.then.516: ; preds = %entry + ret { ptr, i64 } { ptr @str.386, i64 1 } -if.merge.483: ; preds = %entry +if.merge.517: ; 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 @@ -1466,14 +1562,14 @@ if.merge.483: ; preds = %entry %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.490 + br label %while.hdr.524 -while.hdr.490: ; preds = %if.merge.494, %if.merge.483 +while.hdr.524: ; preds = %if.merge.528, %if.merge.517 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.491, label %while.exit.492 + br i1 %icmpN, label %while.body.525, label %while.exit.526 -while.body.491: ; preds = %while.hdr.490 +while.body.525: ; preds = %while.hdr.524 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1481,9 +1577,9 @@ while.body.491: ; preds = %while.hdr.490 %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.493, label %if.merge.494 + br i1 %icmpN, label %if.then.527, label %if.merge.528 -while.exit.492: ; preds = %if.then.493, %while.hdr.490 +while.exit.526: ; preds = %if.then.527, %while.hdr.524 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1491,14 +1587,14 @@ while.exit.492: ; preds = %if.then.493, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.493: ; preds = %while.body.491 - br label %while.exit.492 +if.then.527: ; preds = %while.body.525 + br label %while.exit.526 -if.merge.494: ; preds = %while.body.491 +if.merge.528: ; preds = %while.body.525 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.490 + br label %while.hdr.524 } ; Function Attrs: nounwind @@ -1592,7 +1688,7 @@ entry: %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.371, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.387, i64 3 }, ptr %allocaN, align 8 %load = load { i64, i64 }, ptr %alloca, align 8 %sg = extractvalue { i64, i64 } %load, 0 %ba.val = insertvalue { i64, i64 } { i64 13, i64 undef }, i64 %sg, 1 @@ -1649,13 +1745,18 @@ entry: i64 111, label %match.arm.43 i64 112, label %match.arm.43 i64 113, label %match.arm.43 - i64 114, label %match.arm.43 i64 115, label %match.arm.43 - i64 116, label %match.arm.43 - i64 117, label %match.arm.43 - i64 118, label %match.arm.43 - i64 121, label %match.arm.43 - i64 122, label %match.arm.43 + i64 119, label %match.arm.43 + i64 123, label %match.arm.43 + i64 124, label %match.arm.43 + i64 125, label %match.arm.43 + i64 126, label %match.arm.43 + i64 127, label %match.arm.43 + i64 128, label %match.arm.43 + i64 129, label %match.arm.43 + i64 130, label %match.arm.43 + i64 133, label %match.arm.43 + i64 134, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1666,19 +1767,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 110, label %match.arm.47 - i64 135, label %match.arm.47 + i64 122, label %match.arm.47 + i64 147, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 127, label %match.arm.48 + i64 139, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1705,22 +1807,26 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 - i64 123, label %match.arm.49 - i64 124, label %match.arm.49 - i64 125, label %match.arm.49 - i64 126, label %match.arm.49 - i64 128, label %match.arm.49 - i64 129, label %match.arm.49 - i64 130, label %match.arm.49 + i64 114, label %match.arm.49 + i64 116, label %match.arm.49 + i64 117, label %match.arm.49 + i64 121, label %match.arm.49 i64 131, label %match.arm.49 i64 132, label %match.arm.49 - i64 133, label %match.arm.49 - i64 134, label %match.arm.49 + i64 135, label %match.arm.49 i64 136, label %match.arm.49 i64 137, label %match.arm.49 i64 138, label %match.arm.49 + i64 140, label %match.arm.49 + i64 141, label %match.arm.49 + i64 142, label %match.arm.49 + i64 143, label %match.arm.49 + i64 144, label %match.arm.49 + i64 145, label %match.arm.49 + i64 146, label %match.arm.49 + i64 148, label %match.arm.49 + i64 149, label %match.arm.49 + i64 150, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1729,12 +1835,12 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.618, %dispatch.merge.435, %dispatch.merge.397, %dispatch.merge.353, %dispatch.merge.336, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.664, %dispatch.merge.465, %dispatch.merge.427, %dispatch.merge.383, %dispatch.merge.366, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.372, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.388, i64 0 }, ptr %allocaN, align 8 br label %match.merge.37 match.arm.39: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry @@ -1743,7 +1849,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [214 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [232 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1771,7 +1877,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1809,35 +1915,40 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 111, label %dispatch.case.126 i64 112, label %dispatch.case.127 i64 113, label %dispatch.case.128 - i64 114, label %dispatch.case.129 - i64 115, label %dispatch.case.130 - i64 116, label %dispatch.case.131 - i64 117, label %dispatch.case.132 - i64 118, label %dispatch.case.133 - i64 121, label %dispatch.case.134 - i64 122, label %dispatch.case.135 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 123, label %dispatch.case.131 + i64 124, label %dispatch.case.132 + i64 125, label %dispatch.case.133 + i64 126, label %dispatch.case.134 + i64 127, label %dispatch.case.135 + i64 128, label %dispatch.case.136 + i64 129, label %dispatch.case.137 + i64 130, label %dispatch.case.138 + i64 133, label %dispatch.case.139 + i64 134, label %dispatch.case.140 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.337 [ - i64 38, label %dispatch.case.338 - i64 39, label %dispatch.case.339 - i64 58, label %dispatch.case.340 - i64 74, label %dispatch.case.341 - i64 75, label %dispatch.case.342 + switch i64 %ua.raw20, label %dispatch.default.367 [ + i64 38, label %dispatch.case.368 + i64 39, label %dispatch.case.369 + i64 58, label %dispatch.case.370 + i64 74, label %dispatch.case.371 + i64 75, label %dispatch.case.372 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1849,88 +1960,92 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.354 [ - i64 23, label %dispatch.case.355 - i64 85, label %dispatch.case.356 - i64 91, label %dispatch.case.357 - i64 92, label %dispatch.case.358 - i64 96, label %dispatch.case.359 - i64 110, label %dispatch.case.360 - i64 135, label %dispatch.case.361 + switch i64 %ua.raw29, label %dispatch.default.384 [ + i64 23, label %dispatch.case.385 + i64 85, label %dispatch.case.386 + i64 91, label %dispatch.case.387 + i64 92, label %dispatch.case.388 + i64 96, label %dispatch.case.389 + i64 122, label %dispatch.case.390 + i64 147, label %dispatch.case.391 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.398 [ - i64 24, label %dispatch.case.399 - i64 64, label %dispatch.case.400 - i64 81, label %dispatch.case.401 - i64 89, label %dispatch.case.402 - i64 109, label %dispatch.case.403 - i64 127, label %dispatch.case.404 + switch i64 %ua.raw33, label %dispatch.default.428 [ + i64 24, label %dispatch.case.429 + i64 64, label %dispatch.case.430 + i64 81, label %dispatch.case.431 + i64 89, label %dispatch.case.432 + i64 109, label %dispatch.case.433 + i64 139, label %dispatch.case.434 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.436 [ - i64 19, label %dispatch.case.437 - i64 26, label %dispatch.case.438 - i64 28, label %dispatch.case.439 - i64 30, label %dispatch.case.440 - i64 32, label %dispatch.case.441 - i64 33, label %dispatch.case.442 - i64 35, label %dispatch.case.443 - i64 37, label %dispatch.case.444 - i64 41, label %dispatch.case.445 - i64 48, label %dispatch.case.446 - i64 50, label %dispatch.case.447 - i64 51, label %dispatch.case.448 - i64 60, label %dispatch.case.449 - i64 61, label %dispatch.case.450 - i64 62, label %dispatch.case.451 - i64 63, label %dispatch.case.452 - i64 66, label %dispatch.case.453 - i64 71, label %dispatch.case.454 - i64 78, label %dispatch.case.455 - i64 87, label %dispatch.case.456 - i64 90, label %dispatch.case.457 - i64 94, label %dispatch.case.458 - i64 98, label %dispatch.case.459 - i64 101, label %dispatch.case.460 - i64 102, label %dispatch.case.461 - i64 107, label %dispatch.case.462 - i64 119, label %dispatch.case.463 - i64 120, label %dispatch.case.464 - i64 123, label %dispatch.case.465 - i64 124, label %dispatch.case.466 - i64 125, label %dispatch.case.467 - i64 126, label %dispatch.case.468 - i64 128, label %dispatch.case.469 - i64 129, label %dispatch.case.470 - i64 130, label %dispatch.case.471 - i64 131, label %dispatch.case.472 - i64 132, label %dispatch.case.473 - i64 133, label %dispatch.case.474 - i64 134, label %dispatch.case.475 - i64 136, label %dispatch.case.476 - i64 137, label %dispatch.case.477 - i64 138, label %dispatch.case.478 + switch i64 %ua.raw37, label %dispatch.default.466 [ + i64 19, label %dispatch.case.467 + i64 26, label %dispatch.case.468 + i64 28, label %dispatch.case.469 + i64 30, label %dispatch.case.470 + i64 32, label %dispatch.case.471 + i64 33, label %dispatch.case.472 + i64 35, label %dispatch.case.473 + i64 37, label %dispatch.case.474 + i64 41, label %dispatch.case.475 + i64 48, label %dispatch.case.476 + i64 50, label %dispatch.case.477 + i64 51, label %dispatch.case.478 + i64 60, label %dispatch.case.479 + i64 61, label %dispatch.case.480 + i64 62, label %dispatch.case.481 + i64 63, label %dispatch.case.482 + i64 66, label %dispatch.case.483 + i64 71, label %dispatch.case.484 + i64 78, label %dispatch.case.485 + i64 87, label %dispatch.case.486 + i64 90, label %dispatch.case.487 + i64 94, label %dispatch.case.488 + i64 98, label %dispatch.case.489 + i64 101, label %dispatch.case.490 + i64 102, label %dispatch.case.491 + i64 107, label %dispatch.case.492 + i64 114, label %dispatch.case.493 + i64 116, label %dispatch.case.494 + i64 117, label %dispatch.case.495 + i64 121, label %dispatch.case.496 + i64 131, label %dispatch.case.497 + i64 132, label %dispatch.case.498 + i64 135, label %dispatch.case.499 + i64 136, label %dispatch.case.500 + i64 137, label %dispatch.case.501 + i64 138, label %dispatch.case.502 + i64 140, label %dispatch.case.503 + i64 141, label %dispatch.case.504 + i64 142, label %dispatch.case.505 + i64 143, label %dispatch.case.506 + i64 144, label %dispatch.case.507 + i64 145, label %dispatch.case.508 + i64 146, label %dispatch.case.509 + i64 148, label %dispatch.case.510 + i64 149, label %dispatch.case.511 + i64 150, label %dispatch.case.512 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.619 [ - i64 42, label %dispatch.case.620 - i64 43, label %dispatch.case.621 - i64 45, label %dispatch.case.622 - i64 47, label %dispatch.case.623 - i64 95, label %dispatch.case.624 + switch i64 %ua.raw41, label %dispatch.default.665 [ + i64 42, label %dispatch.case.666 + i64 43, label %dispatch.case.667 + i64 45, label %dispatch.case.668 + i64 47, label %dispatch.case.669 + i64 95, label %dispatch.case.670 ] match.arm.51: ; preds = %entry @@ -1939,7 +2054,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [214 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [232 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1984,13 +2099,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.605, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.641, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2236,596 +2351,664 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { [16 x float] }, ptr %ua.ptr181, align 4 - %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { float, float }, ptr %ua.ptr185, align 4 - %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { i32, i32 }, ptr %ua.ptr189, align 4 - %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { ptr, ptr }, ptr %ua.ptr193, align 8 - %callN = call { ptr, i64 } @struct_to_string__Counter(ptr %0, { ptr, ptr } %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.130: ; preds = %match.arm.43 %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr - %ua.load198 = load { ptr, ptr }, ptr %ua.ptr197, align 8 - %callN = call { ptr, i64 } @struct_to_string____Counter__Vtable(ptr %0, { ptr, ptr } %ua.load198) + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.131: ; preds = %match.arm.43 %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr - %ua.load202 = load { ptr, ptr }, ptr %ua.ptr201, align 8 - %callN = call { ptr, i64 } @struct_to_string__Summable(ptr %0, { ptr, ptr } %ua.load202) + %ua.load202 = load { [16 x float] }, ptr %ua.ptr201, align 4 + %callN = call { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %ua.load202) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.132: ; preds = %match.arm.43 %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr - %ua.load206 = load { ptr }, ptr %ua.ptr205, align 8 - %callN = call { ptr, i64 } @struct_to_string____Summable__Vtable(ptr %0, { ptr } %ua.load206) + %ua.load206 = load { float, float }, ptr %ua.ptr205, align 4 + %callN = call { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %ua.load206) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.133: ; preds = %match.arm.43 %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr - %ua.load210 = load { i32 }, ptr %ua.ptr209, align 4 - %callN = call { ptr, i64 } @struct_to_string__SimpleCounter(ptr %0, { i32 } %ua.load210) + %ua.load210 = load { i32, i32 }, ptr %ua.ptr209, align 4 + %callN = call { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %ua.load210) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.134: ; preds = %match.arm.43 %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr - %ua.load214 = load { ptr, ptr, ptr }, ptr %ua.ptr213, align 8 - %callN = call { ptr, i64 } @struct_to_string__Adder(ptr %0, { ptr, ptr, ptr } %ua.load214) + %ua.load214 = load { ptr, ptr }, ptr %ua.ptr213, align 8 + %callN = call { ptr, i64 } @struct_to_string__Counter(ptr %0, { ptr, ptr } %ua.load214) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.135: ; preds = %match.arm.43 %ua.raw216 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr217 = inttoptr i64 %ua.raw216 to ptr - %ua.load218 = load { i32 }, ptr %ua.ptr217, align 4 - %callN = call { ptr, i64 } @struct_to_string__Accumulator(ptr %0, { i32 } %ua.load218) + %ua.load218 = load { ptr, ptr }, ptr %ua.ptr217, align 8 + %callN = call { ptr, i64 } @struct_to_string____Counter__Vtable(ptr %0, { ptr, ptr } %ua.load218) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.336: ; preds = %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.default.337 +dispatch.case.136: ; preds = %match.arm.43 + %ua.raw220 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr221 = inttoptr i64 %ua.raw220 to ptr + %ua.load222 = load { ptr, ptr }, ptr %ua.ptr221, align 8 + %callN = call { ptr, i64 } @struct_to_string__Summable(ptr %0, { ptr, ptr } %ua.load222) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.137: ; preds = %match.arm.43 + %ua.raw224 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr225 = inttoptr i64 %ua.raw224 to ptr + %ua.load226 = load { ptr }, ptr %ua.ptr225, align 8 + %callN = call { ptr, i64 } @struct_to_string____Summable__Vtable(ptr %0, { ptr } %ua.load226) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.138: ; preds = %match.arm.43 + %ua.raw228 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr229 = inttoptr i64 %ua.raw228 to ptr + %ua.load230 = load { i32 }, ptr %ua.ptr229, align 4 + %callN = call { ptr, i64 } @struct_to_string__SimpleCounter(ptr %0, { i32 } %ua.load230) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.139: ; preds = %match.arm.43 + %ua.raw232 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr233 = inttoptr i64 %ua.raw232 to ptr + %ua.load234 = load { ptr, ptr, ptr }, ptr %ua.ptr233, align 8 + %callN = call { ptr, i64 } @struct_to_string__Adder(ptr %0, { ptr, ptr, ptr } %ua.load234) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.140: ; preds = %match.arm.43 + %ua.raw236 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr237 = inttoptr i64 %ua.raw236 to ptr + %ua.load238 = load { i32 }, ptr %ua.ptr237, align 4 + %callN = call { ptr, i64 } @struct_to_string__Accumulator(ptr %0, { i32 } %ua.load238) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.366: ; preds = %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.case.368, %dispatch.default.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.337: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.606, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.336 +dispatch.default.367: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.642, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.366 -dispatch.case.338: ; preds = %match.arm.44 - %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw221) +dispatch.case.368: ; preds = %match.arm.44 + %ua.raw241 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.case.339: ; preds = %match.arm.44 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw223) +dispatch.case.369: ; preds = %match.arm.44 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw243) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.case.340: ; preds = %match.arm.44 - %ua.raw225 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr226 = inttoptr i64 %ua.raw225 to ptr - %ua.load227 = load { i64, [24 x i8] }, ptr %ua.ptr226, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load227) +dispatch.case.370: ; preds = %match.arm.44 + %ua.raw245 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr246 = inttoptr i64 %ua.raw245 to ptr + %ua.load247 = load { i64, [24 x i8] }, ptr %ua.ptr246, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load247) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.case.341: ; preds = %match.arm.44 - %ua.raw229 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw229) +dispatch.case.371: ; preds = %match.arm.44 + %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw249) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.case.342: ; preds = %match.arm.44 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw231) +dispatch.case.372: ; preds = %match.arm.44 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw251) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.336 + br label %dispatch.merge.366 -dispatch.merge.353: ; preds = %dispatch.case.361, %dispatch.case.360, %dispatch.case.359, %dispatch.case.358, %dispatch.case.357, %dispatch.case.356, %dispatch.case.355, %dispatch.default.354 +dispatch.merge.383: ; preds = %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.default.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.354: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.607, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.353 +dispatch.default.384: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.643, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.383 -dispatch.case.355: ; preds = %match.arm.47 - %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr - %ua.load236 = load [4 x i64], ptr %ua.ptr235, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load236) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 - -dispatch.case.356: ; preds = %match.arm.47 - %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr - %ua.load240 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr239, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load240) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 - -dispatch.case.357: ; preds = %match.arm.47 - %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr - %ua.load244 = load [8 x i64], ptr %ua.ptr243, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load244) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 - -dispatch.case.358: ; preds = %match.arm.47 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr - %ua.load248 = load [64 x i8], ptr %ua.ptr247, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load248) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 - -dispatch.case.359: ; preds = %match.arm.47 - %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr - %ua.load252 = load [64 x i64], ptr %ua.ptr251, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load252) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 - -dispatch.case.360: ; preds = %match.arm.47 +dispatch.case.385: ; preds = %match.arm.47 %ua.raw254 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr255 = inttoptr i64 %ua.raw254 to ptr - %ua.load256 = load [16 x float], ptr %ua.ptr255, align 4 - %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load256) + %ua.load256 = load [4 x i64], ptr %ua.ptr255, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load256) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 + br label %dispatch.merge.383 -dispatch.case.361: ; preds = %match.arm.47 +dispatch.case.386: ; preds = %match.arm.47 %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr259 = inttoptr i64 %ua.raw258 to ptr - %ua.load260 = load [1 x { i64, i64 }], ptr %ua.ptr259, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load260) + %ua.load260 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr259, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load260) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.353 + br label %dispatch.merge.383 -dispatch.merge.397: ; preds = %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.default.398 +dispatch.case.387: ; preds = %match.arm.47 + %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr263 = inttoptr i64 %ua.raw262 to ptr + %ua.load264 = load [8 x i64], ptr %ua.ptr263, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load264) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.383 + +dispatch.case.388: ; preds = %match.arm.47 + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr267 = inttoptr i64 %ua.raw266 to ptr + %ua.load268 = load [64 x i8], ptr %ua.ptr267, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load268) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.383 + +dispatch.case.389: ; preds = %match.arm.47 + %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr271 = inttoptr i64 %ua.raw270 to ptr + %ua.load272 = load [64 x i64], ptr %ua.ptr271, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load272) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.383 + +dispatch.case.390: ; preds = %match.arm.47 + %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr275 = inttoptr i64 %ua.raw274 to ptr + %ua.load276 = load [16 x float], ptr %ua.ptr275, align 4 + %callN = call { ptr, i64 } @array_to_string__AR_16_f32(ptr %0, [16 x float] %ua.load276) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.383 + +dispatch.case.391: ; preds = %match.arm.47 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr279 = inttoptr i64 %ua.raw278 to ptr + %ua.load280 = load [1 x { i64, i64 }], ptr %ua.ptr279, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load280) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.383 + +dispatch.merge.427: ; preds = %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.default.428 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.398: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.608, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.397 +dispatch.default.428: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.644, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.427 -dispatch.case.399: ; preds = %match.arm.48 - %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr - %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 - -dispatch.case.400: ; preds = %match.arm.48 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr - %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 - -dispatch.case.401: ; preds = %match.arm.48 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr - %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load273) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 - -dispatch.case.402: ; preds = %match.arm.48 - %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr - %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 - -dispatch.case.403: ; preds = %match.arm.48 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr - %ua.load281 = load { ptr, i64 }, ptr %ua.ptr280, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 - -dispatch.case.404: ; preds = %match.arm.48 +dispatch.case.429: ; preds = %match.arm.48 %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr284 = inttoptr i64 %ua.raw283 to ptr %ua.load285 = load { ptr, i64 }, ptr %ua.ptr284, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load285) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load285) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.397 + br label %dispatch.merge.427 -dispatch.merge.435: ; preds = %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.default.436 +dispatch.case.430: ; preds = %match.arm.48 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr288 = inttoptr i64 %ua.raw287 to ptr + %ua.load289 = load { ptr, i64 }, ptr %ua.ptr288, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.427 + +dispatch.case.431: ; preds = %match.arm.48 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr292 = inttoptr i64 %ua.raw291 to ptr + %ua.load293 = load { ptr, i64 }, ptr %ua.ptr292, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load293) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.427 + +dispatch.case.432: ; preds = %match.arm.48 + %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr296 = inttoptr i64 %ua.raw295 to ptr + %ua.load297 = load { ptr, i64 }, ptr %ua.ptr296, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.427 + +dispatch.case.433: ; preds = %match.arm.48 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr300 = inttoptr i64 %ua.raw299 to ptr + %ua.load301 = load { ptr, i64 }, ptr %ua.ptr300, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.427 + +dispatch.case.434: ; preds = %match.arm.48 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr304 = inttoptr i64 %ua.raw303 to ptr + %ua.load305 = load { ptr, i64 }, ptr %ua.ptr304, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load305) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.427 + +dispatch.merge.465: ; preds = %dispatch.case.512, %dispatch.case.511, %dispatch.case.510, %dispatch.case.509, %dispatch.case.508, %dispatch.case.507, %dispatch.case.506, %dispatch.case.505, %dispatch.case.504, %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.case.499, %dispatch.case.498, %dispatch.case.497, %dispatch.case.496, %dispatch.case.495, %dispatch.case.494, %dispatch.case.493, %dispatch.case.492, %dispatch.case.491, %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.default.466 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.436: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.609, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.437: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.438: ; preds = %match.arm.49 - %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 - %iNp291 = inttoptr i64 %ua.raw290 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp291) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.439: ; preds = %match.arm.49 - %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 - %iNp294 = inttoptr i64 %ua.raw293 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp294) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.440: ; preds = %match.arm.49 - %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 - %iNp297 = inttoptr i64 %ua.raw296 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp297) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.441: ; preds = %match.arm.49 - %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 - %iNp300 = inttoptr i64 %ua.raw299 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp300) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.442: ; preds = %match.arm.49 - %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 - %iNp303 = inttoptr i64 %ua.raw302 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp303) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.443: ; preds = %match.arm.49 - %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 - %iNp306 = inttoptr i64 %ua.raw305 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp306) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.444: ; preds = %match.arm.49 - %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 - %iNp309 = inttoptr i64 %ua.raw308 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp309) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.445: ; preds = %match.arm.49 - %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 - %iNp312 = inttoptr i64 %ua.raw311 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp312) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.446: ; preds = %match.arm.49 - %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 - %iNp315 = inttoptr i64 %ua.raw314 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp315) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.447: ; preds = %match.arm.49 - %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 - %iNp318 = inttoptr i64 %ua.raw317 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp318) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.448: ; preds = %match.arm.49 - %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 - %iNp321 = inttoptr i64 %ua.raw320 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp321) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.449: ; preds = %match.arm.49 - %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 - %iNp324 = inttoptr i64 %ua.raw323 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp324) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.450: ; preds = %match.arm.49 - %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 - %iNp327 = inttoptr i64 %ua.raw326 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp327) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.451: ; preds = %match.arm.49 - %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 - %iNp330 = inttoptr i64 %ua.raw329 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp330) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.452: ; preds = %match.arm.49 - %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 - %iNp333 = inttoptr i64 %ua.raw332 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp333) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.453: ; preds = %match.arm.49 - %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 - %iNp336 = inttoptr i64 %ua.raw335 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp336) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.454: ; preds = %match.arm.49 - %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 - %iNp339 = inttoptr i64 %ua.raw338 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp339) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.455: ; preds = %match.arm.49 - %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 - %iNp342 = inttoptr i64 %ua.raw341 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp342) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.456: ; preds = %match.arm.49 - %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 - %iNp345 = inttoptr i64 %ua.raw344 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp345) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.457: ; preds = %match.arm.49 - %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 - %iNp348 = inttoptr i64 %ua.raw347 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp348) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.458: ; preds = %match.arm.49 - %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 - %iNp351 = inttoptr i64 %ua.raw350 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp351) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.459: ; preds = %match.arm.49 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %iNp354 = inttoptr i64 %ua.raw353 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp354) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.460: ; preds = %match.arm.49 - %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 - %iNp357 = inttoptr i64 %ua.raw356 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp357) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.461: ; preds = %match.arm.49 - %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 - %iNp360 = inttoptr i64 %ua.raw359 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp360) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.462: ; preds = %match.arm.49 - %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 - %iNp363 = inttoptr i64 %ua.raw362 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp363) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.463: ; preds = %match.arm.49 - %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 - %iNp366 = inttoptr i64 %ua.raw365 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SimpleCounter(ptr %0, ptr %iNp366) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.464: ; preds = %match.arm.49 - %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 - %iNp369 = inttoptr i64 %ua.raw368 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp369) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.465: ; preds = %match.arm.49 - %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 - %iNp372 = inttoptr i64 %ua.raw371 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Accumulator(ptr %0, ptr %iNp372) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 - -dispatch.case.466: ; preds = %match.arm.49 - %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 - %iNp375 = inttoptr i64 %ua.raw374 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp375) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 +dispatch.default.466: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.645, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.465 dispatch.case.467: ; preds = %match.arm.49 - %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 - %iNp378 = inttoptr i64 %ua.raw377 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp378) + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.468: ; preds = %match.arm.49 - %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 - %iNp381 = inttoptr i64 %ua.raw380 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp381) + %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 + %iNp311 = inttoptr i64 %ua.raw310 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.469: ; preds = %match.arm.49 - %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 - %iNp384 = inttoptr i64 %ua.raw383 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp384) + %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 + %iNp314 = inttoptr i64 %ua.raw313 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.470: ; preds = %match.arm.49 - %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 - %iNp387 = inttoptr i64 %ua.raw386 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp387) + %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 + %iNp317 = inttoptr i64 %ua.raw316 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.471: ; preds = %match.arm.49 - %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 - %iNp390 = inttoptr i64 %ua.raw389 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp390) + %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 + %iNp320 = inttoptr i64 %ua.raw319 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp320) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.472: ; preds = %match.arm.49 - %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 - %iNp393 = inttoptr i64 %ua.raw392 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp393) + %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 + %iNp323 = inttoptr i64 %ua.raw322 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp323) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.473: ; preds = %match.arm.49 - %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 - %iNp396 = inttoptr i64 %ua.raw395 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Counter(ptr %0, ptr %iNp396) + %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 + %iNp326 = inttoptr i64 %ua.raw325 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.474: ; preds = %match.arm.49 - %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 - %iNp399 = inttoptr i64 %ua.raw398 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_SimpleCounter(ptr %0, ptr %iNp399) + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %iNp329 = inttoptr i64 %ua.raw328 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp329) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.475: ; preds = %match.arm.49 - %ua.raw401 = extractvalue { i64, i64 } %loadN, 1 - %iNp402 = inttoptr i64 %ua.raw401 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr___Counter__Vtable(ptr %0, ptr %iNp402) + %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 + %iNp332 = inttoptr i64 %ua.raw331 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp332) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.476: ; preds = %match.arm.49 - %ua.raw404 = extractvalue { i64, i64 } %loadN, 1 - %iNp405 = inttoptr i64 %ua.raw404 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp405) + %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 + %iNp335 = inttoptr i64 %ua.raw334 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp335) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.477: ; preds = %match.arm.49 - %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 - %iNp408 = inttoptr i64 %ua.raw407 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Adder(ptr %0, ptr %iNp408) + %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 + %iNp338 = inttoptr i64 %ua.raw337 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp338) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 dispatch.case.478: ; preds = %match.arm.49 - %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 - %iNp411 = inttoptr i64 %ua.raw410 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Accumulator(ptr %0, ptr %iNp411) + %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 + %iNp341 = inttoptr i64 %ua.raw340 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp341) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.435 + br label %dispatch.merge.465 -dispatch.merge.618: ; preds = %dispatch.case.624, %dispatch.case.623, %dispatch.case.622, %dispatch.case.621, %dispatch.case.620, %dispatch.default.619 +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 + %iNp344 = inttoptr i64 %ua.raw343 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp344) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.480: ; preds = %match.arm.49 + %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 + %iNp347 = inttoptr i64 %ua.raw346 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp347) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.481: ; preds = %match.arm.49 + %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 + %iNp350 = inttoptr i64 %ua.raw349 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp350) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.482: ; preds = %match.arm.49 + %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 + %iNp353 = inttoptr i64 %ua.raw352 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp353) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.483: ; preds = %match.arm.49 + %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 + %iNp356 = inttoptr i64 %ua.raw355 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp356) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.484: ; preds = %match.arm.49 + %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 + %iNp359 = inttoptr i64 %ua.raw358 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp359) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.485: ; preds = %match.arm.49 + %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 + %iNp362 = inttoptr i64 %ua.raw361 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp362) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.486: ; preds = %match.arm.49 + %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 + %iNp365 = inttoptr i64 %ua.raw364 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp365) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.487: ; preds = %match.arm.49 + %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 + %iNp368 = inttoptr i64 %ua.raw367 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp368) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.488: ; preds = %match.arm.49 + %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 + %iNp371 = inttoptr i64 %ua.raw370 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp371) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.489: ; preds = %match.arm.49 + %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 + %iNp374 = inttoptr i64 %ua.raw373 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp374) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.490: ; preds = %match.arm.49 + %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 + %iNp377 = inttoptr i64 %ua.raw376 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp377) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.491: ; preds = %match.arm.49 + %ua.raw379 = extractvalue { i64, i64 } %loadN, 1 + %iNp380 = inttoptr i64 %ua.raw379 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp380) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.492: ; preds = %match.arm.49 + %ua.raw382 = extractvalue { i64, i64 } %loadN, 1 + %iNp383 = inttoptr i64 %ua.raw382 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp383) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.493: ; preds = %match.arm.49 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %iNp386 = inttoptr i64 %ua.raw385 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp386) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.494: ; preds = %match.arm.49 + %ua.raw388 = extractvalue { i64, i64 } %loadN, 1 + %iNp389 = inttoptr i64 %ua.raw388 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp389) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.495: ; preds = %match.arm.49 + %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 + %iNp392 = inttoptr i64 %ua.raw391 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp392) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.496: ; preds = %match.arm.49 + %ua.raw394 = extractvalue { i64, i64 } %loadN, 1 + %iNp395 = inttoptr i64 %ua.raw394 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp395) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.497: ; preds = %match.arm.49 + %ua.raw397 = extractvalue { i64, i64 } %loadN, 1 + %iNp398 = inttoptr i64 %ua.raw397 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SimpleCounter(ptr %0, ptr %iNp398) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.498: ; preds = %match.arm.49 + %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 + %iNp401 = inttoptr i64 %ua.raw400 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %iNp401) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.499: ; preds = %match.arm.49 + %ua.raw403 = extractvalue { i64, i64 } %loadN, 1 + %iNp404 = inttoptr i64 %ua.raw403 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Accumulator(ptr %0, ptr %iNp404) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.500: ; preds = %match.arm.49 + %ua.raw406 = extractvalue { i64, i64 } %loadN, 1 + %iNp407 = inttoptr i64 %ua.raw406 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp407) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.501: ; preds = %match.arm.49 + %ua.raw409 = extractvalue { i64, i64 } %loadN, 1 + %iNp410 = inttoptr i64 %ua.raw409 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp410) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.502: ; preds = %match.arm.49 + %ua.raw412 = extractvalue { i64, i64 } %loadN, 1 + %iNp413 = inttoptr i64 %ua.raw412 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp413) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.503: ; preds = %match.arm.49 + %ua.raw415 = extractvalue { i64, i64 } %loadN, 1 + %iNp416 = inttoptr i64 %ua.raw415 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp416) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.504: ; preds = %match.arm.49 + %ua.raw418 = extractvalue { i64, i64 } %loadN, 1 + %iNp419 = inttoptr i64 %ua.raw418 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp419) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.505: ; preds = %match.arm.49 + %ua.raw421 = extractvalue { i64, i64 } %loadN, 1 + %iNp422 = inttoptr i64 %ua.raw421 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp422) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.506: ; preds = %match.arm.49 + %ua.raw424 = extractvalue { i64, i64 } %loadN, 1 + %iNp425 = inttoptr i64 %ua.raw424 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp425) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.507: ; preds = %match.arm.49 + %ua.raw427 = extractvalue { i64, i64 } %loadN, 1 + %iNp428 = inttoptr i64 %ua.raw427 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Counter(ptr %0, ptr %iNp428) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.508: ; preds = %match.arm.49 + %ua.raw430 = extractvalue { i64, i64 } %loadN, 1 + %iNp431 = inttoptr i64 %ua.raw430 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_SimpleCounter(ptr %0, ptr %iNp431) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.509: ; preds = %match.arm.49 + %ua.raw433 = extractvalue { i64, i64 } %loadN, 1 + %iNp434 = inttoptr i64 %ua.raw433 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr___Counter__Vtable(ptr %0, ptr %iNp434) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.510: ; preds = %match.arm.49 + %ua.raw436 = extractvalue { i64, i64 } %loadN, 1 + %iNp437 = inttoptr i64 %ua.raw436 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp437) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.511: ; preds = %match.arm.49 + %ua.raw439 = extractvalue { i64, i64 } %loadN, 1 + %iNp440 = inttoptr i64 %ua.raw439 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Adder(ptr %0, ptr %iNp440) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.case.512: ; preds = %match.arm.49 + %ua.raw442 = extractvalue { i64, i64 } %loadN, 1 + %iNp443 = inttoptr i64 %ua.raw442 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Accumulator(ptr %0, ptr %iNp443) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.465 + +dispatch.merge.664: ; preds = %dispatch.case.670, %dispatch.case.669, %dispatch.case.668, %dispatch.case.667, %dispatch.case.666, %dispatch.default.665 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.619: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.610, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.618 +dispatch.default.665: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.646, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.664 -dispatch.case.620: ; preds = %match.arm.50 - %ua.raw414 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr415 = inttoptr i64 %ua.raw414 to ptr - %ua.load416 = load { { i32 }, i1 }, ptr %ua.ptr415, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load416) +dispatch.case.666: ; preds = %match.arm.50 + %ua.raw446 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr447 = inttoptr i64 %ua.raw446 to ptr + %ua.load448 = load { { i32 }, i1 }, ptr %ua.ptr447, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load448) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.618 + br label %dispatch.merge.664 -dispatch.case.621: ; preds = %match.arm.50 - %ua.raw418 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr419 = inttoptr i64 %ua.raw418 to ptr - %ua.load420 = load { { ptr, i64 }, i1 }, ptr %ua.ptr419, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load420) +dispatch.case.667: ; preds = %match.arm.50 + %ua.raw450 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr451 = inttoptr i64 %ua.raw450 to ptr + %ua.load452 = load { { ptr, i64 }, i1 }, ptr %ua.ptr451, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load452) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.618 + br label %dispatch.merge.664 -dispatch.case.622: ; preds = %match.arm.50 - %ua.raw422 = extractvalue { i64, i64 } %loadN, 1 - %iNp423 = inttoptr i64 %ua.raw422 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp423) +dispatch.case.668: ; preds = %match.arm.50 + %ua.raw454 = extractvalue { i64, i64 } %loadN, 1 + %iNp455 = inttoptr i64 %ua.raw454 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp455) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.618 + br label %dispatch.merge.664 -dispatch.case.623: ; preds = %match.arm.50 - %ua.raw425 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr426 = inttoptr i64 %ua.raw425 to ptr - %ua.load427 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr426, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load427) +dispatch.case.669: ; preds = %match.arm.50 + %ua.raw457 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr458 = inttoptr i64 %ua.raw457 to ptr + %ua.load459 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr458, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load459) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.618 + br label %dispatch.merge.664 -dispatch.case.624: ; preds = %match.arm.50 - %ua.raw429 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr430 = inttoptr i64 %ua.raw429 to ptr - %ua.load431 = load { [64 x i8], i1 }, ptr %ua.ptr430, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load431) +dispatch.case.670: ; preds = %match.arm.50 + %ua.raw461 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr462 = inttoptr i64 %ua.raw461 to ptr + %ua.load463 = load { [64 x i8], i1 }, ptr %ua.ptr462, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load463) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.618 + br label %dispatch.merge.664 } ; Function Attrs: nounwind @@ -2834,7 +3017,7 @@ 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.611, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.647, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2930,7 +3113,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, 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 @@ -2938,7 +3121,7 @@ if.then.12: ; preds = %if.then.9 %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.613, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, 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 @@ -2948,13 +3131,13 @@ if.then.12: ; preds = %if.then.9 %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.614, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, 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 @@ -2962,7 +3145,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.616, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2976,7 +3159,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, 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 @@ -2984,7 +3167,7 @@ if.then.23: ; preds = %if.else.10 %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.618, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, 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 @@ -2995,7 +3178,7 @@ if.then.23: ; preds = %if.else.10 %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.619, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -3052,7 +3235,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, 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 @@ -3060,7 +3243,7 @@ if.then.32: ; preds = %if.then.29 %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.621, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, 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 @@ -3071,7 +3254,7 @@ if.then.32: ; preds = %if.then.29 %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.622, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -3091,7 +3274,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, 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 @@ -3099,7 +3282,7 @@ if.then.35: ; preds = %while.exit.2 %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.624, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, 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 @@ -3110,7 +3293,7 @@ if.then.35: ; preds = %while.exit.2 %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.625, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3943,6 +4126,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @Mat4.identity(ptr sret({ [16 x float] }), ptr) #0 @@ -4876,6 +5107,54 @@ declare i1 @expired.364(ptr, i64) #0 ; Function Attrs: nounwind declare i64 @remaining_ms.365(ptr, i64) #0 +; Function Attrs: nounwind +declare ptr @find_header.366(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare i1 @ascii_ieq.367(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @reason_for.368(ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.init.369(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.close.370(ptr, ptr) #0 + +; Function Attrs: nounwind +declare i64 @Server.free_slot.371(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.conn_close.372(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i32 @Server.tick.373(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.run.374(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.accept_ready.375(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @Server.read_more.376(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serve_buffered.377(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare i1 @Server.try_serve_one.378(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.serialize_response.379(ptr, ptr, i64, ptr, i1) #0 + +; Function Attrs: nounwind +declare void @Server.write_more.380(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close.381(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4889,7 +5168,7 @@ declare i32 @add(ptr, i32, i32) #0 declare i32 @mul(ptr, i32, i32) #0 ; Function Attrs: nounwind -declare i32 @add.366(ptr, i32, i32) #0 +declare i32 @add.382(ptr, i32, i32) #0 ; Function Attrs: nounwind define internal void @SimpleCounter.inc(ptr %0, ptr %1) #0 { @@ -5051,14 +5330,14 @@ entry: define internal void @print__ct_sb446f8dda4e4d2e__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.626, i64 26 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.662, i64 26 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.627, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.663, i64 0 }, ptr %allocaN, align 8 %load = 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 26) @@ -5074,7 +5353,7 @@ entry: ; 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.628, i64 26 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.664, i64 26 }) ret { ptr, i64 } %call } @@ -5122,7 +5401,7 @@ entry: define internal void @print__ct_sbdf493528d053170__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.629, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.665, i64 8 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -5138,7 +5417,7 @@ entry: %gepN = getelementptr inbounds { 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.630, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.666, 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) @@ -5166,7 +5445,7 @@ entry: ; 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.631, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.667, i64 8 }) ret { ptr, i64 } %call } @@ -5188,7 +5467,7 @@ entry: define internal void @print__ct_s35bfc3f99c7ed027__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.632, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.668, i64 8 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -5204,7 +5483,7 @@ entry: %gepN = getelementptr inbounds { 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.633, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.669, 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) @@ -5232,7 +5511,7 @@ entry: ; 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.634, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.670, i64 8 }) ret { ptr, i64 } %call } @@ -5266,7 +5545,7 @@ entry: define internal void @print__ct_s9619ba29713d8564__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.671, i64 8 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -5282,7 +5561,7 @@ entry: %gepN = getelementptr inbounds { 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.636, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.672, 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) @@ -5310,7 +5589,7 @@ entry: ; 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.637, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.673, i64 8 }) ret { ptr, i64 } %call } @@ -5338,7 +5617,7 @@ entry: define internal void @print__ct_s299c24782c1d67ee__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.674, i64 8 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -5354,7 +5633,7 @@ entry: %gepN = getelementptr inbounds { 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.639, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.675, 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) @@ -5382,7 +5661,7 @@ entry: ; 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.640, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.676, i64 8 }) ret { ptr, i64 } %call } @@ -5402,7 +5681,7 @@ entry: define internal void @print__ct_sf40ed4735476a9ee__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.641, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.677, i64 8 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -5418,7 +5697,7 @@ entry: %gepN = getelementptr inbounds { 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.642, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.678, 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) @@ -5446,7 +5725,7 @@ entry: ; 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.643, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.679, i64 8 }) ret { ptr, i64 } %call } @@ -5457,35 +5736,35 @@ entry: %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.644, i64 15 }, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 15 }, { 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %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.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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 @@ -5493,7 +5772,7 @@ if.merge.140: ; preds = %if.then.139, %while %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.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, 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 @@ -5513,31 +5792,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %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.140 +fv.case17: ; preds = %if.merge.145 %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.140 +fv.case20: ; preds = %if.merge.145 %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.140 +fv.case24: ; preds = %if.merge.145 %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 @@ -5550,43 +5829,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.652, i64 9 }, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 9 }, { ptr, i64 } { ptr @str.689, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %fv.merge, %entry +while.hdr.146: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.659, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.695, 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.660, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, 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 @@ -5605,24 +5884,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 -fv.default: ; preds = %if.merge.145 +fv.default: ; preds = %if.merge.150 br label %fv.merge -fv.case: ; preds = %if.merge.145 +fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.145 +fv.case17: ; preds = %if.merge.150 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.145 +fv.case21: ; preds = %if.merge.150 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -5635,43 +5914,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 7 }, { ptr, i64 } { ptr @str.662, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 7 }, { ptr, i64 } { ptr @str.698, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.667, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.703, 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.668, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, 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 %alloca, align 8 @@ -5689,19 +5968,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.150 +fv.case17: ; preds = %if.merge.155 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -5713,43 +5992,43 @@ 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.669, i64 10 }, { ptr, i64 } { ptr @str.670, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 10 }, { ptr, i64 } { ptr @str.706, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %if.merge.155, %entry +while.hdr.156: ; preds = %if.merge.160, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.673, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.709, 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.674, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5760,7 +6039,7 @@ if.merge.155: ; preds = %if.then.154, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 } ; Function Attrs: nounwind @@ -5768,43 +6047,43 @@ 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.675, i64 3 }, { ptr, i64 } { ptr @str.676, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 3 }, { ptr, i64 } { ptr @str.712, 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.156 + br label %while.hdr.161 -while.hdr.156: ; preds = %fv.merge, %entry +while.hdr.161: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.157, label %while.exit.158 + br i1 %icmp, label %while.body.162, label %while.exit.163 -while.body.157: ; preds = %while.hdr.156 +while.body.162: ; preds = %while.hdr.161 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 + br i1 %icmpN, label %if.then.164, label %if.merge.165 -while.exit.158: ; preds = %while.hdr.156 +while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) ret { ptr, i64 } %callN -if.then.159: ; preds = %while.body.157 +if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.678, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 + br label %if.merge.165 -if.merge.160: ; preds = %if.then.159, %while.body.157 +if.merge.165: ; preds = %if.then.164, %while.body.162 %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.680, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.716, 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.681, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, 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 @@ -5821,12 +6100,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.156 + br label %while.hdr.161 -fv.default: ; preds = %if.merge.160 +fv.default: ; preds = %if.merge.165 br label %fv.merge -fv.case: ; preds = %if.merge.160 +fv.case: ; preds = %if.merge.165 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -5837,43 +6116,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.682, i64 10 }, { ptr, i64 } { ptr @str.683, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 10 }, { ptr, i64 } { ptr @str.719, 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.161 + br label %while.hdr.166 -while.hdr.161: ; preds = %fv.merge, %entry +while.hdr.166: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.162, label %while.exit.163 + br i1 %icmp, label %while.body.167, label %while.exit.168 -while.body.162: ; preds = %while.hdr.161 +while.body.167: ; preds = %while.hdr.166 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.164, label %if.merge.165 + br i1 %icmpN, label %if.then.169, label %if.merge.170 -while.exit.163: ; preds = %while.hdr.161 +while.exit.168: ; preds = %while.hdr.166 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.684, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %callN -if.then.164: ; preds = %while.body.162 +if.then.169: ; preds = %while.body.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.165 + br label %if.merge.170 -if.merge.165: ; preds = %if.then.164, %while.body.162 +if.merge.170: ; preds = %if.then.169, %while.body.167 %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.688, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.724, 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.689, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, 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 @@ -5891,18 +6170,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.161 + br label %while.hdr.166 -fv.default: ; preds = %if.merge.165 +fv.default: ; preds = %if.merge.170 br label %fv.merge -fv.case: ; preds = %if.merge.165 +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -5914,91 +6193,7 @@ 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.690, i64 5 }, { ptr, i64 } { ptr @str.691, 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.166 - -while.hdr.166: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.167, label %while.exit.168 - -while.body.167: ; preds = %while.hdr.166 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 - -while.exit.168: ; preds = %while.hdr.166 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 1 }) - ret { ptr, i64 } %callN - -if.then.169: ; preds = %while.body.167 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 - -if.merge.170: ; preds = %if.then.169, %while.body.167 - %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.697, 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.698, 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.166 - -fv.default: ; preds = %if.merge.170 - br label %fv.merge - -fv.case: ; preds = %if.merge.170 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.170 - %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.170 - %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 21, 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.699, i64 8 }, { ptr, i64 } { ptr @str.700, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 5 }, { ptr, i64 } { ptr @str.727, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6017,27 +6212,27 @@ while.body.172: ; preds = %while.hdr.171 while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.701, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) ret { ptr, i64 } %callN if.then.174: ; preds = %while.body.172 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.175 if.merge.175: ; preds = %if.then.174, %while.body.172 %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.706, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.733, 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.707, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, 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 { 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 @@ -6059,17 +6254,101 @@ fv.default: ; preds = %if.merge.175 br label %fv.merge fv.case: ; preds = %if.merge.175 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.175 + %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.175 + %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 21, 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.735, i64 8 }, { ptr, i64 } { ptr @str.736, 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.176 + +while.hdr.176: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.177, label %while.exit.178 + +while.body.177: ; preds = %while.hdr.176 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.179, label %if.merge.180 + +while.exit.178: ; preds = %while.hdr.176 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) + ret { ptr, i64 } %callN + +if.then.179: ; preds = %while.body.177 + %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 + br label %if.merge.180 + +if.merge.180: ; preds = %if.then.179, %while.body.177 + %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.742, 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.743, 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.176 + +fv.default: ; preds = %if.merge.180 + br label %fv.merge + +fv.case: ; preds = %if.merge.180 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.175 +fv.case17: ; preds = %if.merge.180 %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.175 +fv.case20: ; preds = %if.merge.180 %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 @@ -6081,43 +6360,43 @@ 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.708, i64 17 }, { ptr, i64 } { ptr @str.709, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 17 }, { ptr, i64 } { ptr @str.745, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.716, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.752, 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.717, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, 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 @@ -6137,29 +6416,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case23: ; preds = %if.merge.185 %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 @@ -6170,43 +6449,43 @@ 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.718, i64 4 }, { ptr, i64 } { ptr @str.719, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 4 }, { ptr, i64 } { ptr @str.755, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.723, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.759, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.760, 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 @@ -6223,12 +6502,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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 @@ -6243,43 +6522,43 @@ entry: %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.725, i64 10 }, { ptr, i64 } { ptr @str.726, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 10 }, { ptr, i64 } { ptr @str.762, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.763, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.764, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.734, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.770, 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.735, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.771, 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 @@ -6300,38 +6579,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case20: ; preds = %if.merge.195 %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.190 +fv.case24: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -6345,43 +6624,43 @@ 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.736, i64 13 }, { ptr, i64 } { ptr @str.737, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 13 }, { ptr, i64 } { ptr @str.773, 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.191 + br label %while.hdr.196 -while.hdr.191: ; preds = %fv.merge, %entry +while.hdr.196: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.192, label %while.exit.193 + br i1 %icmp, label %while.body.197, label %while.exit.198 -while.body.192: ; preds = %while.hdr.191 +while.body.197: ; preds = %while.hdr.196 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 + br i1 %icmpN, label %if.then.199, label %if.merge.200 -while.exit.193: ; preds = %while.hdr.191 +while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.774, i64 1 }) ret { ptr, i64 } %callN -if.then.194: ; preds = %while.body.192 +if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.775, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 + br label %if.merge.200 -if.merge.195: ; preds = %if.then.194, %while.body.192 +if.merge.200: ; preds = %if.then.199, %while.body.197 %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.742, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.778, 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.743, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, 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 @@ -6399,18 +6678,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.191 + br label %while.hdr.196 -fv.default: ; preds = %if.merge.195 +fv.default: ; preds = %if.merge.200 br label %fv.merge -fv.case: ; preds = %if.merge.195 +fv.case: ; preds = %if.merge.200 %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.195 +fv.case17: ; preds = %if.merge.200 %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 @@ -6423,43 +6702,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.744, i64 8 }, { ptr, i64 } { ptr @str.745, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 8 }, { ptr, i64 } { ptr @str.781, 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.196 + br label %while.hdr.201 -while.hdr.196: ; preds = %fv.merge, %entry +while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.197, label %while.exit.198 + br i1 %icmp, label %while.body.202, label %while.exit.203 -while.body.197: ; preds = %while.hdr.196 +while.body.202: ; preds = %while.hdr.201 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.199, label %if.merge.200 + br i1 %icmpN, label %if.then.204, label %if.merge.205 -while.exit.198: ; preds = %while.hdr.196 +while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.782, i64 1 }) ret { ptr, i64 } %callN -if.then.199: ; preds = %while.body.197 +if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.783, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.200 + br label %if.merge.205 -if.merge.200: ; preds = %if.then.199, %while.body.197 +if.merge.205: ; preds = %if.then.204, %while.body.202 %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.753, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.789, 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.754, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, 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 @@ -6480,36 +6759,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.196 + br label %while.hdr.201 -fv.default: ; preds = %if.merge.200 +fv.default: ; preds = %if.merge.205 br label %fv.merge -fv.case: ; preds = %if.merge.200 +fv.case: ; preds = %if.merge.205 %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.200 +fv.case17: ; preds = %if.merge.205 %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.200 +fv.case21: ; preds = %if.merge.205 %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.200 +fv.case25: ; preds = %if.merge.205 %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.200 +fv.case29: ; preds = %if.merge.205 %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 @@ -6520,89 +6799,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.755, i64 5 }, { ptr, i64 } { ptr @str.756, 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.201 - -while.hdr.201: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.202, label %while.exit.203 - -while.body.202: ; preds = %while.hdr.201 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.204, label %if.merge.205 - -while.exit.203: ; preds = %while.hdr.201 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 1 }) - ret { ptr, i64 } %callN - -if.then.204: ; preds = %while.body.202 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.758, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.205 - -if.merge.205: ; preds = %if.then.204, %while.body.202 - %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.762, 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.763, 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.201 - -fv.default: ; preds = %if.merge.205 - br label %fv.merge - -fv.case: ; preds = %if.merge.205 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.205 - %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.205 - %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.764, i64 6 }, { ptr, i64 } { ptr @str.765, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 5 }, { ptr, i64 } { ptr @str.792, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6621,24 +6818,24 @@ while.body.207: ; preds = %while.hdr.206 while.exit.208: ; preds = %while.hdr.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.766, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 1 }) ret { ptr, i64 } %callN if.then.209: ; preds = %while.body.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.767, i64 2 }) + %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 br label %if.merge.210 if.merge.210: ; preds = %if.then.209, %while.body.207 %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.771, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.798, 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.772, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.799, 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 @@ -6665,7 +6862,7 @@ fv.default: ; preds = %if.merge.210 fv.case: ; preds = %if.merge.210 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.210 @@ -6680,13 +6877,11 @@ fv.case20: ; preds = %if.merge.210 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.773, i64 6 }, { ptr, i64 } { ptr @str.774, i64 1 }) + %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.800, i64 6 }, { ptr, i64 } { ptr @str.801, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6695,7 +6890,7 @@ entry: while.hdr.211: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.212, label %while.exit.213 while.body.212: ; preds = %while.hdr.211 @@ -6705,24 +6900,108 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.775, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.779, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.807, 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.780, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %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.809, i64 6 }, { ptr, i64 } { ptr @str.810, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.812, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.815, 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.816, 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 @@ -6740,19 +7019,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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 @@ -6766,93 +7045,7 @@ 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.781, i64 4 }, { ptr, i64 } { ptr @str.782, 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.216 - -while.hdr.216: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.217, label %while.exit.218 - -while.body.217: ; preds = %while.hdr.216 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 - -while.exit.218: ; preds = %while.hdr.216 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.783, i64 1 }) - ret { ptr, i64 } %callN - -if.then.219: ; preds = %while.body.217 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.784, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 - -if.merge.220: ; preds = %if.then.219, %while.body.217 - %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.788, 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.789, 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.216 - -fv.default: ; preds = %if.merge.220 - br label %fv.merge - -fv.case: ; preds = %if.merge.220 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.220 - %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.220 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.790, i64 6 }, { ptr, i64 } { ptr @str.791, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 4 }, { ptr, i64 } { ptr @str.818, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6871,24 +7064,110 @@ while.body.222: ; preds = %while.hdr.221 while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.819, i64 1 }) ret { ptr, i64 } %callN if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.820, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.225 if.merge.225: ; preds = %if.then.224, %while.body.222 %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.797, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.824, 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.798, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, 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.221 + +fv.default: ; preds = %if.merge.225 + br label %fv.merge + +fv.case: ; preds = %if.merge.225 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.225 + %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.225 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.826, i64 6 }, { ptr, i64 } { ptr @str.827, 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.226 + +while.hdr.226: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.227, label %while.exit.228 + +while.body.227: ; preds = %while.hdr.226 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.229, label %if.merge.230 + +while.exit.228: ; preds = %while.hdr.226 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.828, i64 1 }) + ret { ptr, i64 } %callN + +if.then.229: ; preds = %while.body.227 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.829, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.230 + +if.merge.230: ; preds = %if.then.229, %while.body.227 + %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.833, 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.834, 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 @@ -6907,24 +7186,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.221 + br label %while.hdr.226 -fv.default: ; preds = %if.merge.225 +fv.default: ; preds = %if.merge.230 br label %fv.merge -fv.case: ; preds = %if.merge.225 +fv.case: ; preds = %if.merge.230 %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.225 +fv.case17: ; preds = %if.merge.230 %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.225 +fv.case20: ; preds = %if.merge.230 %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 @@ -6937,43 +7216,43 @@ 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.799, i64 12 }, { ptr, i64 } { ptr @str.800, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 12 }, { ptr, i64 } { ptr @str.836, 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.226 + br label %while.hdr.231 -while.hdr.226: ; preds = %if.merge.230, %entry +while.hdr.231: ; preds = %if.merge.235, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.227, label %while.exit.228 + br i1 %icmp, label %while.body.232, label %while.exit.233 -while.body.227: ; preds = %while.hdr.226 +while.body.232: ; preds = %while.hdr.231 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.229, label %if.merge.230 + br i1 %icmpN, label %if.then.234, label %if.merge.235 -while.exit.228: ; preds = %while.hdr.226 +while.exit.233: ; preds = %while.hdr.231 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.837, i64 1 }) ret { ptr, i64 } %callN -if.then.229: ; preds = %while.body.227 +if.then.234: ; preds = %while.body.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.838, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.230 + br label %if.merge.235 -if.merge.230: ; preds = %if.then.229, %while.body.227 +if.merge.235: ; preds = %if.then.234, %while.body.232 %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.803, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.839, 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.804, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.840, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6984,7 +7263,7 @@ if.merge.230: ; preds = %if.then.229, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 } ; Function Attrs: nounwind @@ -6993,95 +7272,7 @@ 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.805, i64 8 }, { ptr, i64 } { ptr @str.806, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.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 { { 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.235 - %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.814, i64 7 }, { ptr, i64 } { ptr @str.815, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 8 }, { ptr, i64 } { ptr @str.842, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7100,24 +7291,112 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.843, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.844, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.821, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.848, 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.822, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.849, 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.236 + +fv.default: ; preds = %if.merge.240 + br label %fv.merge + +fv.case: ; preds = %if.merge.240 + %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.240 + %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.240 + %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.850, i64 7 }, { ptr, i64 } { ptr @str.851, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.852, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.853, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.857, 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.858, 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 @@ -7136,26 +7415,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.236 + br label %while.hdr.241 -fv.default: ; preds = %if.merge.240 +fv.default: ; preds = %if.merge.245 br label %fv.merge -fv.case: ; preds = %if.merge.240 +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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.240 +fv.case22: ; preds = %if.merge.245 %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 @@ -7169,86 +7448,7 @@ 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.823, i64 9 }, { ptr, i64 } { ptr @str.824, 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.241 - -while.hdr.241: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.242, label %while.exit.243 - -while.body.242: ; preds = %while.hdr.241 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 - -while.exit.243: ; preds = %while.hdr.241 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, i64 1 }) - ret { ptr, i64 } %callN - -if.then.244: ; preds = %while.body.242 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.826, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 - -if.merge.245: ; preds = %if.then.244, %while.body.242 - %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.829, 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.830, 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.241 - -fv.default: ; preds = %if.merge.245 - br label %fv.merge - -fv.case: ; preds = %if.merge.245 - %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.245 - %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.831, i64 4 }, { ptr, i64 } { ptr @str.832, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 9 }, { ptr, i64 } { ptr @str.860, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7267,27 +7467,27 @@ while.body.247: ; preds = %while.hdr.246 while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.833, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.861, i64 1 }) ret { ptr, i64 } %callN if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.834, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.862, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.250 if.merge.250: ; preds = %if.then.249, %while.body.247 %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.837, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.865, 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.838, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.866, 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 { 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 @@ -7308,11 +7508,90 @@ fv.default: ; preds = %if.merge.250 br label %fv.merge fv.case: ; preds = %if.merge.250 + %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.250 + %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.867, i64 4 }, { ptr, i64 } { ptr @str.868, 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.251 + +while.hdr.251: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.252, label %while.exit.253 + +while.body.252: ; preds = %while.hdr.251 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.254, label %if.merge.255 + +while.exit.253: ; preds = %while.hdr.251 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.869, i64 1 }) + ret { ptr, i64 } %callN + +if.then.254: ; preds = %while.body.252 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.870, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.255 + +if.merge.255: ; preds = %if.then.254, %while.body.252 + %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.873, 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.874, 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.251 + +fv.default: ; preds = %if.merge.255 + br label %fv.merge + +fv.case: ; preds = %if.merge.255 %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.250 +fv.case17: ; preds = %if.merge.255 %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 @@ -7330,43 +7609,43 @@ entry: %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.839, i64 6 }, { ptr, i64 } { ptr @str.840, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 6 }, { ptr, i64 } { ptr @str.876, 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.251 + br label %while.hdr.256 -while.hdr.251: ; preds = %fv.merge, %entry +while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.252, label %while.exit.253 + br i1 %icmp, label %while.body.257, label %while.exit.258 -while.body.252: ; preds = %while.hdr.251 +while.body.257: ; preds = %while.hdr.256 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 + br i1 %icmpN, label %if.then.259, label %if.merge.260 -while.exit.253: ; preds = %while.hdr.251 +while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.841, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 1 }) ret { ptr, i64 } %callN -if.then.254: ; preds = %while.body.252 +if.then.259: ; preds = %while.body.257 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.878, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 + br label %if.merge.260 -if.merge.255: ; preds = %if.then.254, %while.body.252 +if.merge.260: ; preds = %if.then.259, %while.body.257 %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.850, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.886, 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.851, i64 2 }) + %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 %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 @@ -7389,51 +7668,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.251 + br label %while.hdr.256 -fv.default: ; preds = %if.merge.255 +fv.default: ; preds = %if.merge.260 br label %fv.merge -fv.case: ; preds = %if.merge.255 +fv.case: ; preds = %if.merge.260 %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.255 +fv.case17: ; preds = %if.merge.260 %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.255 +fv.case22: ; preds = %if.merge.260 %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.255 +fv.case25: ; preds = %if.merge.260 %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.255 +fv.case28: ; preds = %if.merge.260 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.255 +fv.case33: ; preds = %if.merge.260 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.255 +fv.case38: ; preds = %if.merge.260 %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 @@ -7448,43 +7727,43 @@ entry: %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.852, i64 6 }, { ptr, i64 } { ptr @str.853, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.888, i64 6 }, { ptr, i64 } { ptr @str.889, 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.256 + br label %while.hdr.261 -while.hdr.256: ; preds = %fv.merge, %entry +while.hdr.261: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.257, label %while.exit.258 + br i1 %icmp, label %while.body.262, label %while.exit.263 -while.body.257: ; preds = %while.hdr.256 +while.body.262: ; preds = %while.hdr.261 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.259, label %if.merge.260 + br i1 %icmpN, label %if.then.264, label %if.merge.265 -while.exit.258: ; preds = %while.hdr.256 +while.exit.263: ; preds = %while.hdr.261 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.854, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.890, i64 1 }) ret { ptr, i64 } %callN -if.then.259: ; preds = %while.body.257 +if.then.264: ; preds = %while.body.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.855, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.891, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.260 + br label %if.merge.265 -if.merge.260: ; preds = %if.then.259, %while.body.257 +if.merge.265: ; preds = %if.then.264, %while.body.262 %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.860, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.896, 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.861, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, 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 @@ -7504,31 +7783,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.256 + br label %while.hdr.261 -fv.default: ; preds = %if.merge.260 +fv.default: ; preds = %if.merge.265 br label %fv.merge -fv.case: ; preds = %if.merge.260 +fv.case: ; preds = %if.merge.265 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.260 +fv.case17: ; preds = %if.merge.265 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.260 +fv.case22: ; preds = %if.merge.265 %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.260 +fv.case25: ; preds = %if.merge.265 %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 @@ -7539,43 +7818,43 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.862, i64 8 }, { ptr, i64 } { ptr @str.863, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.898, i64 8 }, { ptr, i64 } { ptr @str.899, 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.261 + br label %while.hdr.266 -while.hdr.261: ; preds = %fv.merge, %entry +while.hdr.266: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 + br i1 %icmp, label %while.body.267, label %while.exit.268 -while.body.262: ; preds = %while.hdr.261 +while.body.267: ; preds = %while.hdr.266 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 + br i1 %icmpN, label %if.then.269, label %if.merge.270 -while.exit.263: ; preds = %while.hdr.261 +while.exit.268: ; preds = %while.hdr.266 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.864, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.900, i64 1 }) ret { ptr, i64 } %callN -if.then.264: ; preds = %while.body.262 +if.then.269: ; preds = %while.body.267 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.865, i64 2 }) + %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 - br label %if.merge.265 + br label %if.merge.270 -if.merge.265: ; preds = %if.then.264, %while.body.262 +if.merge.270: ; preds = %if.then.269, %while.body.267 %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.868, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.904, 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.869, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -7593,17 +7872,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.261 + br label %while.hdr.266 -fv.default: ; preds = %if.merge.265 +fv.default: ; preds = %if.merge.270 br label %fv.merge -fv.case: ; preds = %if.merge.265 +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7614,43 +7893,43 @@ define internal { ptr, i64 } @struct_to_string__Kevent(ptr %0, { i64, i16, i16, 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.870, i64 6 }, { ptr, i64 } { ptr @str.871, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 6 }, { ptr, i64 } { ptr @str.907, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 6 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.872, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.908, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.873, i64 2 }) + %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 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.880, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 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.881, i64 2 }) + %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, i16, i16, i32, i64, i64 }, ptr %alloca, align 8 @@ -7672,40 +7951,40 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %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.270 +fv.case17: ; preds = %if.merge.275 %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.270 +fv.case20: ; preds = %if.merge.275 %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.270 +fv.case23: ; preds = %if.merge.275 %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.270 +fv.case27: ; preds = %if.merge.275 %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.270 +fv.case30: ; preds = %if.merge.275 %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 @@ -7716,43 +7995,43 @@ define internal { ptr, i64 } @struct_to_string__KqTimespec(ptr %0, { i64, i64 } 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.882, i64 10 }, { ptr, i64 } { ptr @str.883, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 10 }, { 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.884, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.920, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.885, i64 2 }) + %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.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.888, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.924, 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.889, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.925, 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 @@ -7770,17 +8049,17 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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.275 +fv.case17: ; preds = %if.merge.280 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -7791,43 +8070,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 5 }, { ptr, i64 } { ptr @str.891, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 5 }, { ptr, i64 } { ptr @str.927, 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.276 + br label %while.hdr.281 -while.hdr.276: ; preds = %fv.merge, %entry +while.hdr.281: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.277, label %while.exit.278 + br i1 %icmp, label %while.body.282, label %while.exit.283 -while.body.277: ; preds = %while.hdr.276 +while.body.282: ; preds = %while.hdr.281 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.279, label %if.merge.280 + br i1 %icmpN, label %if.then.284, label %if.merge.285 -while.exit.278: ; preds = %while.hdr.276 +while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.892, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.928, i64 1 }) ret { ptr, i64 } %callN -if.then.279: ; preds = %while.body.277 +if.then.284: ; preds = %while.body.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.893, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.929, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.280 + br label %if.merge.285 -if.merge.280: ; preds = %if.then.279, %while.body.277 +if.merge.285: ; preds = %if.then.284, %while.body.282 %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.901, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.937, 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.902, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.938, 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, i64 }, ptr %alloca, align 8 @@ -7850,47 +8129,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.276 + br label %while.hdr.281 -fv.default: ; preds = %if.merge.280 +fv.default: ; preds = %if.merge.285 br label %fv.merge -fv.case: ; preds = %if.merge.280 +fv.case: ; preds = %if.merge.285 %fv.field = extractvalue { i32, i64, 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.280 +fv.case17: ; preds = %if.merge.285 %fv.field18 = extractvalue { i32, i64, 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.280 +fv.case20: ; preds = %if.merge.285 %fv.field21 = extractvalue { i32, i64, 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.280 +fv.case23: ; preds = %if.merge.285 %fv.field24 = extractvalue { i32, i64, 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.280 +fv.case27: ; preds = %if.merge.285 %fv.field28 = extractvalue { i32, i64, 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.280 +fv.case31: ; preds = %if.merge.285 %fv.field32 = extractvalue { i32, i64, 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.280 +fv.case35: ; preds = %if.merge.285 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -7901,78 +8180,7 @@ 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.903, i64 4 }, { ptr, i64 } { ptr @str.904, 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.281 - -while.hdr.281: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.282, label %while.exit.283 - -while.body.282: ; preds = %while.hdr.281 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.284, label %if.merge.285 - -while.exit.283: ; preds = %while.hdr.281 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.905, i64 1 }) - ret { ptr, i64 } %callN - -if.then.284: ; preds = %while.body.282 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.906, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.285 - -if.merge.285: ; preds = %if.then.284, %while.body.282 - %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.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 { 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.281 - -fv.default: ; preds = %if.merge.285 - br label %fv.merge - -fv.case: ; preds = %if.merge.285 - %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__Mat4(ptr %0, { [16 x float] } %1) #0 { -entry: - %alloca = alloca { [16 x float] }, align 8 - %ba.tmp = alloca [16 x float], align 4 - store { [16 x float] } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 4 }, { ptr, i64 } { ptr @str.911, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 4 }, { ptr, i64 } { ptr @str.940, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7991,27 +8199,27 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.941, i64 1 }) ret { ptr, i64 } %callN if.then.289: ; preds = %while.body.287 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.942, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.290 if.merge.290: ; preds = %if.then.289, %while.body.287 %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.915, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.944, 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.916, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.945, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { [16 x float] }, ptr %alloca, align 4 + %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 @@ -8031,19 +8239,18 @@ fv.default: ; preds = %if.merge.290 br label %fv.merge fv.case: ; preds = %if.merge.290 - %fv.field = extractvalue { [16 x float] } %loadN, 0 - store [16 x float] %fv.field, ptr %ba.tmp, align 4 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %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__Vec2(ptr %0, { float, float } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %1) #0 { entry: - %alloca = alloca { float, float }, align 8 - store { float, float } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 4 }, { ptr, i64 } { ptr @str.918, i64 1 }) + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.946, i64 6 }, { ptr, i64 } { ptr @str.947, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8052,7 +8259,7 @@ entry: while.hdr.291: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 7 br i1 %icmp, label %while.body.292, label %while.exit.293 while.body.292: ; preds = %while.hdr.291 @@ -8062,35 +8269,40 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.919, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.948, i64 1 }) ret { ptr, i64 } %callN if.then.294: ; preds = %while.body.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.920, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.949, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.295 if.merge.295: ; preds = %if.then.294, %while.body.292 %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.923, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.957, 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.924, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.958, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { float, float }, ptr %alloca, align 4 + %loadN = load { i64, i32, 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 ] -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 ] +fv.merge: ; preds = %fv.default, %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 ], [ 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 @@ -8103,26 +8315,53 @@ fv.default: ; preds = %if.merge.295 br label %fv.merge fv.case: ; preds = %if.merge.295 - %fv.field = extractvalue { float, float } %loadN, 0 - %fNi32 = bitcast float %fv.field to i32 - %zN = zext i32 %fNi32 to i64 - %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 + %fv.field = extractvalue { i64, i32, 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.295 - %fv.field18 = extractvalue { float, float } %loadN, 1 - %fNi3219 = bitcast float %fv.field18 to i32 - %zN = zext i32 %fNi3219 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 + %fv.field18 = extractvalue { i64, i32, 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.295 + %fv.field21 = extractvalue { i64, i32, 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.295 + %fv.field24 = extractvalue { i64, i32, 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.295 + %fv.field27 = extractvalue { i64, i32, 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.295 + %fv.field30 = extractvalue { i64, i32, 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.295 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 1 br label %fv.merge } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %1) #0 { +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 { i32, i32 }, align 8 - store { i32, i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 5 }, { ptr, i64 } { ptr @str.926, i64 1 }) + %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.959, i64 7 }, { ptr, i64 } { ptr @str.960, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8131,7 +8370,7 @@ entry: while.hdr.296: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 6 br i1 %icmp, label %while.body.297, label %while.exit.298 while.body.297: ; preds = %while.hdr.296 @@ -8141,35 +8380,39 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.927, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.961, i64 1 }) ret { ptr, i64 } %callN if.then.299: ; preds = %while.body.297 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.928, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.962, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.300 if.merge.300: ; preds = %if.then.299, %while.body.297 %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.931, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.969, 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.932, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.970, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { i32, i32 }, ptr %alloca, align 4 + %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.case17, %fv.case - %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ undef, %fv.default ] +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 @@ -8182,24 +8425,56 @@ fv.default: ; preds = %if.merge.300 br label %fv.merge fv.case: ; preds = %if.merge.300 - %fv.field = extractvalue { i32, i32 } %loadN, 0 - %iN = sext i32 %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %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.300 - %fv.field18 = extractvalue { i32, i32 } %loadN, 1 - %iN = sext i32 %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %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.300 + %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.300 + %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.300 + %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.300 + %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__Counter(ptr %0, { ptr, ptr } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %1) #0 { entry: - %alloca = alloca { ptr, ptr }, align 8 - store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 7 }, { ptr, i64 } { ptr @str.934, i64 1 }) + %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.971, i64 8 }, { ptr, i64 } { ptr @str.972, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8208,7 +8483,7 @@ entry: while.hdr.301: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 4 br i1 %icmp, label %while.body.302, label %while.exit.303 while.body.302: ; preds = %while.hdr.301 @@ -8218,35 +8493,37 @@ while.body.302: ; preds = %while.hdr.301 while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.935, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.973, i64 1 }) ret { ptr, i64 } %callN if.then.304: ; preds = %while.body.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.936, i64 2 }) + %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 br label %if.merge.305 if.merge.305: ; preds = %if.then.304, %while.body.302 %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.939, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.979, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.980, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, ptr }, ptr %alloca, 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.case17, %fv.case - %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ undef, %fv.default ] +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 @@ -8259,24 +8536,38 @@ fv.default: ; preds = %if.merge.305 br label %fv.merge fv.case: ; preds = %if.merge.305 - %fv.field = extractvalue { ptr, ptr } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + %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.305 - %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 - %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + %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.305 + %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.305 + %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____Counter__Vtable(ptr %0, { ptr, ptr } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { entry: - %alloca = alloca { ptr, ptr }, align 8 - store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 17 }, { ptr, i64 } { ptr @str.942, i64 1 }) + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.981, i64 4 }, { ptr, i64 } { ptr @str.982, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8285,7 +8576,7 @@ entry: while.hdr.306: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 11 br i1 %icmp, label %while.body.307, label %while.exit.308 while.body.307: ; preds = %while.hdr.306 @@ -8295,35 +8586,44 @@ while.body.307: ; preds = %while.hdr.306 while.exit.308: ; preds = %while.hdr.306 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.983, i64 1 }) ret { ptr, i64 } %callN if.then.309: ; preds = %while.body.307 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.984, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.310 if.merge.310: ; preds = %if.then.309, %while.body.307 %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.947, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.996, 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.948, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.997, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, ptr }, ptr %alloca, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 ] -fv.merge: ; preds = %fv.default, %fv.case17, %fv.case - %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ undef, %fv.default ] +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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 @@ -8336,24 +8636,76 @@ fv.default: ; preds = %if.merge.310 br label %fv.merge fv.case: ; preds = %if.merge.310 - %fv.field = extractvalue { ptr, ptr } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.310 - %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 - %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.310 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.310 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.310 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.310 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.310 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.310 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.310 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.310 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.310 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 br label %fv.merge } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Summable(ptr %0, { ptr, ptr } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { entry: - %alloca = alloca { ptr, ptr }, align 8 - store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.949, i64 8 }, { ptr, i64 } { ptr @str.950, i64 1 }) + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.998, i64 6 }, { ptr, i64 } { ptr @str.999, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8362,7 +8714,7 @@ entry: while.hdr.311: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 6 br i1 %icmp, label %while.body.312, label %while.exit.313 while.body.312: ; preds = %while.hdr.311 @@ -8372,35 +8724,39 @@ while.body.312: ; preds = %while.hdr.311 while.exit.313: ; preds = %while.hdr.311 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.951, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1000, i64 1 }) ret { ptr, i64 } %callN if.then.314: ; preds = %while.body.312 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1001, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.315 if.merge.315: ; preds = %if.then.314, %while.body.312 %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.955, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1008, 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.956, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1009, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, ptr }, ptr %alloca, align 8 + %loadN = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 ] -fv.merge: ; preds = %fv.default, %fv.case17, %fv.case - %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %fv.case17 ], [ undef, %fv.default ] +fv.merge: ; preds = %fv.default, %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 ], [ 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 @@ -8413,24 +8769,52 @@ fv.default: ; preds = %if.merge.315 br label %fv.merge fv.case: ; preds = %if.merge.315 - %fv.field = extractvalue { ptr, ptr } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.315 - %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 - %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.315 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.315 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.315 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.315 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 br label %fv.merge } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string____Summable__Vtable(ptr %0, { ptr } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Mat4(ptr %0, { [16 x float] } %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.957, i64 18 }, { ptr, i64 } { ptr @str.958, i64 1 }) + %alloca = alloca { [16 x float] }, align 8 + %ba.tmp = alloca [16 x float], align 4 + store { [16 x float] } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, i64 4 }, { ptr, i64 } { ptr @str.1011, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -8449,27 +8833,27 @@ while.body.317: ; preds = %while.hdr.316 while.exit.318: ; preds = %while.hdr.316 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.959, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1012, i64 1 }) ret { ptr, i64 } %callN if.then.319: ; preds = %while.body.317 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1013, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.320 if.merge.320: ; preds = %if.then.319, %while.body.317 %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.962, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1015, 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.963, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1016, 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 { [16 x float] }, ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 switch i64 %loadN, label %fv.default [ i64 0, label %fv.case @@ -8489,6 +8873,464 @@ fv.default: ; preds = %if.merge.320 br label %fv.merge fv.case: ; preds = %if.merge.320 + %fv.field = extractvalue { [16 x float] } %loadN, 0 + store [16 x float] %fv.field, ptr %ba.tmp, align 4 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1) #0 { +entry: + %alloca = alloca { float, float }, align 8 + store { float, float } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1017, i64 4 }, { ptr, i64 } { ptr @str.1018, 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.321 + +while.hdr.321: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.322, label %while.exit.323 + +while.body.322: ; preds = %while.hdr.321 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.324, label %if.merge.325 + +while.exit.323: ; preds = %while.hdr.321 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1019, i64 1 }) + ret { ptr, i64 } %callN + +if.then.324: ; preds = %while.body.322 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1020, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.325 + +if.merge.325: ; preds = %if.then.324, %while.body.322 + %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.1023, 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.1024, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { float, float }, ptr %alloca, align 4 + %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.321 + +fv.default: ; preds = %if.merge.325 + br label %fv.merge + +fv.case: ; preds = %if.merge.325 + %fv.field = extractvalue { float, float } %loadN, 0 + %fNi32 = bitcast float %fv.field to i32 + %zN = zext i32 %fNi32 to i64 + %fv.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.325 + %fv.field18 = extractvalue { float, float } %loadN, 1 + %fNi3219 = bitcast float %fv.field18 to i32 + %zN = zext i32 %fNi3219 to i64 + %fv.val21 = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Point(ptr %0, { i32, i32 } %1) #0 { +entry: + %alloca = alloca { i32, i32 }, align 8 + store { i32, i32 } %1, ptr %alloca, align 4 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1025, i64 5 }, { ptr, i64 } { ptr @str.1026, 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.326 + +while.hdr.326: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.327, label %while.exit.328 + +while.body.327: ; preds = %while.hdr.326 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.329, label %if.merge.330 + +while.exit.328: ; preds = %while.hdr.326 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1027, i64 1 }) + ret { ptr, i64 } %callN + +if.then.329: ; preds = %while.body.327 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1028, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.330 + +if.merge.330: ; preds = %if.then.329, %while.body.327 + %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.1031, 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.1032, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i32 }, ptr %alloca, align 4 + %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.val20, %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.326 + +fv.default: ; preds = %if.merge.330 + br label %fv.merge + +fv.case: ; preds = %if.merge.330 + %fv.field = extractvalue { i32, 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 + +fv.case17: ; preds = %if.merge.330 + %fv.field18 = extractvalue { i32, i32 } %loadN, 1 + %iN = sext i32 %fv.field18 to i64 + %fv.val20 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Counter(ptr %0, { ptr, ptr } %1) #0 { +entry: + %alloca = alloca { ptr, ptr }, align 8 + store { ptr, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1033, i64 7 }, { ptr, i64 } { ptr @str.1034, 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.331 + +while.hdr.331: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.332, label %while.exit.333 + +while.body.332: ; preds = %while.hdr.331 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.334, label %if.merge.335 + +while.exit.333: ; preds = %while.hdr.331 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1035, i64 1 }) + ret { ptr, i64 } %callN + +if.then.334: ; preds = %while.body.332 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1036, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.335 + +if.merge.335: ; preds = %if.then.334, %while.body.332 + %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.1039, 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.1040, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { 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 + ] + +fv.merge: ; preds = %fv.default, %fv.case17, %fv.case + %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %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.331 + +fv.default: ; preds = %if.merge.335 + br label %fv.merge + +fv.case: ; preds = %if.merge.335 + %fv.field = extractvalue { ptr, ptr } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.335 + %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 + %pNi19 = ptrtoint ptr %fv.field18 to i64 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string____Counter__Vtable(ptr %0, { ptr, ptr } %1) #0 { +entry: + %alloca = alloca { ptr, ptr }, align 8 + store { ptr, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1041, i64 17 }, { ptr, i64 } { ptr @str.1042, 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.336 + +while.hdr.336: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.337, label %while.exit.338 + +while.body.337: ; preds = %while.hdr.336 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.339, label %if.merge.340 + +while.exit.338: ; preds = %while.hdr.336 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1043, i64 1 }) + ret { ptr, i64 } %callN + +if.then.339: ; preds = %while.body.337 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1044, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.340 + +if.merge.340: ; preds = %if.then.339, %while.body.337 + %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.1047, 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.1048, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { 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 + ] + +fv.merge: ; preds = %fv.default, %fv.case17, %fv.case + %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %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.336 + +fv.default: ; preds = %if.merge.340 + br label %fv.merge + +fv.case: ; preds = %if.merge.340 + %fv.field = extractvalue { ptr, ptr } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.340 + %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 + %pNi19 = ptrtoint ptr %fv.field18 to i64 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__Summable(ptr %0, { ptr, ptr } %1) #0 { +entry: + %alloca = alloca { ptr, ptr }, align 8 + store { ptr, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1049, i64 8 }, { ptr, i64 } { ptr @str.1050, 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.341 + +while.hdr.341: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.342, label %while.exit.343 + +while.body.342: ; preds = %while.hdr.341 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.344, label %if.merge.345 + +while.exit.343: ; preds = %while.hdr.341 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1051, i64 1 }) + ret { ptr, i64 } %callN + +if.then.344: ; preds = %while.body.342 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1052, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.345 + +if.merge.345: ; preds = %if.then.344, %while.body.342 + %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.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 { 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 + ] + +fv.merge: ; preds = %fv.default, %fv.case17, %fv.case + %fv.phi = phi { i64, i64 } [ %fv.val, %fv.case ], [ %fv.val20, %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.341 + +fv.default: ; preds = %if.merge.345 + br label %fv.merge + +fv.case: ; preds = %if.merge.345 + %fv.field = extractvalue { ptr, ptr } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.345 + %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 + %pNi19 = ptrtoint ptr %fv.field18 to i64 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string____Summable__Vtable(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.1057, i64 18 }, { 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.346 + +while.hdr.346: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 1 + br i1 %icmp, label %while.body.347, label %while.exit.348 + +while.body.347: ; preds = %while.hdr.346 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.349, label %if.merge.350 + +while.exit.348: ; preds = %while.hdr.346 + %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.349: ; preds = %while.body.347 + %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.350 + +if.merge.350: ; preds = %if.then.349, %while.body.347 + %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.1062, 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.1063, 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.346 + +fv.default: ; preds = %if.merge.350 + br label %fv.merge + +fv.case: ; preds = %if.merge.350 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -8500,43 +9342,43 @@ define internal { ptr, i64 } @struct_to_string__SimpleCounter(ptr %0, { i32 } %1 entry: %alloca = alloca { i32 }, align 8 store { i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.964, i64 13 }, { ptr, i64 } { ptr @str.965, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1064, i64 13 }, { ptr, i64 } { ptr @str.1065, 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.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %fv.merge, %entry +while.hdr.351: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.966, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1066, i64 1 }) ret { ptr, i64 } %callN -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.967, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1067, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %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.969, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1069, 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.970, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1070, 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 @@ -8553,12 +9395,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -fv.default: ; preds = %if.merge.325 +fv.default: ; preds = %if.merge.355 br label %fv.merge -fv.case: ; preds = %if.merge.325 +fv.case: ; preds = %if.merge.355 %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 @@ -8570,43 +9412,43 @@ define internal { ptr, i64 } @struct_to_string__Adder(ptr %0, { ptr, ptr, ptr } 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.971, i64 5 }, { ptr, i64 } { ptr @str.972, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1071, i64 5 }, { ptr, i64 } { ptr @str.1072, 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.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %fv.merge, %entry +while.hdr.356: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.973, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1073, i64 1 }) ret { ptr, i64 } %callN -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1074, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %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.978, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1078, 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.979, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1079, 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 @@ -8625,24 +9467,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -fv.default: ; preds = %if.merge.330 +fv.default: ; preds = %if.merge.360 br label %fv.merge -fv.case: ; preds = %if.merge.330 +fv.case: ; preds = %if.merge.360 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.330 +fv.case17: ; preds = %if.merge.360 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.330 +fv.case21: ; preds = %if.merge.360 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -8654,43 +9496,43 @@ define internal { ptr, i64 } @struct_to_string__Accumulator(ptr %0, { i32 } %1) entry: %alloca = alloca { i32 }, align 8 store { i32 } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.980, i64 11 }, { ptr, i64 } { ptr @str.981, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1080, i64 11 }, { ptr, i64 } { ptr @str.1081, 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.331 + br label %while.hdr.361 -while.hdr.331: ; preds = %fv.merge, %entry +while.hdr.361: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.332, label %while.exit.333 + br i1 %icmp, label %while.body.362, label %while.exit.363 -while.body.332: ; preds = %while.hdr.331 +while.body.362: ; preds = %while.hdr.361 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.334, label %if.merge.335 + br i1 %icmpN, label %if.then.364, label %if.merge.365 -while.exit.333: ; preds = %while.hdr.331 +while.exit.363: ; preds = %while.hdr.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.982, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1082, i64 1 }) ret { ptr, i64 } %callN -if.then.334: ; preds = %while.body.332 +if.then.364: ; preds = %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.983, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1083, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.335 + br label %if.merge.365 -if.merge.335: ; preds = %if.then.334, %while.body.332 +if.merge.365: ; preds = %if.then.364, %while.body.362 %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.985, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.1085, 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.986, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1086, 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 @@ -8707,12 +9549,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 -fv.default: ; preds = %if.merge.335 +fv.default: ; preds = %if.merge.365 br label %fv.merge -fv.case: ; preds = %if.merge.335 +fv.case: ; preds = %if.merge.365 %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 @@ -8728,9 +9570,9 @@ entry: %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.992, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.1092, 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.987, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1087, 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 @@ -8744,18 +9586,18 @@ entry: %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.343, label %if.merge.344 + br i1 %icmp, label %if.then.373, label %if.merge.374 -if.then.343: ; preds = %entry +if.then.373: ; 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.994, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.993, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1094, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1093, 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.344 + br label %if.merge.374 -if.merge.344: ; preds = %if.then.343, %entry +if.merge.374: ; preds = %if.then.373, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8769,9 +9611,9 @@ entry: %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.999, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.1099, 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.995, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1095, 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 @@ -8785,18 +9627,18 @@ entry: %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.345, label %if.merge.346 + br i1 %icmp, label %if.then.375, label %if.merge.376 -if.then.345: ; preds = %entry +if.then.375: ; 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.1001, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1000, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1101, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1100, 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.346 + br label %if.merge.376 -if.merge.346: ; preds = %if.then.345, %entry +if.merge.376: ; preds = %if.then.375, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8821,9 +9663,9 @@ entry: %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.1009, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.1109, 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.1002, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1102, 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 @@ -8837,16 +9679,16 @@ entry: i64 5, label %fv.case24 ] -if.then.347: ; preds = %fv.merge +if.then.377: ; 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.1011, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1111, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1110, 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.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %fv.merge +if.merge.378: ; preds = %if.then.377, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -8859,7 +9701,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.347, label %if.merge.348 + br i1 %icmp, label %if.then.377, label %if.merge.378 fv.default: ; preds = %entry br label %fv.merge @@ -8919,9 +9761,9 @@ entry: %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.1020, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.1120, 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.1012, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1112, 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 @@ -8935,18 +9777,18 @@ entry: %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.349, label %if.merge.350 + br i1 %icmp, label %if.then.379, label %if.merge.380 -if.then.349: ; preds = %entry +if.then.379: ; 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.1022, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1021, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1122, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1121, 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.350 + br label %if.merge.380 -if.merge.350: ; preds = %if.then.349, %entry +if.merge.380: ; preds = %if.then.379, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8960,9 +9802,9 @@ entry: %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.1029, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.1129, 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.1023, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1123, 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 @@ -8976,18 +9818,18 @@ entry: %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.351, label %if.merge.352 + br i1 %icmp, label %if.then.381, label %if.merge.382 -if.then.351: ; preds = %entry +if.then.381: ; 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.1031, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1030, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1131, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1130, 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.352 + br label %if.merge.382 -if.merge.352: ; preds = %if.then.351, %entry +if.merge.382: ; preds = %if.then.381, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -8999,33 +9841,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1032, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1132, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 -while.hdr.362: ; preds = %if.merge.366, %entry +while.hdr.392: ; preds = %if.merge.396, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.363, label %while.exit.364 + br i1 %icmp, label %while.body.393, label %while.exit.394 -while.body.363: ; preds = %while.hdr.362 +while.body.393: ; preds = %while.hdr.392 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.365, label %if.merge.366 + br i1 %icmpN, label %if.then.395, label %if.merge.396 -while.exit.364: ; preds = %while.hdr.362 +while.exit.394: ; preds = %while.hdr.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1033, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1133, i64 1 }) ret { ptr, i64 } %call -if.then.365: ; preds = %while.body.363 +if.then.395: ; preds = %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1034, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1134, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.366 + br label %if.merge.396 -if.merge.366: ; preds = %if.then.365, %while.body.363 +if.merge.396: ; preds = %if.then.395, %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9039,7 +9881,7 @@ if.merge.366: ; preds = %if.then.365, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 } ; Function Attrs: nounwind @@ -9050,33 +9892,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1035, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1135, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 -while.hdr.367: ; preds = %if.merge.371, %entry +while.hdr.397: ; preds = %if.merge.401, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.368, label %while.exit.369 + br i1 %icmp, label %while.body.398, label %while.exit.399 -while.body.368: ; preds = %while.hdr.367 +while.body.398: ; preds = %while.hdr.397 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.370, label %if.merge.371 + br i1 %icmpN, label %if.then.400, label %if.merge.401 -while.exit.369: ; preds = %while.hdr.367 +while.exit.399: ; preds = %while.hdr.397 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1036, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1136, i64 1 }) ret { ptr, i64 } %call -if.then.370: ; preds = %while.body.368 +if.then.400: ; preds = %while.body.398 %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 }) + %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.371 + br label %if.merge.401 -if.merge.371: ; preds = %if.then.370, %while.body.368 +if.merge.401: ; preds = %if.then.400, %while.body.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9092,7 +9934,7 @@ if.merge.371: ; preds = %if.then.370, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 } ; Function Attrs: nounwind @@ -9102,33 +9944,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1038, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1138, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 -while.hdr.372: ; preds = %if.merge.376, %entry +while.hdr.402: ; preds = %if.merge.406, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.373, label %while.exit.374 + br i1 %icmp, label %while.body.403, label %while.exit.404 -while.body.373: ; preds = %while.hdr.372 +while.body.403: ; preds = %while.hdr.402 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.375, label %if.merge.376 + br i1 %icmpN, label %if.then.405, label %if.merge.406 -while.exit.374: ; preds = %while.hdr.372 +while.exit.404: ; preds = %while.hdr.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1039, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1139, i64 1 }) ret { ptr, i64 } %call -if.then.375: ; preds = %while.body.373 +if.then.405: ; preds = %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1040, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1140, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.376 + br label %if.merge.406 -if.merge.376: ; preds = %if.then.375, %while.body.373 +if.merge.406: ; preds = %if.then.405, %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9142,7 +9984,7 @@ if.merge.376: ; preds = %if.then.375, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 } ; Function Attrs: nounwind @@ -9152,33 +9994,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1041, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1141, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 -while.hdr.377: ; preds = %if.merge.381, %entry +while.hdr.407: ; preds = %if.merge.411, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.378, label %while.exit.379 + br i1 %icmp, label %while.body.408, label %while.exit.409 -while.body.378: ; preds = %while.hdr.377 +while.body.408: ; preds = %while.hdr.407 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.380, label %if.merge.381 + br i1 %icmpN, label %if.then.410, label %if.merge.411 -while.exit.379: ; preds = %while.hdr.377 +while.exit.409: ; preds = %while.hdr.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1042, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1142, i64 1 }) ret { ptr, i64 } %call -if.then.380: ; preds = %while.body.378 +if.then.410: ; preds = %while.body.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1043, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1143, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.381 + br label %if.merge.411 -if.merge.381: ; preds = %if.then.380, %while.body.378 +if.merge.411: ; preds = %if.then.410, %while.body.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -9193,7 +10035,7 @@ if.merge.381: ; preds = %if.then.380, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 } ; Function Attrs: nounwind @@ -9203,33 +10045,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1044, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1144, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 -while.hdr.382: ; preds = %if.merge.386, %entry +while.hdr.412: ; preds = %if.merge.416, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.383, label %while.exit.384 + br i1 %icmp, label %while.body.413, label %while.exit.414 -while.body.383: ; preds = %while.hdr.382 +while.body.413: ; preds = %while.hdr.412 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.385, label %if.merge.386 + br i1 %icmpN, label %if.then.415, label %if.merge.416 -while.exit.384: ; preds = %while.hdr.382 +while.exit.414: ; preds = %while.hdr.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1045, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1145, i64 1 }) ret { ptr, i64 } %call -if.then.385: ; preds = %while.body.383 +if.then.415: ; preds = %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1046, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1146, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.386 + br label %if.merge.416 -if.merge.386: ; preds = %if.then.385, %while.body.383 +if.merge.416: ; preds = %if.then.415, %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9243,7 +10085,7 @@ if.merge.386: ; preds = %if.then.385, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 } ; Function Attrs: nounwind @@ -9253,33 +10095,33 @@ entry: %ig.tmp = alloca [16 x float], align 4 store [16 x float] %1, ptr %alloca, align 4 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1047, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1147, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.387 + br label %while.hdr.417 -while.hdr.387: ; preds = %if.merge.391, %entry +while.hdr.417: ; preds = %if.merge.421, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.388, label %while.exit.389 + br i1 %icmp, label %while.body.418, label %while.exit.419 -while.body.388: ; preds = %while.hdr.387 +while.body.418: ; preds = %while.hdr.417 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.390, label %if.merge.391 + br i1 %icmpN, label %if.then.420, label %if.merge.421 -while.exit.389: ; preds = %while.hdr.387 +while.exit.419: ; preds = %while.hdr.417 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1048, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1148, i64 1 }) ret { ptr, i64 } %call -if.then.390: ; preds = %while.body.388 +if.then.420: ; preds = %while.body.418 %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 }) + %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.391 + br label %if.merge.421 -if.merge.391: ; preds = %if.then.390, %while.body.388 +if.merge.421: ; preds = %if.then.420, %while.body.418 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x float], ptr %alloca, align 4 %loadN = load i64, ptr %allocaN, align 8 @@ -9295,7 +10137,7 @@ if.merge.391: ; preds = %if.then.390, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.387 + br label %while.hdr.417 } ; Function Attrs: nounwind @@ -9306,33 +10148,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.1050, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1150, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.392 + br label %while.hdr.422 -while.hdr.392: ; preds = %if.merge.396, %entry +while.hdr.422: ; preds = %if.merge.426, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.393, label %while.exit.394 + br i1 %icmp, label %while.body.423, label %while.exit.424 -while.body.393: ; preds = %while.hdr.392 +while.body.423: ; preds = %while.hdr.422 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.395, label %if.merge.396 + br i1 %icmpN, label %if.then.425, label %if.merge.426 -while.exit.394: ; preds = %while.hdr.392 +while.exit.424: ; preds = %while.hdr.422 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1051, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1151, i64 1 }) ret { ptr, i64 } %call -if.then.395: ; preds = %while.body.393 +if.then.425: ; preds = %while.body.423 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1052, i64 2 }) + %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 - br label %if.merge.396 + br label %if.merge.426 -if.merge.396: ; preds = %if.then.395, %while.body.393 +if.merge.426: ; preds = %if.then.425, %while.body.423 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9348,7 +10190,7 @@ if.merge.396: ; preds = %if.then.395, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.392 + br label %while.hdr.422 } ; Function Attrs: nounwind @@ -9358,35 +10200,35 @@ entry: %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.1053, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1153, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.405 + br label %while.hdr.435 -while.hdr.405: ; preds = %if.merge.409, %entry +while.hdr.435: ; preds = %if.merge.439, %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.406, label %while.exit.407 + br i1 %icmp, label %while.body.436, label %while.exit.437 -while.body.406: ; preds = %while.hdr.405 +while.body.436: ; preds = %while.hdr.435 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.408, label %if.merge.409 + br i1 %icmpN, label %if.then.438, label %if.merge.439 -while.exit.407: ; preds = %while.hdr.405 +while.exit.437: ; preds = %while.hdr.435 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1054, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1154, i64 1 }) ret { ptr, i64 } %call -if.then.408: ; preds = %while.body.406 +if.then.438: ; preds = %while.body.436 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1055, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1155, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.409 + br label %if.merge.439 -if.merge.409: ; preds = %if.then.408, %while.body.406 +if.merge.439: ; preds = %if.then.438, %while.body.436 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9402,7 +10244,7 @@ if.merge.409: ; preds = %if.then.408, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.405 + br label %while.hdr.435 } ; Function Attrs: nounwind @@ -9411,35 +10253,35 @@ 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.1056, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1156, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.410 + br label %while.hdr.440 -while.hdr.410: ; preds = %if.merge.414, %entry +while.hdr.440: ; preds = %if.merge.444, %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.411, label %while.exit.412 + br i1 %icmp, label %while.body.441, label %while.exit.442 -while.body.411: ; preds = %while.hdr.410 +while.body.441: ; preds = %while.hdr.440 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.413, label %if.merge.414 + br i1 %icmpN, label %if.then.443, label %if.merge.444 -while.exit.412: ; preds = %while.hdr.410 +while.exit.442: ; preds = %while.hdr.440 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1057, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1157, i64 1 }) ret { ptr, i64 } %call -if.then.413: ; preds = %while.body.411 +if.then.443: ; preds = %while.body.441 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1058, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1158, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.414 + br label %if.merge.444 -if.merge.414: ; preds = %if.then.413, %while.body.411 +if.merge.444: ; preds = %if.then.443, %while.body.441 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9454,7 +10296,7 @@ if.merge.414: ; preds = %if.then.413, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.410 + br label %while.hdr.440 } ; Function Attrs: nounwind @@ -9464,35 +10306,35 @@ entry: %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.1059, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1159, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.415 + br label %while.hdr.445 -while.hdr.415: ; preds = %if.merge.419, %entry +while.hdr.445: ; preds = %if.merge.449, %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.416, label %while.exit.417 + br i1 %icmp, label %while.body.446, label %while.exit.447 -while.body.416: ; preds = %while.hdr.415 +while.body.446: ; preds = %while.hdr.445 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.418, label %if.merge.419 + br i1 %icmpN, label %if.then.448, label %if.merge.449 -while.exit.417: ; preds = %while.hdr.415 +while.exit.447: ; preds = %while.hdr.445 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1060, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1160, i64 1 }) ret { ptr, i64 } %call -if.then.418: ; preds = %while.body.416 +if.then.448: ; preds = %while.body.446 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1061, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1161, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.419 + br label %if.merge.449 -if.merge.419: ; preds = %if.then.418, %while.body.416 +if.merge.449: ; preds = %if.then.448, %while.body.446 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9508,7 +10350,7 @@ if.merge.419: ; preds = %if.then.418, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.415 + br label %while.hdr.445 } ; Function Attrs: nounwind @@ -9518,35 +10360,35 @@ entry: %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.1062, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1162, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.420 + br label %while.hdr.450 -while.hdr.420: ; preds = %if.merge.424, %entry +while.hdr.450: ; preds = %if.merge.454, %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.421, label %while.exit.422 + br i1 %icmp, label %while.body.451, label %while.exit.452 -while.body.421: ; preds = %while.hdr.420 +while.body.451: ; preds = %while.hdr.450 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.423, label %if.merge.424 + br i1 %icmpN, label %if.then.453, label %if.merge.454 -while.exit.422: ; preds = %while.hdr.420 +while.exit.452: ; preds = %while.hdr.450 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1063, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1163, i64 1 }) ret { ptr, i64 } %call -if.then.423: ; preds = %while.body.421 +if.then.453: ; preds = %while.body.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1064, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1164, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.424 + br label %if.merge.454 -if.merge.424: ; preds = %if.then.423, %while.body.421 +if.merge.454: ; preds = %if.then.453, %while.body.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9562,7 +10404,7 @@ if.merge.424: ; preds = %if.then.423, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.420 + br label %while.hdr.450 } ; Function Attrs: nounwind @@ -9572,35 +10414,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.1065, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1165, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.425 + br label %while.hdr.455 -while.hdr.425: ; preds = %if.merge.429, %entry +while.hdr.455: ; preds = %if.merge.459, %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.426, label %while.exit.427 + br i1 %icmp, label %while.body.456, label %while.exit.457 -while.body.426: ; preds = %while.hdr.425 +while.body.456: ; preds = %while.hdr.455 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.428, label %if.merge.429 + br i1 %icmpN, label %if.then.458, label %if.merge.459 -while.exit.427: ; preds = %while.hdr.425 +while.exit.457: ; preds = %while.hdr.455 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1066, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1166, i64 1 }) ret { ptr, i64 } %call -if.then.428: ; preds = %while.body.426 +if.then.458: ; preds = %while.body.456 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1067, i64 2 }) + %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 - br label %if.merge.429 + br label %if.merge.459 -if.merge.429: ; preds = %if.then.428, %while.body.426 +if.merge.459: ; preds = %if.then.458, %while.body.456 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9616,7 +10458,7 @@ if.merge.429: ; preds = %if.then.428, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.425 + br label %while.hdr.455 } ; Function Attrs: nounwind @@ -9626,35 +10468,35 @@ entry: %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.1068, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.1168, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.430 + br label %while.hdr.460 -while.hdr.430: ; preds = %if.merge.434, %entry +while.hdr.460: ; preds = %if.merge.464, %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.431, label %while.exit.432 + br i1 %icmp, label %while.body.461, label %while.exit.462 -while.body.431: ; preds = %while.hdr.430 +while.body.461: ; preds = %while.hdr.460 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.433, label %if.merge.434 + br i1 %icmpN, label %if.then.463, label %if.merge.464 -while.exit.432: ; preds = %while.hdr.430 +while.exit.462: ; preds = %while.hdr.460 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1069, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1169, i64 1 }) ret { ptr, i64 } %call -if.then.433: ; preds = %while.body.431 +if.then.463: ; preds = %while.body.461 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1070, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.1170, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.434 + br label %if.merge.464 -if.merge.434: ; preds = %if.then.433, %while.body.431 +if.merge.464: ; preds = %if.then.463, %while.body.461 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -9670,206 +10512,11 @@ if.merge.434: ; preds = %if.then.433, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.430 + br label %while.hdr.460 } ; 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.479, label %if.else.480 - -if.then.479: ; preds = %entry - br label %if.merge.481 - -if.else.480: ; 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.1073, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1072, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.481 - -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.1071, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] - 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.495, label %if.else.496 - -if.then.495: ; preds = %entry - br label %if.merge.497 - -if.else.496: ; 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.1076, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1075, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.497 - -if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.1074, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] - 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.498, label %if.else.499 - -if.then.498: ; preds = %entry - br label %if.merge.500 - -if.else.499: ; 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.1079, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1078, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.500 - -if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.1077, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] - 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.501, label %if.else.502 - -if.then.501: ; preds = %entry - br label %if.merge.503 - -if.else.502: ; 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.1082, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1081, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.503 - -if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.1080, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] - 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.504, label %if.else.505 - -if.then.504: ; preds = %entry - br label %if.merge.506 - -if.else.505: ; 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.1085, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1084, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.506 - -if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.1083, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] - ret { ptr, i64 } %bp -} - -; 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.507, label %if.else.508 - -if.then.507: ; preds = %entry - br label %if.merge.509 - -if.else.508: ; 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.1088, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1087, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.509 - -if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.1086, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] - 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.510, label %if.else.511 - -if.then.510: ; preds = %entry - br label %if.merge.512 - -if.else.511: ; 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.1091, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1090, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.512 - -if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.1089, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] - 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 @@ -9887,12 +10534,207 @@ if.then.513: ; preds = %entry if.else.514: ; 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.1094, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1093, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1173, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1172, i64 5 }, { ptr, i64 } %callN) br label %if.merge.515 if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.1092, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + %bp = phi { ptr, i64 } [ { ptr @str.1171, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + 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.529, label %if.else.530 + +if.then.529: ; preds = %entry + br label %if.merge.531 + +if.else.530: ; 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.1176, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1175, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.531 + +if.merge.531: ; preds = %if.else.530, %if.then.529 + %bp = phi { ptr, i64 } [ { ptr @str.1174, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] + 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.532, label %if.else.533 + +if.then.532: ; preds = %entry + br label %if.merge.534 + +if.else.533: ; 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.1179, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1178, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.534 + +if.merge.534: ; preds = %if.else.533, %if.then.532 + %bp = phi { ptr, i64 } [ { ptr @str.1177, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] + 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.535, label %if.else.536 + +if.then.535: ; preds = %entry + br label %if.merge.537 + +if.else.536: ; 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.1182, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1181, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.537 + +if.merge.537: ; preds = %if.else.536, %if.then.535 + %bp = phi { ptr, i64 } [ { ptr @str.1180, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] + 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.538, label %if.else.539 + +if.then.538: ; preds = %entry + br label %if.merge.540 + +if.else.539: ; 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.1185, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1184, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.540 + +if.merge.540: ; preds = %if.else.539, %if.then.538 + %bp = phi { ptr, i64 } [ { ptr @str.1183, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] + ret { ptr, i64 } %bp +} + +; 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.541, label %if.else.542 + +if.then.541: ; preds = %entry + br label %if.merge.543 + +if.else.542: ; 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.1188, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1187, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.543 + +if.merge.543: ; preds = %if.else.542, %if.then.541 + %bp = phi { ptr, i64 } [ { ptr @str.1186, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] + 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.544, label %if.else.545 + +if.then.544: ; preds = %entry + br label %if.merge.546 + +if.else.545: ; 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.1191, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1190, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.546 + +if.merge.546: ; preds = %if.else.545, %if.then.544 + %bp = phi { ptr, i64 } [ { ptr @str.1189, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] + 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.547, label %if.else.548 + +if.then.547: ; preds = %entry + br label %if.merge.549 + +if.else.548: ; 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.1194, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1193, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.549 + +if.merge.549: ; preds = %if.else.548, %if.then.547 + %bp = phi { ptr, i64 } [ { ptr @str.1192, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] ret { ptr, i64 } %bp } @@ -9907,20 +10749,20 @@ entry: 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.516, label %if.else.517 + br i1 %icmp, label %if.then.550, label %if.else.551 -if.then.516: ; preds = %entry - br label %if.merge.518 +if.then.550: ; preds = %entry + br label %if.merge.552 -if.else.517: ; preds = %entry +if.else.551: ; 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.1097, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1096, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.518 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1197, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1196, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.552 -if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.1095, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] +if.merge.552: ; preds = %if.else.551, %if.then.550 + %bp = phi { ptr, i64 } [ { ptr @str.1195, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] ret { ptr, i64 } %bp } @@ -9935,20 +10777,20 @@ entry: 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.519, label %if.else.520 + br i1 %icmp, label %if.then.553, label %if.else.554 -if.then.519: ; preds = %entry - br label %if.merge.521 +if.then.553: ; preds = %entry + br label %if.merge.555 -if.else.520: ; preds = %entry +if.else.554: ; 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.1100, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1099, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.521 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1200, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1199, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.555 -if.merge.521: ; preds = %if.else.520, %if.then.519 - %bp = phi { ptr, i64 } [ { ptr @str.1098, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] +if.merge.555: ; preds = %if.else.554, %if.then.553 + %bp = phi { ptr, i64 } [ { ptr @str.1198, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] ret { ptr, i64 } %bp } @@ -9963,20 +10805,20 @@ entry: 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.522, label %if.else.523 + br i1 %icmp, label %if.then.556, label %if.else.557 -if.then.522: ; preds = %entry - br label %if.merge.524 +if.then.556: ; preds = %entry + br label %if.merge.558 -if.else.523: ; preds = %entry +if.else.557: ; 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.1103, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1102, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.524 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1203, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1202, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.558 -if.merge.524: ; preds = %if.else.523, %if.then.522 - %bp = phi { ptr, i64 } [ { ptr @str.1101, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] +if.merge.558: ; preds = %if.else.557, %if.then.556 + %bp = phi { ptr, i64 } [ { ptr @str.1201, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] ret { ptr, i64 } %bp } @@ -9991,20 +10833,20 @@ entry: 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.525, label %if.else.526 + br i1 %icmp, label %if.then.559, label %if.else.560 -if.then.525: ; preds = %entry - br label %if.merge.527 +if.then.559: ; preds = %entry + br label %if.merge.561 -if.else.526: ; preds = %entry +if.else.560: ; 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.1106, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1105, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.527 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1206, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1205, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.561 -if.merge.527: ; preds = %if.else.526, %if.then.525 - %bp = phi { ptr, i64 } [ { ptr @str.1104, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] +if.merge.561: ; preds = %if.else.560, %if.then.559 + %bp = phi { ptr, i64 } [ { ptr @str.1204, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] ret { ptr, i64 } %bp } @@ -10018,20 +10860,20 @@ entry: 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.528, label %if.else.529 + br i1 %icmp, label %if.then.562, label %if.else.563 -if.then.528: ; preds = %entry - br label %if.merge.530 +if.then.562: ; preds = %entry + br label %if.merge.564 -if.else.529: ; preds = %entry +if.else.563: ; 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.1109, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1108, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.530 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1209, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1208, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.564 -if.merge.530: ; preds = %if.else.529, %if.then.528 - %bp = phi { ptr, i64 } [ { ptr @str.1107, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] +if.merge.564: ; preds = %if.else.563, %if.then.562 + %bp = phi { ptr, i64 } [ { ptr @str.1207, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] ret { ptr, i64 } %bp } @@ -10046,20 +10888,20 @@ entry: 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.531, label %if.else.532 + br i1 %icmp, label %if.then.565, label %if.else.566 -if.then.531: ; preds = %entry - br label %if.merge.533 +if.then.565: ; preds = %entry + br label %if.merge.567 -if.else.532: ; preds = %entry +if.else.566: ; 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.1112, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1111, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.533 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1212, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1211, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.567 -if.merge.533: ; preds = %if.else.532, %if.then.531 - %bp = phi { ptr, i64 } [ { ptr @str.1110, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] +if.merge.567: ; preds = %if.else.566, %if.then.565 + %bp = phi { ptr, i64 } [ { ptr @str.1210, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] ret { ptr, i64 } %bp } @@ -10073,20 +10915,20 @@ entry: 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.534, label %if.else.535 + br i1 %icmp, label %if.then.568, label %if.else.569 -if.then.534: ; preds = %entry - br label %if.merge.536 +if.then.568: ; preds = %entry + br label %if.merge.570 -if.else.535: ; preds = %entry +if.else.569: ; 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.1115, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1114, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.536 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1215, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1214, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.570 -if.merge.536: ; preds = %if.else.535, %if.then.534 - %bp = phi { ptr, i64 } [ { ptr @str.1113, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] +if.merge.570: ; preds = %if.else.569, %if.then.568 + %bp = phi { ptr, i64 } [ { ptr @str.1213, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] ret { ptr, i64 } %bp } @@ -10101,20 +10943,20 @@ entry: 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.537, label %if.else.538 + br i1 %icmp, label %if.then.571, label %if.else.572 -if.then.537: ; preds = %entry - br label %if.merge.539 +if.then.571: ; preds = %entry + br label %if.merge.573 -if.else.538: ; preds = %entry +if.else.572: ; 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.1118, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1117, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.539 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1218, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1217, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.573 -if.merge.539: ; preds = %if.else.538, %if.then.537 - %bp = phi { ptr, i64 } [ { ptr @str.1116, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] +if.merge.573: ; preds = %if.else.572, %if.then.571 + %bp = phi { ptr, i64 } [ { ptr @str.1216, i64 4 }, %if.then.571 ], [ %callN, %if.else.572 ] ret { ptr, i64 } %bp } @@ -10129,20 +10971,20 @@ entry: 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.540, label %if.else.541 + br i1 %icmp, label %if.then.574, label %if.else.575 -if.then.540: ; preds = %entry - br label %if.merge.542 +if.then.574: ; preds = %entry + br label %if.merge.576 -if.else.541: ; preds = %entry +if.else.575: ; 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.1121, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1120, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.542 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1221, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1220, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.576 -if.merge.542: ; preds = %if.else.541, %if.then.540 - %bp = phi { ptr, i64 } [ { ptr @str.1119, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] +if.merge.576: ; preds = %if.else.575, %if.then.574 + %bp = phi { ptr, i64 } [ { ptr @str.1219, i64 4 }, %if.then.574 ], [ %callN, %if.else.575 ] ret { ptr, i64 } %bp } @@ -10157,20 +10999,20 @@ entry: 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.543, label %if.else.544 + br i1 %icmp, label %if.then.577, label %if.else.578 -if.then.543: ; preds = %entry - br label %if.merge.545 +if.then.577: ; preds = %entry + br label %if.merge.579 -if.else.544: ; preds = %entry +if.else.578: ; 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.1124, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1123, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.545 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1224, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1223, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.579 -if.merge.545: ; preds = %if.else.544, %if.then.543 - %bp = phi { ptr, i64 } [ { ptr @str.1122, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] +if.merge.579: ; preds = %if.else.578, %if.then.577 + %bp = phi { ptr, i64 } [ { ptr @str.1222, i64 4 }, %if.then.577 ], [ %callN, %if.else.578 ] ret { ptr, i64 } %bp } @@ -10185,20 +11027,20 @@ entry: 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.546, label %if.else.547 + br i1 %icmp, label %if.then.580, label %if.else.581 -if.then.546: ; preds = %entry - br label %if.merge.548 +if.then.580: ; preds = %entry + br label %if.merge.582 -if.else.547: ; preds = %entry +if.else.581: ; 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.1127, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1126, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.548 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1227, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1226, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.582 -if.merge.548: ; preds = %if.else.547, %if.then.546 - %bp = phi { ptr, i64 } [ { ptr @str.1125, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] +if.merge.582: ; preds = %if.else.581, %if.then.580 + %bp = phi { ptr, i64 } [ { ptr @str.1225, i64 4 }, %if.then.580 ], [ %callN, %if.else.581 ] ret { ptr, i64 } %bp } @@ -10213,20 +11055,20 @@ entry: 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.549, label %if.else.550 + br i1 %icmp, label %if.then.583, label %if.else.584 -if.then.549: ; preds = %entry - br label %if.merge.551 +if.then.583: ; preds = %entry + br label %if.merge.585 -if.else.550: ; preds = %entry +if.else.584: ; 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.1130, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1129, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.551 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1230, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1229, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.585 -if.merge.551: ; preds = %if.else.550, %if.then.549 - %bp = phi { ptr, i64 } [ { ptr @str.1128, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] +if.merge.585: ; preds = %if.else.584, %if.then.583 + %bp = phi { ptr, i64 } [ { ptr @str.1228, i64 4 }, %if.then.583 ], [ %callN, %if.else.584 ] ret { ptr, i64 } %bp } @@ -10241,20 +11083,20 @@ entry: 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.552, label %if.else.553 + br i1 %icmp, label %if.then.586, label %if.else.587 -if.then.552: ; preds = %entry - br label %if.merge.554 +if.then.586: ; preds = %entry + br label %if.merge.588 -if.else.553: ; preds = %entry +if.else.587: ; 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.1133, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1132, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.554 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1233, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1232, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.588 -if.merge.554: ; preds = %if.else.553, %if.then.552 - %bp = phi { ptr, i64 } [ { ptr @str.1131, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] +if.merge.588: ; preds = %if.else.587, %if.then.586 + %bp = phi { ptr, i64 } [ { ptr @str.1231, i64 4 }, %if.then.586 ], [ %callN, %if.else.587 ] ret { ptr, i64 } %bp } @@ -10269,20 +11111,20 @@ entry: 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.555, label %if.else.556 + br i1 %icmp, label %if.then.589, label %if.else.590 -if.then.555: ; preds = %entry - br label %if.merge.557 +if.then.589: ; preds = %entry + br label %if.merge.591 -if.else.556: ; preds = %entry +if.else.590: ; 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.1136, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1135, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.557 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1236, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1235, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.591 -if.merge.557: ; preds = %if.else.556, %if.then.555 - %bp = phi { ptr, i64 } [ { ptr @str.1134, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] +if.merge.591: ; preds = %if.else.590, %if.then.589 + %bp = phi { ptr, i64 } [ { ptr @str.1234, i64 4 }, %if.then.589 ], [ %callN, %if.else.590 ] ret { ptr, i64 } %bp } @@ -10297,20 +11139,20 @@ entry: 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.558, label %if.else.559 + br i1 %icmp, label %if.then.592, label %if.else.593 -if.then.558: ; preds = %entry - br label %if.merge.560 +if.then.592: ; preds = %entry + br label %if.merge.594 -if.else.559: ; preds = %entry +if.else.593: ; 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.1139, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1138, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.560 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1239, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1238, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.594 -if.merge.560: ; preds = %if.else.559, %if.then.558 - %bp = phi { ptr, i64 } [ { ptr @str.1137, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] +if.merge.594: ; preds = %if.else.593, %if.then.592 + %bp = phi { ptr, i64 } [ { ptr @str.1237, i64 4 }, %if.then.592 ], [ %callN, %if.else.593 ] ret { ptr, i64 } %bp } @@ -10325,20 +11167,20 @@ entry: 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.561, label %if.else.562 + br i1 %icmp, label %if.then.595, label %if.else.596 -if.then.561: ; preds = %entry - br label %if.merge.563 +if.then.595: ; preds = %entry + br label %if.merge.597 -if.else.562: ; preds = %entry +if.else.596: ; 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.1142, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1141, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.563 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1242, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1241, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.597 -if.merge.563: ; preds = %if.else.562, %if.then.561 - %bp = phi { ptr, i64 } [ { ptr @str.1140, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] +if.merge.597: ; preds = %if.else.596, %if.then.595 + %bp = phi { ptr, i64 } [ { ptr @str.1240, i64 4 }, %if.then.595 ], [ %callN, %if.else.596 ] ret { ptr, i64 } %bp } @@ -10353,20 +11195,20 @@ entry: 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.564, label %if.else.565 + br i1 %icmp, label %if.then.598, label %if.else.599 -if.then.564: ; preds = %entry - br label %if.merge.566 +if.then.598: ; preds = %entry + br label %if.merge.600 -if.else.565: ; preds = %entry +if.else.599: ; 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.1145, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1144, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.566 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1245, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1244, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.600 -if.merge.566: ; preds = %if.else.565, %if.then.564 - %bp = phi { ptr, i64 } [ { ptr @str.1143, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] +if.merge.600: ; preds = %if.else.599, %if.then.598 + %bp = phi { ptr, i64 } [ { ptr @str.1243, i64 4 }, %if.then.598 ], [ %callN, %if.else.599 ] ret { ptr, i64 } %bp } @@ -10381,20 +11223,131 @@ entry: 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.567, label %if.else.568 + br i1 %icmp, label %if.then.601, label %if.else.602 -if.then.567: ; preds = %entry - br label %if.merge.569 +if.then.601: ; preds = %entry + br label %if.merge.603 -if.else.568: ; preds = %entry +if.else.602: ; 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.1148, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1147, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.569 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1248, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1247, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.603 -if.merge.569: ; preds = %if.else.568, %if.then.567 - %bp = phi { ptr, i64 } [ { ptr @str.1146, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] +if.merge.603: ; preds = %if.else.602, %if.then.601 + %bp = phi { ptr, i64 } [ { ptr @str.1246, i64 4 }, %if.then.601 ], [ %callN, %if.else.602 ] + 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.604, label %if.else.605 + +if.then.604: ; preds = %entry + br label %if.merge.606 + +if.else.605: ; 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.1251, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1250, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.606 + +if.merge.606: ; preds = %if.else.605, %if.then.604 + %bp = phi { ptr, i64 } [ { ptr @str.1249, i64 4 }, %if.then.604 ], [ %callN, %if.else.605 ] + 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.607, label %if.else.608 + +if.then.607: ; preds = %entry + br label %if.merge.609 + +if.else.608: ; 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.1254, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1253, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.609 + +if.merge.609: ; preds = %if.else.608, %if.then.607 + %bp = phi { ptr, i64 } [ { ptr @str.1252, i64 4 }, %if.then.607 ], [ %callN, %if.else.608 ] + 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.610, label %if.else.611 + +if.then.610: ; preds = %entry + br label %if.merge.612 + +if.else.611: ; 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.1257, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1256, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.612 + +if.merge.612: ; preds = %if.else.611, %if.then.610 + %bp = phi { ptr, i64 } [ { ptr @str.1255, i64 4 }, %if.then.610 ], [ %callN, %if.else.611 ] + 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.613, label %if.else.614 + +if.then.613: ; preds = %entry + br label %if.merge.615 + +if.else.614: ; 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.1260, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1259, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.615 + +if.merge.615: ; preds = %if.else.614, %if.then.613 + %bp = phi { ptr, i64 } [ { ptr @str.1258, i64 4 }, %if.then.613 ], [ %callN, %if.else.614 ] ret { ptr, i64 } %bp } @@ -10409,20 +11362,20 @@ entry: 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.570, label %if.else.571 + br i1 %icmp, label %if.then.616, label %if.else.617 -if.then.570: ; preds = %entry - br label %if.merge.572 +if.then.616: ; preds = %entry + br label %if.merge.618 -if.else.571: ; preds = %entry +if.else.617: ; 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.1151, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1150, i64 14 }, { ptr, i64 } %callN) - br label %if.merge.572 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1263, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1262, i64 14 }, { ptr, i64 } %callN) + br label %if.merge.618 -if.merge.572: ; preds = %if.else.571, %if.then.570 - %bp = phi { ptr, i64 } [ { ptr @str.1149, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] +if.merge.618: ; preds = %if.else.617, %if.then.616 + %bp = phi { ptr, i64 } [ { ptr @str.1261, i64 4 }, %if.then.616 ], [ %callN, %if.else.617 ] ret { ptr, i64 } %bp } @@ -10437,20 +11390,20 @@ entry: 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.573, label %if.else.574 + br i1 %icmp, label %if.then.619, label %if.else.620 -if.then.573: ; preds = %entry - br label %if.merge.575 +if.then.619: ; preds = %entry + br label %if.merge.621 -if.else.574: ; preds = %entry +if.else.620: ; 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.1154, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1153, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.575 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1266, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1265, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.621 -if.merge.575: ; preds = %if.else.574, %if.then.573 - %bp = phi { ptr, i64 } [ { ptr @str.1152, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] +if.merge.621: ; preds = %if.else.620, %if.then.619 + %bp = phi { ptr, i64 } [ { ptr @str.1264, i64 4 }, %if.then.619 ], [ %callN, %if.else.620 ] ret { ptr, i64 } %bp } @@ -10465,20 +11418,20 @@ entry: 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.576, label %if.else.577 + br i1 %icmp, label %if.then.622, label %if.else.623 -if.then.576: ; preds = %entry - br label %if.merge.578 +if.then.622: ; preds = %entry + br label %if.merge.624 -if.else.577: ; preds = %entry +if.else.623: ; 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.1157, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1156, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.578 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1269, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1268, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.624 -if.merge.578: ; preds = %if.else.577, %if.then.576 - %bp = phi { ptr, i64 } [ { ptr @str.1155, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] +if.merge.624: ; preds = %if.else.623, %if.then.622 + %bp = phi { ptr, i64 } [ { ptr @str.1267, i64 4 }, %if.then.622 ], [ %callN, %if.else.623 ] ret { ptr, i64 } %bp } @@ -10493,20 +11446,20 @@ entry: 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.579, label %if.else.580 + br i1 %icmp, label %if.then.625, label %if.else.626 -if.then.579: ; preds = %entry - br label %if.merge.581 +if.then.625: ; preds = %entry + br label %if.merge.627 -if.else.580: ; preds = %entry +if.else.626: ; 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.1160, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1159, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.581 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1272, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1271, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.627 -if.merge.581: ; preds = %if.else.580, %if.then.579 - %bp = phi { ptr, i64 } [ { ptr @str.1158, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] +if.merge.627: ; preds = %if.else.626, %if.then.625 + %bp = phi { ptr, i64 } [ { ptr @str.1270, i64 4 }, %if.then.625 ], [ %callN, %if.else.626 ] ret { ptr, i64 } %bp } @@ -10521,20 +11474,20 @@ entry: 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.582, label %if.else.583 + br i1 %icmp, label %if.then.628, label %if.else.629 -if.then.582: ; preds = %entry - br label %if.merge.584 +if.then.628: ; preds = %entry + br label %if.merge.630 -if.else.583: ; preds = %entry +if.else.629: ; 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.1163, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1162, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.584 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1275, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1274, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.630 -if.merge.584: ; preds = %if.else.583, %if.then.582 - %bp = phi { ptr, i64 } [ { ptr @str.1161, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] +if.merge.630: ; preds = %if.else.629, %if.then.628 + %bp = phi { ptr, i64 } [ { ptr @str.1273, i64 4 }, %if.then.628 ], [ %callN, %if.else.629 ] ret { ptr, i64 } %bp } @@ -10549,20 +11502,20 @@ entry: 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.585, label %if.else.586 + br i1 %icmp, label %if.then.631, label %if.else.632 -if.then.585: ; preds = %entry - br label %if.merge.587 +if.then.631: ; preds = %entry + br label %if.merge.633 -if.else.586: ; preds = %entry +if.else.632: ; 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.1166, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1165, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.587 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1278, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1277, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.633 -if.merge.587: ; preds = %if.else.586, %if.then.585 - %bp = phi { ptr, i64 } [ { ptr @str.1164, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] +if.merge.633: ; preds = %if.else.632, %if.then.631 + %bp = phi { ptr, i64 } [ { ptr @str.1276, i64 4 }, %if.then.631 ], [ %callN, %if.else.632 ] ret { ptr, i64 } %bp } @@ -10577,20 +11530,20 @@ entry: 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.588, label %if.else.589 + br i1 %icmp, label %if.then.634, label %if.else.635 -if.then.588: ; preds = %entry - br label %if.merge.590 +if.then.634: ; preds = %entry + br label %if.merge.636 -if.else.589: ; preds = %entry +if.else.635: ; 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.1169, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1168, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.590 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1281, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1280, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.636 -if.merge.590: ; preds = %if.else.589, %if.then.588 - %bp = phi { ptr, i64 } [ { ptr @str.1167, i64 4 }, %if.then.588 ], [ %callN, %if.else.589 ] +if.merge.636: ; preds = %if.else.635, %if.then.634 + %bp = phi { ptr, i64 } [ { ptr @str.1279, i64 4 }, %if.then.634 ], [ %callN, %if.else.635 ] ret { ptr, i64 } %bp } @@ -10605,20 +11558,20 @@ entry: 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.591, label %if.else.592 + br i1 %icmp, label %if.then.637, label %if.else.638 -if.then.591: ; preds = %entry - br label %if.merge.593 +if.then.637: ; preds = %entry + br label %if.merge.639 -if.else.592: ; preds = %entry +if.else.638: ; 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.1172, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1171, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.593 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1284, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1283, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.639 -if.merge.593: ; preds = %if.else.592, %if.then.591 - %bp = phi { ptr, i64 } [ { ptr @str.1170, i64 4 }, %if.then.591 ], [ %callN, %if.else.592 ] +if.merge.639: ; preds = %if.else.638, %if.then.637 + %bp = phi { ptr, i64 } [ { ptr @str.1282, i64 4 }, %if.then.637 ], [ %callN, %if.else.638 ] ret { ptr, i64 } %bp } @@ -10633,20 +11586,20 @@ entry: 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.594, label %if.else.595 + br i1 %icmp, label %if.then.640, label %if.else.641 -if.then.594: ; preds = %entry - br label %if.merge.596 +if.then.640: ; preds = %entry + br label %if.merge.642 -if.else.595: ; preds = %entry +if.else.641: ; 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.1175, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1174, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.596 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1287, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1286, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.642 -if.merge.596: ; preds = %if.else.595, %if.then.594 - %bp = phi { ptr, i64 } [ { ptr @str.1173, i64 4 }, %if.then.594 ], [ %callN, %if.else.595 ] +if.merge.642: ; preds = %if.else.641, %if.then.640 + %bp = phi { ptr, i64 } [ { ptr @str.1285, i64 4 }, %if.then.640 ], [ %callN, %if.else.641 ] ret { ptr, i64 } %bp } @@ -10661,20 +11614,20 @@ entry: 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.597, label %if.else.598 + br i1 %icmp, label %if.then.643, label %if.else.644 -if.then.597: ; preds = %entry - br label %if.merge.599 +if.then.643: ; preds = %entry + br label %if.merge.645 -if.else.598: ; preds = %entry +if.else.644: ; 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.1178, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1177, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.599 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1290, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1289, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.645 -if.merge.599: ; preds = %if.else.598, %if.then.597 - %bp = phi { ptr, i64 } [ { ptr @str.1176, i64 4 }, %if.then.597 ], [ %callN, %if.else.598 ] +if.merge.645: ; preds = %if.else.644, %if.then.643 + %bp = phi { ptr, i64 } [ { ptr @str.1288, i64 4 }, %if.then.643 ], [ %callN, %if.else.644 ] ret { ptr, i64 } %bp } @@ -10689,20 +11642,20 @@ entry: 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.600, label %if.else.601 + br i1 %icmp, label %if.then.646, label %if.else.647 -if.then.600: ; preds = %entry - br label %if.merge.602 +if.then.646: ; preds = %entry + br label %if.merge.648 -if.else.601: ; preds = %entry +if.else.647: ; 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.1181, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1180, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.602 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1293, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1292, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.648 -if.merge.602: ; preds = %if.else.601, %if.then.600 - %bp = phi { ptr, i64 } [ { ptr @str.1179, i64 4 }, %if.then.600 ], [ %callN, %if.else.601 ] +if.merge.648: ; preds = %if.else.647, %if.then.646 + %bp = phi { ptr, i64 } [ { ptr @str.1291, i64 4 }, %if.then.646 ], [ %callN, %if.else.647 ] ret { ptr, i64 } %bp } @@ -10717,20 +11670,20 @@ entry: 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.603, label %if.else.604 + br i1 %icmp, label %if.then.649, label %if.else.650 -if.then.603: ; preds = %entry - br label %if.merge.605 +if.then.649: ; preds = %entry + br label %if.merge.651 -if.else.604: ; preds = %entry +if.else.650: ; 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.1184, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1183, i64 15 }, { ptr, i64 } %callN) - br label %if.merge.605 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1296, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1295, i64 15 }, { ptr, i64 } %callN) + br label %if.merge.651 -if.merge.605: ; preds = %if.else.604, %if.then.603 - %bp = phi { ptr, i64 } [ { ptr @str.1182, i64 4 }, %if.then.603 ], [ %callN, %if.else.604 ] +if.merge.651: ; preds = %if.else.650, %if.then.649 + %bp = phi { ptr, i64 } [ { ptr @str.1294, i64 4 }, %if.then.649 ], [ %callN, %if.else.650 ] ret { ptr, i64 } %bp } @@ -10745,20 +11698,20 @@ entry: 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.606, label %if.else.607 + br i1 %icmp, label %if.then.652, label %if.else.653 -if.then.606: ; preds = %entry - br label %if.merge.608 +if.then.652: ; preds = %entry + br label %if.merge.654 -if.else.607: ; preds = %entry +if.else.653: ; 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.1187, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1186, i64 18 }, { ptr, i64 } %callN) - br label %if.merge.608 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1299, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1298, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.654 -if.merge.608: ; preds = %if.else.607, %if.then.606 - %bp = phi { ptr, i64 } [ { ptr @str.1185, i64 4 }, %if.then.606 ], [ %callN, %if.else.607 ] +if.merge.654: ; preds = %if.else.653, %if.then.652 + %bp = phi { ptr, i64 } [ { ptr @str.1297, i64 4 }, %if.then.652 ], [ %callN, %if.else.653 ] ret { ptr, i64 } %bp } @@ -10773,20 +11726,20 @@ entry: 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.609, label %if.else.610 + br i1 %icmp, label %if.then.655, label %if.else.656 -if.then.609: ; preds = %entry - br label %if.merge.611 +if.then.655: ; preds = %entry + br label %if.merge.657 -if.else.610: ; preds = %entry +if.else.656: ; 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.1190, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1189, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.611 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1302, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1301, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.657 -if.merge.611: ; preds = %if.else.610, %if.then.609 - %bp = phi { ptr, i64 } [ { ptr @str.1188, i64 4 }, %if.then.609 ], [ %callN, %if.else.610 ] +if.merge.657: ; preds = %if.else.656, %if.then.655 + %bp = phi { ptr, i64 } [ { ptr @str.1300, i64 4 }, %if.then.655 ], [ %callN, %if.else.656 ] ret { ptr, i64 } %bp } @@ -10801,20 +11754,20 @@ entry: 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.612, label %if.else.613 + br i1 %icmp, label %if.then.658, label %if.else.659 -if.then.612: ; preds = %entry - br label %if.merge.614 +if.then.658: ; preds = %entry + br label %if.merge.660 -if.else.613: ; preds = %entry +if.else.659: ; 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.1193, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1192, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.614 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1305, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1304, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.660 -if.merge.614: ; preds = %if.else.613, %if.then.612 - %bp = phi { ptr, i64 } [ { ptr @str.1191, i64 4 }, %if.then.612 ], [ %callN, %if.else.613 ] +if.merge.660: ; preds = %if.else.659, %if.then.658 + %bp = phi { ptr, i64 } [ { ptr @str.1303, i64 4 }, %if.then.658 ], [ %callN, %if.else.659 ] ret { ptr, i64 } %bp } @@ -10829,20 +11782,20 @@ entry: 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.615, label %if.else.616 + br i1 %icmp, label %if.then.661, label %if.else.662 -if.then.615: ; preds = %entry - br label %if.merge.617 +if.then.661: ; preds = %entry + br label %if.merge.663 -if.else.616: ; preds = %entry +if.else.662: ; 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.1196, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1195, i64 13 }, { ptr, i64 } %callN) - br label %if.merge.617 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1308, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1307, i64 13 }, { ptr, i64 } %callN) + br label %if.merge.663 -if.merge.617: ; preds = %if.else.616, %if.then.615 - %bp = phi { ptr, i64 } [ { ptr @str.1194, i64 4 }, %if.then.615 ], [ %callN, %if.else.616 ] +if.merge.663: ; preds = %if.else.662, %if.then.661 + %bp = phi { ptr, i64 } [ { ptr @str.1306, i64 4 }, %if.then.661 ], [ %callN, %if.else.662 ] ret { ptr, i64 } %bp } @@ -10855,12 +11808,12 @@ entry: %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.625, label %if.merge.626 + br i1 %lnot, label %if.then.671, label %if.merge.672 -if.then.625: ; preds = %entry - ret { ptr, i64 } { ptr @str.1197, i64 4 } +if.then.671: ; preds = %entry + ret { ptr, i64 } { ptr @str.1309, i64 4 } -if.merge.626: ; preds = %entry +if.merge.672: ; 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 @@ -10879,12 +11832,12 @@ entry: %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.627, label %if.merge.628 + br i1 %lnot, label %if.then.673, label %if.merge.674 -if.then.627: ; preds = %entry - ret { ptr, i64 } { ptr @str.1198, i64 4 } +if.then.673: ; preds = %entry + ret { ptr, i64 } { ptr @str.1310, i64 4 } -if.merge.628: ; preds = %entry +if.merge.674: ; 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 @@ -10902,12 +11855,12 @@ entry: %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.629, label %if.merge.630 + br i1 %lnot, label %if.then.675, label %if.merge.676 -if.then.629: ; preds = %entry - ret { ptr, i64 } { ptr @str.1199, i64 4 } +if.then.675: ; preds = %entry + ret { ptr, i64 } { ptr @str.1311, i64 4 } -if.merge.630: ; preds = %entry +if.merge.676: ; 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 @@ -10924,12 +11877,12 @@ entry: %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.631, label %if.merge.632 + br i1 %lnot, label %if.then.677, label %if.merge.678 -if.then.631: ; preds = %entry - ret { ptr, i64 } { ptr @str.1200, i64 4 } +if.then.677: ; preds = %entry + ret { ptr, i64 } { ptr @str.1312, i64 4 } -if.merge.632: ; preds = %entry +if.merge.678: ; 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 @@ -10948,12 +11901,12 @@ entry: %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.633, label %if.merge.634 + br i1 %lnot, label %if.then.679, label %if.merge.680 -if.then.633: ; preds = %entry - ret { ptr, i64 } { ptr @str.1201, i64 4 } +if.then.679: ; preds = %entry + ret { ptr, i64 } { ptr @str.1313, i64 4 } -if.merge.634: ; preds = %entry +if.merge.680: ; 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 diff --git a/examples/expected/0507-packs-pack-mono-dedup.ir b/examples/expected/0507-packs-pack-mono-dedup.ir index b3166f5..cfb1948 100644 --- a/examples/expected/0507-packs-pack-mono-dedup.ir +++ b/examples/expected/0507-packs-pack-mono-dedup.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [193 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] +@__sx_type_is_unsigned = private constant [211 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,467 +28,467 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [6 x i8] c"[]Any\00" -@tn.str.214 = private constant [5 x i8] c"*Any\00" -@tn.str.215 = private constant [7 x i8] c"*[]Any\00" -@tn.str.216 = private constant [7 x i8] c"[1]Any\00" -@tn.str.217 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.218 = private constant [7 x i8] c"[3]Any\00" -@tn.str.219 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.220 = private constant [8 x i8] c"*string\00" -@tn.str.221 = private constant [6 x i8] c"*bool\00" -@tn.str.222 = private constant [7 x i8] c"[2]Any\00" -@tn.str.223 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.224 = private constant [7 x i8] c"[5]Any\00" -@tn.str.225 = private constant [8 x i8] c"*[5]Any\00" -@tn.str.226 = private constant [4 x i8] c"*u8\00" -@tn.str.227 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.228 = private constant [5 x i8] c"*f64\00" -@tn.str.229 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.230 = private constant [11 x i8] c"*Allocator\00" -@tn.str.231 = private constant [9 x i8] c"*Context\00" -@tn.str.232 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.233 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.234 = private constant [8 x i8] c"*Member\00" -@tn.str.235 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.236 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.237 = private constant [9 x i8] c"*Command\00" -@tn.str.238 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.239 = private constant [7 x i8] c"*Event\00" -@tn.str.240 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.241 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.242 = private constant [7 x i8] c"*Value\00" -@tn.str.243 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.244 = private constant [14 x i8] c"*Architecture\00" -@tn.str.245 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.246 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.247 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.248 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.249 = private constant [10 x i8] c"*[]string\00" -@tn.str.250 = private constant [6 x i8] c"*[]u8\00" -@tn.str.251 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.252 = private constant [11 x i8] c"*[]Command\00" -@tn.str.253 = private constant [9 x i8] c"*[]Event\00" -@tn.str.254 = private constant [6 x i8] c"**GPA\00" -@tn.str.255 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.256 = private constant [8 x i8] c"**Arena\00" -@tn.str.257 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.258 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.259 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.260 = private constant [7 x i8] c"**File\00" -@tn.str.261 = private constant [6 x i8] c"**i32\00" -@tn.str.262 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.263 = private constant [6 x i8] c"**u32\00" -@tn.str.264 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.265 = private constant [8 x i8] c"**Array\00" -@tn.str.266 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.267 = private constant [9 x i8] c"**Object\00" -@tn.str.268 = private constant [7 x i8] c"**Sink\00" -@tn.str.269 = private constant [9 x i8] c"**Parser\00" -@tn.str.270 = private constant [6 x i8] c"**i64\00" -@tn.str.271 = private constant [9 x i8] c"**Parsed\00" -@tn.str.272 = private constant [7 x i8] c"**Diag\00" -@tn.str.273 = private constant [9 x i8] c"**Sha256\00" -@tn.str.274 = private constant [11 x i8] c"**Timespec\00" -@tn.str.275 = private constant [9 x i8] c"**Kevent\00" -@tn.str.276 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.277 = private constant [7 x i8] c"**Loop\00" -@tn.str.278 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.279 = private constant [8 x i8] c"***void\00" -@tn.str.280 = private constant [6 x i8] c"**Any\00" -@tn.str.281 = private constant [8 x i8] c"**[]Any\00" -@tn.str.282 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.283 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.284 = private constant [9 x i8] c"**string\00" -@tn.str.285 = private constant [7 x i8] c"**bool\00" -@tn.str.286 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.287 = private constant [9 x i8] c"**[5]Any\00" -@tn.str.288 = private constant [5 x i8] c"**u8\00" -@tn.str.289 = private constant [7 x i8] c"*?File\00" -@tn.str.290 = private constant [9 x i8] c"*?string\00" -@tn.str.291 = private constant [10 x i8] c"*?cstring\00" -@tn.str.292 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.293 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [193 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 5 }, { ptr, i64 } { ptr @tn.str.214, i64 4 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 3 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 16 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 11 }, { ptr, i64 } { ptr @tn.str.233, i64 14 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 13 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 9 }, { ptr, i64 } { ptr @tn.str.241, i64 9 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 16 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 9 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 11 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 5 }, { ptr, i64 } { ptr @tn.str.255, i64 12 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 19 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 5 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 7 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 12 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 13 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 7 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 4 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 8 }, { ptr, i64 } { ptr @tn.str.291, i64 9 }, { ptr, i64 } { ptr @tn.str.292, i64 15 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }] -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.297 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.298 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.299 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.300 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.301 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.303 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.304 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.305 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.306 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.308 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.309 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.311 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.312 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.314 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.315 = private unnamed_addr constant [2 x i8] c"x\00", align 1 -@str.316 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [6 x i8] c"[]Any\00" +@tn.str.228 = private constant [5 x i8] c"*Any\00" +@tn.str.229 = private constant [7 x i8] c"*[]Any\00" +@tn.str.230 = private constant [7 x i8] c"[1]Any\00" +@tn.str.231 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.232 = private constant [7 x i8] c"[3]Any\00" +@tn.str.233 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.234 = private constant [8 x i8] c"*string\00" +@tn.str.235 = private constant [6 x i8] c"*bool\00" +@tn.str.236 = private constant [7 x i8] c"[2]Any\00" +@tn.str.237 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.238 = private constant [7 x i8] c"[5]Any\00" +@tn.str.239 = private constant [8 x i8] c"*[5]Any\00" +@tn.str.240 = private constant [4 x i8] c"*u8\00" +@tn.str.241 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.242 = private constant [5 x i8] c"*f64\00" +@tn.str.243 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.244 = private constant [11 x i8] c"*Allocator\00" +@tn.str.245 = private constant [9 x i8] c"*Context\00" +@tn.str.246 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.247 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.248 = private constant [8 x i8] c"*Member\00" +@tn.str.249 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.250 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.251 = private constant [9 x i8] c"*Command\00" +@tn.str.252 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.253 = private constant [7 x i8] c"*Event\00" +@tn.str.254 = private constant [8 x i8] c"*Config\00" +@tn.str.255 = private constant [6 x i8] c"*Conn\00" +@tn.str.256 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.257 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.258 = private constant [7 x i8] c"*Value\00" +@tn.str.259 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.260 = private constant [14 x i8] c"*Architecture\00" +@tn.str.261 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.262 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.263 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.264 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.265 = private constant [10 x i8] c"*[]string\00" +@tn.str.266 = private constant [6 x i8] c"*[]u8\00" +@tn.str.267 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.268 = private constant [11 x i8] c"*[]Command\00" +@tn.str.269 = private constant [9 x i8] c"*[]Event\00" +@tn.str.270 = private constant [6 x i8] c"**GPA\00" +@tn.str.271 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.272 = private constant [8 x i8] c"**Arena\00" +@tn.str.273 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.274 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.275 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.276 = private constant [7 x i8] c"**File\00" +@tn.str.277 = private constant [6 x i8] c"**i32\00" +@tn.str.278 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.279 = private constant [6 x i8] c"**u32\00" +@tn.str.280 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.281 = private constant [8 x i8] c"**Array\00" +@tn.str.282 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.283 = private constant [9 x i8] c"**Object\00" +@tn.str.284 = private constant [7 x i8] c"**Sink\00" +@tn.str.285 = private constant [9 x i8] c"**Parser\00" +@tn.str.286 = private constant [6 x i8] c"**i64\00" +@tn.str.287 = private constant [9 x i8] c"**Parsed\00" +@tn.str.288 = private constant [7 x i8] c"**Diag\00" +@tn.str.289 = private constant [9 x i8] c"**Sha256\00" +@tn.str.290 = private constant [11 x i8] c"**Timespec\00" +@tn.str.291 = private constant [9 x i8] c"**Kevent\00" +@tn.str.292 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.293 = private constant [7 x i8] c"**Loop\00" +@tn.str.294 = private constant [10 x i8] c"**Request\00" +@tn.str.295 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.296 = private constant [11 x i8] c"**Response\00" +@tn.str.297 = private constant [9 x i8] c"**Server\00" +@tn.str.298 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.299 = private constant [8 x i8] c"***void\00" +@tn.str.300 = private constant [6 x i8] c"**Any\00" +@tn.str.301 = private constant [8 x i8] c"**[]Any\00" +@tn.str.302 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.303 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.304 = private constant [9 x i8] c"**string\00" +@tn.str.305 = private constant [7 x i8] c"**bool\00" +@tn.str.306 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.307 = private constant [9 x i8] c"**[5]Any\00" +@tn.str.308 = private constant [5 x i8] c"**u8\00" +@tn.str.309 = private constant [7 x i8] c"*?File\00" +@tn.str.310 = private constant [9 x i8] c"*?string\00" +@tn.str.311 = private constant [10 x i8] c"*?cstring\00" +@tn.str.312 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.313 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [211 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 5 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 3 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 4 }, { ptr, i64 } { ptr @tn.str.243, i64 16 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 11 }, { ptr, i64 } { ptr @tn.str.247, i64 14 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 13 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 9 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 16 }, { ptr, i64 } { ptr @tn.str.260, i64 13 }, { ptr, i64 } { ptr @tn.str.261, i64 14 }, { ptr, i64 } { ptr @tn.str.262, i64 7 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 9 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 11 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 12 }, { ptr, i64 } { ptr @tn.str.272, i64 7 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 19 }, { ptr, i64 } { ptr @tn.str.276, i64 6 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 5 }, { ptr, i64 } { ptr @tn.str.280, i64 9 }, { ptr, i64 } { ptr @tn.str.281, i64 7 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 5 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 6 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 12 }, { ptr, i64 } { ptr @tn.str.293, i64 6 }, { ptr, i64 } { ptr @tn.str.294, i64 9 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 10 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 13 }, { ptr, i64 } { ptr @tn.str.299, i64 7 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 7 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 6 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }, { ptr, i64 } { ptr @tn.str.308, i64 4 }, { ptr, i64 } { ptr @tn.str.309, i64 6 }, { ptr, i64 } { ptr @tn.str.310, i64 8 }, { ptr, i64 } { ptr @tn.str.311, i64 9 }, { ptr, i64 } { ptr @tn.str.312, i64 15 }, { ptr, i64 } { ptr @tn.str.313, i64 8 }] +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.317 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.318 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 -@str.319 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.320 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.321 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.318 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.319 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.320 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.321 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str = private constant [5 x i8] c"file\00" -@fld.str.323 = private constant [5 x i8] c"line\00" -@fld.str.324 = private constant [4 x i8] c"col\00" -@fld.str.325 = 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.323, i64 4 }, { ptr, i64 } { ptr @fld.str.324, i64 3 }, { ptr, i64 } { ptr @fld.str.325, i64 4 }] -@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.327 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.328 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.329 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.323 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.324 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.325 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.329 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.331 = private constant [4 x i8] c"ctx\00" -@fld.str.332 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.333 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.334 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 3 }, { ptr, i64 } { ptr @fld.str.332, i64 11 }, { ptr, i64 } { ptr @fld.str.333, i64 13 }] -@str.335 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.336 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.337 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.338 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.339 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.340 = private constant [10 x i8] c"allocator\00" -@fld.str.341 = private constant [5 x i8] c"data\00" -@field_names.342 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 4 }] -@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.344 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.348 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [12 x i8] c"alloc_count\00" -@field_names.355 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 11 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.361 = private constant [5 x i8] c"next\00" -@fld.str.362 = private constant [4 x i8] c"cap\00" -@field_names.363 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 4 }, { ptr, i64 } { ptr @fld.str.362, i64 3 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.367 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.368 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.369 = private constant [6 x i8] c"first\00" -@fld.str.370 = private constant [10 x i8] c"end_index\00" -@fld.str.371 = private constant [7 x i8] c"parent\00" -@field_names.372 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 5 }, { ptr, i64 } { ptr @fld.str.370, i64 9 }, { ptr, i64 } { ptr @fld.str.371, i64 6 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.375 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.376 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.377 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.378 = private constant [4 x i8] c"buf\00" -@fld.str.379 = private constant [4 x i8] c"len\00" -@fld.str.380 = private constant [4 x i8] c"pos\00" -@field_names.381 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 3 }, { ptr, i64 } { ptr @fld.str.379, i64 3 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }] -@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.383 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.387 = private constant [7 x i8] c"parent\00" -@fld.str.388 = private constant [12 x i8] c"alloc_count\00" -@fld.str.389 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.390 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.391 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 6 }, { ptr, i64 } { ptr @fld.str.388, i64 11 }, { ptr, i64 } { ptr @fld.str.389, i64 13 }, { ptr, i64 } { ptr @fld.str.390, i64 17 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.397 = private constant [3 x i8] c"fd\00" -@field_names.398 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 2 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [5 x i8] c"file\00" -@fld.str.405 = private constant [5 x i8] c"line\00" -@fld.str.406 = private constant [4 x i8] c"col\00" -@fld.str.407 = private constant [5 x i8] c"func\00" -@fld.str.408 = private constant [10 x i8] c"line_text\00" -@field_names.409 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 4 }, { ptr, i64 } { ptr @fld.str.405, i64 4 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }, { ptr, i64 } { ptr @fld.str.407, i64 4 }, { ptr, i64 } { ptr @fld.str.408, i64 9 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.412 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.414 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.415 = private constant [10 x i8] c"exit_code\00" -@fld.str.416 = private constant [7 x i8] c"stdout\00" -@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 9 }, { ptr, i64 } { ptr @fld.str.416, i64 6 }] -@str.418 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.419 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.421 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.422 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.423 = private constant [8 x i8] c"sin_len\00" -@fld.str.424 = private constant [11 x i8] c"sin_family\00" -@fld.str.425 = private constant [9 x i8] c"sin_port\00" -@fld.str.426 = private constant [9 x i8] c"sin_addr\00" -@fld.str.427 = private constant [9 x i8] c"sin_zero\00" -@field_names.428 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 7 }, { ptr, i64 } { ptr @fld.str.424, i64 10 }, { ptr, i64 } { ptr @fld.str.425, i64 8 }, { ptr, i64 } { ptr @fld.str.426, i64 8 }, { ptr, i64 } { ptr @fld.str.427, i64 8 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.431 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.432 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.433 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.434 = private constant [6 x i8] c"items\00" -@fld.str.435 = private constant [4 x i8] c"len\00" -@fld.str.436 = private constant [4 x i8] c"cap\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 5 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }] +@str.331 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.332 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.333 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.334 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.335 = private unnamed_addr constant [2 x i8] c"x\00", align 1 +@str.336 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 +@str.337 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.338 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 +@str.339 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.340 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.341 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.342 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str = private constant [5 x i8] c"file\00" +@fld.str.343 = private constant [5 x i8] c"line\00" +@fld.str.344 = private constant [4 x i8] c"col\00" +@fld.str.345 = 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.343, i64 4 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 4 }] +@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.347 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.348 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.349 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.350 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.351 = private constant [4 x i8] c"ctx\00" +@fld.str.352 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.353 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.354 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 3 }, { ptr, i64 } { ptr @fld.str.352, i64 11 }, { ptr, i64 } { ptr @fld.str.353, i64 13 }] +@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.356 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.357 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.358 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.359 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.360 = private constant [10 x i8] c"allocator\00" +@fld.str.361 = private constant [5 x i8] c"data\00" +@field_names.362 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 9 }, { ptr, i64 } { ptr @fld.str.361, i64 4 }] +@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.364 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.368 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [12 x i8] c"alloc_count\00" +@field_names.375 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 11 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.381 = private constant [5 x i8] c"next\00" +@fld.str.382 = private constant [4 x i8] c"cap\00" +@field_names.383 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 3 }] +@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.385 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.389 = private constant [6 x i8] c"first\00" +@fld.str.390 = private constant [10 x i8] c"end_index\00" +@fld.str.391 = private constant [7 x i8] c"parent\00" +@field_names.392 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 5 }, { ptr, i64 } { ptr @fld.str.390, i64 9 }, { ptr, i64 } { ptr @fld.str.391, i64 6 }] +@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.394 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.395 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.396 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.397 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.398 = private constant [4 x i8] c"buf\00" +@fld.str.399 = private constant [4 x i8] c"len\00" +@fld.str.400 = private constant [4 x i8] c"pos\00" +@field_names.401 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 3 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }] +@str.402 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.403 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.404 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.405 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.406 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.407 = private constant [7 x i8] c"parent\00" +@fld.str.408 = private constant [12 x i8] c"alloc_count\00" +@fld.str.409 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.410 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.411 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.407, i64 6 }, { ptr, i64 } { ptr @fld.str.408, i64 11 }, { ptr, i64 } { ptr @fld.str.409, i64 13 }, { ptr, i64 } { ptr @fld.str.410, i64 17 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.417 = private constant [3 x i8] c"fd\00" +@field_names.418 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 2 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [5 x i8] c"file\00" +@fld.str.425 = private constant [5 x i8] c"line\00" +@fld.str.426 = private constant [4 x i8] c"col\00" +@fld.str.427 = private constant [5 x i8] c"func\00" +@fld.str.428 = private constant [10 x i8] c"line_text\00" +@field_names.429 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 4 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 4 }, { ptr, i64 } { ptr @fld.str.428, i64 9 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.432 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.433 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.434 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.435 = private constant [10 x i8] c"exit_code\00" +@fld.str.436 = private constant [7 x i8] c"stdout\00" +@field_names.437 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 9 }, { ptr, i64 } { ptr @fld.str.436, i64 6 }] @str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.439 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.440 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.441 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.442 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.443 = private constant [6 x i8] c"items\00" -@fld.str.444 = private constant [4 x i8] c"len\00" -@fld.str.445 = private constant [4 x i8] c"cap\00" -@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 5 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 3 }] -@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.448 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.452 = private constant [4 x i8] c"key\00" -@fld.str.453 = private constant [4 x i8] c"val\00" -@field_names.454 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 3 }, { ptr, i64 } { ptr @fld.str.453, i64 3 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.458 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.459 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.460 = private constant [4 x i8] c"dst\00" -@fld.str.461 = private constant [4 x i8] c"pos\00" -@fld.str.462 = private constant [5 x i8] c"file\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 3 }, { ptr, i64 } { ptr @fld.str.462, i64 4 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.469 = private constant [4 x i8] c"src\00" -@fld.str.470 = private constant [4 x i8] c"pos\00" -@fld.str.471 = private constant [6 x i8] c"alloc\00" -@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 5 }] -@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.478 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.483 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.484 = private constant [5 x i8] c"name\00" -@fld.str.485 = private constant [12 x i8] c"takes_value\00" -@fld.str.486 = private constant [9 x i8] c"required\00" -@field_names.487 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 11 }, { ptr, i64 } { ptr @fld.str.486, i64 8 }] -@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.489 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.491 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.492 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.493 = private constant [6 x i8] c"group\00" -@fld.str.494 = private constant [8 x i8] c"command\00" -@fld.str.495 = private constant [6 x i8] c"flags\00" -@field_names.496 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.493, i64 5 }, { ptr, i64 } { ptr @fld.str.494, i64 7 }, { ptr, i64 } { ptr @fld.str.495, i64 5 }] -@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.498 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.499 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.500 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.501 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.502 = private constant [4 x i8] c"set\00" -@fld.str.503 = private constant [6 x i8] c"value\00" -@field_names.504 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 5 }] -@str.505 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.506 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.508 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.509 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.510 = private constant [6 x i8] c"index\00" -@fld.str.511 = private constant [6 x i8] c"token\00" -@field_names.512 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 5 }, { ptr, i64 } { ptr @fld.str.511, i64 5 }] -@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.514 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.516 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.517 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.518 = private constant [6 x i8] c"group\00" -@fld.str.519 = private constant [8 x i8] c"command\00" -@fld.str.520 = private constant [10 x i8] c"cmd_index\00" -@fld.str.521 = private constant [5 x i8] c"json\00" -@fld.str.522 = private constant [5 x i8] c"rest\00" -@fld.str.523 = private constant [5 x i8] c"spec\00" -@fld.str.524 = private constant [7 x i8] c"values\00" -@field_names.525 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 9 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 4 }, { ptr, i64 } { ptr @fld.str.524, i64 6 }] -@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.527 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.531 = private constant [2 x i8] c"h\00" -@fld.str.532 = private constant [4 x i8] c"buf\00" -@fld.str.533 = private constant [8 x i8] c"buf_len\00" -@fld.str.534 = private constant [10 x i8] c"total_len\00" -@field_names.535 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 1 }, { ptr, i64 } { ptr @fld.str.532, i64 3 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }, { ptr, i64 } { ptr @fld.str.534, i64 9 }] -@str.536 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.537 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.538 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.539 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.541 = private constant [4 x i8] c"sec\00" -@fld.str.542 = private constant [5 x i8] c"nsec\00" -@field_names.543 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }] -@str.544 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.545 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.547 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.549 = private constant [6 x i8] c"ident\00" -@fld.str.550 = private constant [7 x i8] c"filter\00" -@fld.str.551 = private constant [6 x i8] c"flags\00" -@fld.str.552 = private constant [7 x i8] c"fflags\00" -@fld.str.553 = private constant [5 x i8] c"data\00" -@fld.str.554 = private constant [6 x i8] c"udata\00" -@field_names.555 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.549, i64 5 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 4 }, { ptr, i64 } { ptr @fld.str.554, i64 5 }] +@fld.str.443 = private constant [8 x i8] c"sin_len\00" +@fld.str.444 = private constant [11 x i8] c"sin_family\00" +@fld.str.445 = private constant [9 x i8] c"sin_port\00" +@fld.str.446 = private constant [9 x i8] c"sin_addr\00" +@fld.str.447 = private constant [9 x i8] c"sin_zero\00" +@field_names.448 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 7 }, { ptr, i64 } { ptr @fld.str.444, i64 10 }, { ptr, i64 } { ptr @fld.str.445, i64 8 }, { ptr, i64 } { ptr @fld.str.446, i64 8 }, { ptr, i64 } { ptr @fld.str.447, i64 8 }] +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.451 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.452 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.453 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.454 = private constant [6 x i8] c"items\00" +@fld.str.455 = private constant [4 x i8] c"len\00" +@fld.str.456 = private constant [4 x i8] c"cap\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 5 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }, { ptr, i64 } { ptr @fld.str.456, i64 3 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.460 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.461 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.462 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.463 = private constant [6 x i8] c"items\00" +@fld.str.464 = private constant [4 x i8] c"len\00" +@fld.str.465 = private constant [4 x i8] c"cap\00" +@field_names.466 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.463, i64 5 }, { ptr, i64 } { ptr @fld.str.464, i64 3 }, { ptr, i64 } { ptr @fld.str.465, i64 3 }] +@str.467 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.468 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.469 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.470 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.471 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.472 = private constant [4 x i8] c"key\00" +@fld.str.473 = private constant [4 x i8] c"val\00" +@field_names.474 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.472, i64 3 }, { ptr, i64 } { ptr @fld.str.473, i64 3 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.478 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.479 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.480 = private constant [4 x i8] c"dst\00" +@fld.str.481 = private constant [4 x i8] c"pos\00" +@fld.str.482 = private constant [5 x i8] c"file\00" +@field_names.483 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 3 }, { ptr, i64 } { ptr @fld.str.481, i64 3 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }] +@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.485 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.489 = private constant [4 x i8] c"src\00" +@fld.str.490 = private constant [4 x i8] c"pos\00" +@fld.str.491 = private constant [6 x i8] c"alloc\00" +@field_names.492 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 3 }, { ptr, i64 } { ptr @fld.str.490, i64 3 }, { ptr, i64 } { ptr @fld.str.491, i64 5 }] +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.498 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.504 = private constant [5 x i8] c"name\00" +@fld.str.505 = private constant [12 x i8] c"takes_value\00" +@fld.str.506 = private constant [9 x i8] c"required\00" +@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 11 }, { ptr, i64 } { ptr @fld.str.506, i64 8 }] +@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.509 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.513 = private constant [6 x i8] c"group\00" +@fld.str.514 = private constant [8 x i8] c"command\00" +@fld.str.515 = private constant [6 x i8] c"flags\00" +@field_names.516 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 7 }, { ptr, i64 } { ptr @fld.str.515, i64 5 }] +@str.517 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.518 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.519 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.520 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.521 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.522 = private constant [4 x i8] c"set\00" +@fld.str.523 = private constant [6 x i8] c"value\00" +@field_names.524 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 3 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }] +@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.526 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.528 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.529 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.530 = private constant [6 x i8] c"index\00" +@fld.str.531 = private constant [6 x i8] c"token\00" +@field_names.532 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }] +@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.534 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.538 = private constant [6 x i8] c"group\00" +@fld.str.539 = private constant [8 x i8] c"command\00" +@fld.str.540 = private constant [10 x i8] c"cmd_index\00" +@fld.str.541 = private constant [5 x i8] c"json\00" +@fld.str.542 = private constant [5 x i8] c"rest\00" +@fld.str.543 = private constant [5 x i8] c"spec\00" +@fld.str.544 = private constant [7 x i8] c"values\00" +@field_names.545 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 9 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }] +@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.547 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.550 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.551 = private constant [2 x i8] c"h\00" +@fld.str.552 = private constant [4 x i8] c"buf\00" +@fld.str.553 = private constant [8 x i8] c"buf_len\00" +@fld.str.554 = private constant [10 x i8] c"total_len\00" +@field_names.555 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 1 }, { ptr, i64 } { ptr @fld.str.552, i64 3 }, { ptr, i64 } { ptr @fld.str.553, i64 7 }, { ptr, i64 } { ptr @fld.str.554, i64 9 }] @str.556 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.557 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.557 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.558 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.559 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.560 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -496,232 +496,328 @@ @fld.str.562 = private constant [5 x i8] c"nsec\00" @field_names.563 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.561, i64 3 }, { ptr, i64 } { ptr @fld.str.562, i64 4 }] @str.564 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.565 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.565 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.567 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.568 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.569 = private constant [3 x i8] c"fd\00" -@fld.str.570 = private constant [6 x i8] c"udata\00" -@fld.str.571 = private constant [9 x i8] c"readable\00" -@fld.str.572 = private constant [9 x i8] c"writable\00" -@fld.str.573 = private constant [4 x i8] c"eof\00" -@fld.str.574 = private constant [4 x i8] c"err\00" -@fld.str.575 = private constant [7 x i8] c"nbytes\00" -@field_names.576 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 2 }, { ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 8 }, { ptr, i64 } { ptr @fld.str.572, i64 8 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }, { ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 6 }] -@str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.582 = private constant [3 x i8] c"kq\00" -@field_names.583 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }] +@fld.str.569 = private constant [6 x i8] c"ident\00" +@fld.str.570 = private constant [7 x i8] c"filter\00" +@fld.str.571 = private constant [6 x i8] c"flags\00" +@fld.str.572 = private constant [7 x i8] c"fflags\00" +@fld.str.573 = private constant [5 x i8] c"data\00" +@fld.str.574 = private constant [6 x i8] c"udata\00" +@field_names.575 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }, { ptr, i64 } { ptr @fld.str.571, i64 5 }, { ptr, i64 } { ptr @fld.str.572, i64 6 }, { ptr, i64 } { ptr @fld.str.573, i64 4 }, { ptr, i64 } { ptr @fld.str.574, i64 5 }] +@str.576 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.577 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.578 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.580 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.581 = private constant [4 x i8] c"sec\00" +@fld.str.582 = private constant [5 x i8] c"nsec\00" +@field_names.583 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 4 }] @str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.586 = private constant [5 x i8] c"read\00" -@fld.str.587 = private constant [6 x i8] c"write\00" -@fld.str.588 = private constant [7 x i8] c"append\00" -@fld.str.589 = private constant [11 x i8] c"read_write\00" -@field_names.590 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }, { ptr, i64 } { ptr @fld.str.589, i64 10 }] -@str.591 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.594 = private constant [4 x i8] c"set\00" -@fld.str.595 = private constant [8 x i8] c"current\00" -@fld.str.596 = private constant [4 x i8] c"end\00" -@field_names.597 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 7 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [6 x i8] c"null_\00" -@fld.str.602 = private constant [6 x i8] c"bool_\00" -@fld.str.603 = private constant [5 x i8] c"int_\00" -@fld.str.604 = private constant [4 x i8] c"str\00" -@fld.str.605 = private constant [6 x i8] c"array\00" -@fld.str.606 = private constant [7 x i8] c"object\00" -@field_names.607 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 5 }, { ptr, i64 } { ptr @fld.str.602, i64 5 }, { ptr, i64 } { ptr @fld.str.603, i64 4 }, { ptr, i64 } { ptr @fld.str.604, i64 3 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }] -@str.608 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.609 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.610 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.611 = private constant [6 x i8] c"macos\00" -@fld.str.612 = private constant [6 x i8] c"linux\00" -@fld.str.613 = private constant [8 x i8] c"windows\00" -@fld.str.614 = private constant [5 x i8] c"wasm\00" -@fld.str.615 = private constant [4 x i8] c"ios\00" -@fld.str.616 = private constant [8 x i8] c"android\00" -@fld.str.617 = private constant [8 x i8] c"unknown\00" -@field_names.618 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.611, i64 5 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 7 }, { ptr, i64 } { ptr @fld.str.614, i64 4 }, { ptr, i64 } { ptr @fld.str.615, i64 3 }, { ptr, i64 } { ptr @fld.str.616, i64 7 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }] -@str.619 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.620 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.621 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.622 = private constant [8 x i8] c"aarch64\00" -@fld.str.623 = private constant [7 x i8] c"x86_64\00" -@fld.str.624 = private constant [7 x i8] c"wasm32\00" -@fld.str.625 = private constant [7 x i8] c"wasm64\00" -@fld.str.626 = private constant [8 x i8] c"unknown\00" -@field_names.627 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 7 }, { ptr, i64 } { ptr @fld.str.623, i64 6 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }, { ptr, i64 } { ptr @fld.str.626, i64 7 }] -@str.628 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.644 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.659 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.665 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.666 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.668 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.671 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.672 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.673 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.674 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.675 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.676 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.677 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.678 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.679 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.680 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.681 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.682 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.683 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.685 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.686 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.688 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.689 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.691 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.692 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.694 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.695 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.697 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.698 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.700 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.701 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.703 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.704 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.705 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.706 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.707 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.708 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.709 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.710 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.711 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.712 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.713 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.715 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.716 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.718 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.719 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.721 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.722 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.724 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.725 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.726 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.727 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.728 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.731 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.585 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.587 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.588 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.589 = private constant [3 x i8] c"fd\00" +@fld.str.590 = private constant [6 x i8] c"udata\00" +@fld.str.591 = private constant [9 x i8] c"readable\00" +@fld.str.592 = private constant [9 x i8] c"writable\00" +@fld.str.593 = private constant [4 x i8] c"eof\00" +@fld.str.594 = private constant [4 x i8] c"err\00" +@fld.str.595 = private constant [7 x i8] c"nbytes\00" +@field_names.596 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 2 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 8 }, { ptr, i64 } { ptr @fld.str.592, i64 8 }, { ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.602 = private constant [3 x i8] c"kq\00" +@field_names.603 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 2 }] +@str.604 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.607 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.608 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.609 = private constant [5 x i8] c"port\00" +@fld.str.610 = private constant [8 x i8] c"backlog\00" +@fld.str.611 = private constant [9 x i8] c"max_conn\00" +@fld.str.612 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.613 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.614 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.615 = private constant [14 x i8] c"request_count\00" +@field_names.616 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 4 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }, { ptr, i64 } { ptr @fld.str.611, i64 8 }, { ptr, i64 } { ptr @fld.str.612, i64 12 }, { ptr, i64 } { ptr @fld.str.613, i64 18 }, { ptr, i64 } { ptr @fld.str.614, i64 20 }, { ptr, i64 } { ptr @fld.str.615, i64 13 }] +@str.617 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.618 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.619 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.620 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.621 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.622 = private constant [7 x i8] c"method\00" +@fld.str.623 = private constant [5 x i8] c"path\00" +@fld.str.624 = private constant [8 x i8] c"version\00" +@fld.str.625 = private constant [12 x i8] c"headers_raw\00" +@fld.str.626 = private constant [5 x i8] c"body\00" +@fld.str.627 = private constant [11 x i8] c"keep_alive\00" +@field_names.628 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 4 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }, { ptr, i64 } { ptr @fld.str.625, i64 11 }, { ptr, i64 } { ptr @fld.str.626, i64 4 }, { ptr, i64 } { ptr @fld.str.627, i64 10 }] +@str.629 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.630 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.631 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.632 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.633 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.634 = private constant [7 x i8] c"status\00" +@fld.str.635 = private constant [13 x i8] c"content_type\00" +@fld.str.636 = private constant [14 x i8] c"extra_headers\00" +@fld.str.637 = private constant [5 x i8] c"body\00" +@field_names.638 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.634, i64 6 }, { ptr, i64 } { ptr @fld.str.635, i64 12 }, { ptr, i64 } { ptr @fld.str.636, i64 13 }, { ptr, i64 } { ptr @fld.str.637, i64 4 }] +@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.640 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.641 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.642 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.644 = private constant [3 x i8] c"fd\00" +@fld.str.645 = private constant [6 x i8] c"state\00" +@fld.str.646 = private constant [9 x i8] c"read_buf\00" +@fld.str.647 = private constant [9 x i8] c"read_len\00" +@fld.str.648 = private constant [8 x i8] c"out_buf\00" +@fld.str.649 = private constant [8 x i8] c"out_len\00" +@fld.str.650 = private constant [9 x i8] c"out_sent\00" +@fld.str.651 = private constant [9 x i8] c"deadline\00" +@fld.str.652 = private constant [7 x i8] c"served\00" +@fld.str.653 = private constant [12 x i8] c"close_after\00" +@fld.str.654 = private constant [12 x i8] c"write_armed\00" +@field_names.655 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 2 }, { ptr, i64 } { ptr @fld.str.645, i64 5 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 8 }, { ptr, i64 } { ptr @fld.str.648, i64 7 }, { ptr, i64 } { ptr @fld.str.649, i64 7 }, { ptr, i64 } { ptr @fld.str.650, i64 8 }, { ptr, i64 } { ptr @fld.str.651, i64 8 }, { ptr, i64 } { ptr @fld.str.652, i64 6 }, { ptr, i64 } { ptr @fld.str.653, i64 11 }, { ptr, i64 } { ptr @fld.str.654, i64 11 }] +@str.656 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.657 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.661 = private constant [4 x i8] c"cfg\00" +@fld.str.662 = private constant [5 x i8] c"loop\00" +@fld.str.663 = private constant [4 x i8] c"lfd\00" +@fld.str.664 = private constant [6 x i8] c"conns\00" +@fld.str.665 = private constant [10 x i8] c"own_alloc\00" +@fld.str.666 = private constant [8 x i8] c"handler\00" +@field_names.667 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.661, i64 3 }, { ptr, i64 } { ptr @fld.str.662, i64 4 }, { ptr, i64 } { ptr @fld.str.663, i64 3 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 9 }, { ptr, i64 } { ptr @fld.str.666, i64 7 }] +@str.668 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.670 = private constant [5 x i8] c"read\00" +@fld.str.671 = private constant [6 x i8] c"write\00" +@fld.str.672 = private constant [7 x i8] c"append\00" +@fld.str.673 = private constant [11 x i8] c"read_write\00" +@field_names.674 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 4 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 6 }, { ptr, i64 } { ptr @fld.str.673, i64 10 }] +@str.675 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.678 = private constant [4 x i8] c"set\00" +@fld.str.679 = private constant [8 x i8] c"current\00" +@fld.str.680 = private constant [4 x i8] c"end\00" +@field_names.681 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 7 }, { ptr, i64 } { ptr @fld.str.680, i64 3 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [6 x i8] c"null_\00" +@fld.str.686 = private constant [6 x i8] c"bool_\00" +@fld.str.687 = private constant [5 x i8] c"int_\00" +@fld.str.688 = private constant [4 x i8] c"str\00" +@fld.str.689 = private constant [6 x i8] c"array\00" +@fld.str.690 = private constant [7 x i8] c"object\00" +@field_names.691 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 5 }, { ptr, i64 } { ptr @fld.str.686, i64 5 }, { ptr, i64 } { ptr @fld.str.687, i64 4 }, { ptr, i64 } { ptr @fld.str.688, i64 3 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 6 }] +@str.692 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.694 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.695 = private constant [6 x i8] c"macos\00" +@fld.str.696 = private constant [6 x i8] c"linux\00" +@fld.str.697 = private constant [8 x i8] c"windows\00" +@fld.str.698 = private constant [5 x i8] c"wasm\00" +@fld.str.699 = private constant [4 x i8] c"ios\00" +@fld.str.700 = private constant [8 x i8] c"android\00" +@fld.str.701 = private constant [8 x i8] c"unknown\00" +@field_names.702 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 5 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 7 }, { ptr, i64 } { ptr @fld.str.698, i64 4 }, { ptr, i64 } { ptr @fld.str.699, i64 3 }, { ptr, i64 } { ptr @fld.str.700, i64 7 }, { ptr, i64 } { ptr @fld.str.701, i64 7 }] +@str.703 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.706 = private constant [8 x i8] c"aarch64\00" +@fld.str.707 = private constant [7 x i8] c"x86_64\00" +@fld.str.708 = private constant [7 x i8] c"wasm32\00" +@fld.str.709 = private constant [7 x i8] c"wasm64\00" +@fld.str.710 = private constant [8 x i8] c"unknown\00" +@field_names.711 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.706, i64 7 }, { ptr, i64 } { ptr @fld.str.707, i64 6 }, { ptr, i64 } { ptr @fld.str.708, i64 6 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }, { ptr, i64 } { ptr @fld.str.710, i64 7 }] +@str.712 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.716 = private unnamed_addr constant [3 x i8] c", \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 +@str.720 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.725 = private unnamed_addr constant [3 x i8] c", \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 +@str.729 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.734 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.737 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.740 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.743 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.746 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.749 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.750 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.752 = private unnamed_addr constant [3 x i8] c", \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 +@str.756 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.757 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.758 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.760 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.763 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.766 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.769 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.772 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.775 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.778 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 +@str.778 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.781 = private unnamed_addr constant [8 x i8] c"*[5]Any\00", align 1 +@str.781 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.784 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.784 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.787 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.790 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.793 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.796 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.799 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.802 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.805 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.808 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.811 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.814 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.817 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.820 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.823 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.826 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.829 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.832 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.835 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.838 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.841 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.844 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.847 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.850 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.853 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.863 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.866 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.872 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.873 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.874 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 +@str.875 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [8 x i8] c"*[5]Any\00", align 1 +@str.878 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.879 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.880 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.881 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.882 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.884 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.885 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.886 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1159,38 +1255,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.431 + br label %while.hdr.465 -while.hdr.431: ; preds = %if.merge.436, %entry +while.hdr.465: ; preds = %if.merge.470, %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.432, label %while.exit.433 + br i1 %icmp, label %while.body.466, label %while.exit.467 -while.body.432: ; preds = %while.hdr.431 +while.body.466: ; preds = %while.hdr.465 %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.434, label %if.else.435 + br i1 %icmpN, label %if.then.468, label %if.else.469 -while.exit.433: ; preds = %while.hdr.431 +while.exit.467: ; preds = %while.hdr.465 ret void -if.then.434: ; preds = %while.body.432 +if.then.468: ; preds = %while.body.466 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.436 + br label %if.merge.470 -if.else.435: ; preds = %while.body.432 +if.else.469: ; preds = %while.body.466 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.436 + br label %if.merge.470 -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi i64 [ %addN, %if.then.434 ], [ %addN, %if.else.435 ] +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi i64 [ %addN, %if.then.468 ], [ %addN, %if.else.469 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1203,7 +1299,7 @@ if.merge.436: ; preds = %if.else.435, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.431 + br label %while.hdr.465 } ; Function Attrs: nounwind @@ -1316,12 +1412,12 @@ entry: 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.429, label %if.merge.430 + br i1 %icmp, label %if.then.463, label %if.merge.464 -if.then.429: ; preds = %entry +if.then.463: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.430: ; preds = %entry +if.merge.464: ; 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 @@ -1344,14 +1440,14 @@ if.merge.430: ; preds = %entry %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.437 + br label %while.hdr.471 -while.hdr.437: ; preds = %if.merge.441, %if.merge.430 +while.hdr.471: ; preds = %if.merge.475, %if.merge.464 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.438, label %while.exit.439 + br i1 %icmpN, label %while.body.472, label %while.exit.473 -while.body.438: ; preds = %while.hdr.437 +while.body.472: ; preds = %while.hdr.471 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1359,9 +1455,9 @@ while.body.438: ; preds = %while.hdr.437 %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.440, label %if.merge.441 + br i1 %icmpN, label %if.then.474, label %if.merge.475 -while.exit.439: ; preds = %if.then.440, %while.hdr.437 +while.exit.473: ; preds = %if.then.474, %while.hdr.471 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1369,14 +1465,14 @@ while.exit.439: ; preds = %if.then.440, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.440: ; preds = %while.body.438 - br label %while.exit.439 +if.then.474: ; preds = %while.body.472 + br label %while.exit.473 -if.merge.441: ; preds = %while.body.438 +if.merge.475: ; preds = %while.body.472 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.437 + br label %while.hdr.471 } ; Function Attrs: nounwind @@ -1524,6 +1620,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1534,21 +1635,22 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 115, label %match.arm.47 - i64 117, label %match.arm.47 - i64 121, label %match.arm.47 - i64 123, label %match.arm.47 + i64 127, label %match.arm.47 + i64 129, label %match.arm.47 + i64 133, label %match.arm.47 + i64 135, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 112, label %match.arm.48 + i64 124, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1575,17 +1677,21 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, label %match.arm.49 - i64 111, label %match.arm.49 - i64 113, label %match.arm.49 i64 114, label %match.arm.49 i64 116, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 117, label %match.arm.49 + i64 121, label %match.arm.49 i64 122, label %match.arm.49 - i64 124, label %match.arm.49 + i64 123, label %match.arm.49 i64 125, label %match.arm.49 + i64 126, label %match.arm.49 + i64 128, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 + i64 134, label %match.arm.49 + i64 136, label %match.arm.49 + i64 137, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1594,7 +1700,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.550, %dispatch.merge.387, %dispatch.merge.349, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.596, %dispatch.merge.417, %dispatch.merge.379, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1608,7 +1714,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [193 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [211 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1636,7 +1742,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1671,28 +1777,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1704,85 +1815,89 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 115, label %dispatch.case.300 - i64 117, label %dispatch.case.301 - i64 121, label %dispatch.case.302 - i64 123, label %dispatch.case.303 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 127, label %dispatch.case.330 + i64 129, label %dispatch.case.331 + i64 133, label %dispatch.case.332 + i64 135, label %dispatch.case.333 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.350 [ - i64 24, label %dispatch.case.351 - i64 64, label %dispatch.case.352 - i64 81, label %dispatch.case.353 - i64 89, label %dispatch.case.354 - i64 109, label %dispatch.case.355 - i64 112, label %dispatch.case.356 + switch i64 %ua.raw33, label %dispatch.default.380 [ + i64 24, label %dispatch.case.381 + i64 64, label %dispatch.case.382 + i64 81, label %dispatch.case.383 + i64 89, label %dispatch.case.384 + i64 109, label %dispatch.case.385 + i64 124, label %dispatch.case.386 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.388 [ - i64 19, label %dispatch.case.389 - i64 26, label %dispatch.case.390 - i64 28, label %dispatch.case.391 - i64 30, label %dispatch.case.392 - i64 32, label %dispatch.case.393 - i64 33, label %dispatch.case.394 - i64 35, label %dispatch.case.395 - i64 37, label %dispatch.case.396 - i64 41, label %dispatch.case.397 - i64 48, label %dispatch.case.398 - i64 50, label %dispatch.case.399 - i64 51, label %dispatch.case.400 - i64 60, label %dispatch.case.401 - i64 61, label %dispatch.case.402 - i64 62, label %dispatch.case.403 - i64 63, label %dispatch.case.404 - i64 66, label %dispatch.case.405 - i64 71, label %dispatch.case.406 - i64 78, label %dispatch.case.407 - i64 87, label %dispatch.case.408 - i64 90, label %dispatch.case.409 - i64 94, label %dispatch.case.410 - i64 98, label %dispatch.case.411 - i64 101, label %dispatch.case.412 - i64 102, label %dispatch.case.413 - i64 107, label %dispatch.case.414 - i64 110, label %dispatch.case.415 - i64 111, label %dispatch.case.416 - i64 113, label %dispatch.case.417 - i64 114, label %dispatch.case.418 - i64 116, label %dispatch.case.419 - i64 118, label %dispatch.case.420 - i64 119, label %dispatch.case.421 - i64 120, label %dispatch.case.422 - i64 122, label %dispatch.case.423 - i64 124, label %dispatch.case.424 - i64 125, label %dispatch.case.425 + switch i64 %ua.raw37, label %dispatch.default.418 [ + i64 19, label %dispatch.case.419 + i64 26, label %dispatch.case.420 + i64 28, label %dispatch.case.421 + i64 30, label %dispatch.case.422 + i64 32, label %dispatch.case.423 + i64 33, label %dispatch.case.424 + i64 35, label %dispatch.case.425 + i64 37, label %dispatch.case.426 + i64 41, label %dispatch.case.427 + i64 48, label %dispatch.case.428 + i64 50, label %dispatch.case.429 + i64 51, label %dispatch.case.430 + i64 60, label %dispatch.case.431 + i64 61, label %dispatch.case.432 + i64 62, label %dispatch.case.433 + i64 63, label %dispatch.case.434 + i64 66, label %dispatch.case.435 + i64 71, label %dispatch.case.436 + i64 78, label %dispatch.case.437 + i64 87, label %dispatch.case.438 + i64 90, label %dispatch.case.439 + i64 94, label %dispatch.case.440 + i64 98, label %dispatch.case.441 + i64 101, label %dispatch.case.442 + i64 102, label %dispatch.case.443 + i64 107, label %dispatch.case.444 + i64 114, label %dispatch.case.445 + i64 116, label %dispatch.case.446 + i64 117, label %dispatch.case.447 + i64 121, label %dispatch.case.448 + i64 122, label %dispatch.case.449 + i64 123, label %dispatch.case.450 + i64 125, label %dispatch.case.451 + i64 126, label %dispatch.case.452 + i64 128, label %dispatch.case.453 + i64 130, label %dispatch.case.454 + i64 131, label %dispatch.case.455 + i64 132, label %dispatch.case.456 + i64 134, label %dispatch.case.457 + i64 136, label %dispatch.case.458 + i64 137, label %dispatch.case.459 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.551 [ - i64 42, label %dispatch.case.552 - i64 43, label %dispatch.case.553 - i64 45, label %dispatch.case.554 - i64 47, label %dispatch.case.555 - i64 95, label %dispatch.case.556 + switch i64 %ua.raw41, label %dispatch.default.597 [ + i64 42, label %dispatch.case.598 + i64 43, label %dispatch.case.599 + i64 45, label %dispatch.case.600 + i64 47, label %dispatch.case.601 + i64 95, label %dispatch.case.602 ] match.arm.51: ; preds = %entry @@ -1791,7 +1906,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [193 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [211 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1836,13 +1951,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2085,500 +2200,568 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.303, %dispatch.case.302, %dispatch.case.301, %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.296, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.316, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.case.301: ; preds = %match.arm.47 +dispatch.case.326: ; preds = %match.arm.47 %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [3 x { i64, i64 }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load220) + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.case.302: ; preds = %match.arm.47 +dispatch.case.327: ; preds = %match.arm.47 %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [2 x { i64, i64 }], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load224) + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.case.303: ; preds = %match.arm.47 +dispatch.case.328: ; preds = %match.arm.47 %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [5 x { i64, i64 }], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_5_Any(ptr %0, [5 x { i64, i64 }] %ua.load228) + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.349: ; preds = %dispatch.case.356, %dispatch.case.355, %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.case.351, %dispatch.default.350 +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.331: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [3 x { i64, i64 }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.332: ; preds = %match.arm.47 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [2 x { i64, i64 }], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.333: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [5 x { i64, i64 }], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_5_Any(ptr %0, [5 x { i64, i64 }] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.379: ; preds = %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.default.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.350: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.297, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.349 +dispatch.default.380: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.317, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.379 -dispatch.case.351: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.352: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.353: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.354: ; preds = %match.arm.48 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.355: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.356: ; preds = %match.arm.48 +dispatch.case.381: ; preds = %match.arm.48 %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load253) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load253) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 + br label %dispatch.merge.379 -dispatch.merge.387: ; preds = %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.default.388 +dispatch.case.382: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.383: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.384: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.385: ; preds = %match.arm.48 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.386: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.merge.417: ; preds = %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.default.418 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.388: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.298, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.407: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.408: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.409: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp334) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp337) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp340) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp343) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 +dispatch.default.418: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.318, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.417 dispatch.case.419: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp346) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.420: ; preds = %match.arm.49 - %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 - %iNp349 = inttoptr i64 %ua.raw348 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp349) + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp279) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.421: ; preds = %match.arm.49 - %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 - %iNp352 = inttoptr i64 %ua.raw351 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp352) + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp282) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.422: ; preds = %match.arm.49 - %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 - %iNp355 = inttoptr i64 %ua.raw354 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp355) + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp285) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.423: ; preds = %match.arm.49 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp358) + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp288) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.424: ; preds = %match.arm.49 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %iNp361 = inttoptr i64 %ua.raw360 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %iNp361) + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp291) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.425: ; preds = %match.arm.49 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %iNp364 = inttoptr i64 %ua.raw363 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp364) + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp294) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 -dispatch.merge.550: ; preds = %dispatch.case.556, %dispatch.case.555, %dispatch.case.554, %dispatch.case.553, %dispatch.case.552, %dispatch.default.551 +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.446: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.448: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 + %iNp381 = inttoptr i64 %ua.raw380 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp381) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 + %iNp384 = inttoptr i64 %ua.raw383 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp384) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp387) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp390) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %iNp393 = inttoptr i64 %ua.raw392 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %iNp393) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %iNp396 = inttoptr i64 %ua.raw395 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp396) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.merge.596: ; preds = %dispatch.case.602, %dispatch.case.601, %dispatch.case.600, %dispatch.case.599, %dispatch.case.598, %dispatch.default.597 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.551: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.299, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.550 +dispatch.default.597: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.319, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.596 -dispatch.case.552: ; preds = %match.arm.50 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr368 = inttoptr i64 %ua.raw367 to ptr - %ua.load369 = load { { i32 }, i1 }, ptr %ua.ptr368, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load369) +dispatch.case.598: ; preds = %match.arm.50 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr400 = inttoptr i64 %ua.raw399 to ptr + %ua.load401 = load { { i32 }, i1 }, ptr %ua.ptr400, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load401) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.553: ; preds = %match.arm.50 - %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr372 = inttoptr i64 %ua.raw371 to ptr - %ua.load373 = load { { ptr, i64 }, i1 }, ptr %ua.ptr372, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load373) +dispatch.case.599: ; preds = %match.arm.50 + %ua.raw403 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr404 = inttoptr i64 %ua.raw403 to ptr + %ua.load405 = load { { ptr, i64 }, i1 }, ptr %ua.ptr404, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load405) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.554: ; preds = %match.arm.50 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %iNp376 = inttoptr i64 %ua.raw375 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp376) +dispatch.case.600: ; preds = %match.arm.50 + %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 + %iNp408 = inttoptr i64 %ua.raw407 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp408) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.555: ; preds = %match.arm.50 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr379 = inttoptr i64 %ua.raw378 to ptr - %ua.load380 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr379, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load380) +dispatch.case.601: ; preds = %match.arm.50 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr411 = inttoptr i64 %ua.raw410 to ptr + %ua.load412 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr411, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load412) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.556: ; preds = %match.arm.50 - %ua.raw382 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr383 = inttoptr i64 %ua.raw382 to ptr - %ua.load384 = load { [64 x i8], i1 }, ptr %ua.ptr383, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load384) +dispatch.case.602: ; preds = %match.arm.50 + %ua.raw414 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr415 = inttoptr i64 %ua.raw414 to ptr + %ua.load416 = load { [64 x i8], i1 }, ptr %ua.ptr415, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load416) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 } ; Function Attrs: nounwind @@ -2587,7 +2770,7 @@ 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.300, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.320, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2683,7 +2866,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2691,7 +2874,7 @@ if.then.12: ; preds = %if.then.9 %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.302, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2701,13 +2884,13 @@ if.then.12: ; preds = %if.then.9 %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.303, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2715,7 +2898,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.305, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2729,7 +2912,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2737,7 +2920,7 @@ if.then.23: ; preds = %if.else.10 %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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2748,7 +2931,7 @@ if.then.23: ; preds = %if.else.10 %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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2805,7 +2988,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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 @@ -2813,7 +2996,7 @@ if.then.32: ; preds = %if.then.29 %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.310, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2824,7 +3007,7 @@ if.then.32: ; preds = %if.then.29 %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.311, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2844,7 +3027,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.312, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, 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 @@ -2852,7 +3035,7 @@ if.then.35: ; preds = %while.exit.2 %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.313, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.333, 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 @@ -2863,7 +3046,7 @@ if.then.35: ; preds = %while.exit.2 %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.314, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3696,6 +3879,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: @@ -3711,7 +3942,7 @@ entry: %callN = call i64 @count__pack_i64_i64_i64(ptr @__sx_default_context, i64 1, i64 2, i64 3) %allocaN = alloca i64, align 8 store i64 %callN, ptr %allocaN, align 8 - %callN = call i64 @count__pack_string_bool(ptr @__sx_default_context, { ptr, i64 } { ptr @str.315, i64 1 }, i1 true) + %callN = call i64 @count__pack_string_bool(ptr @__sx_default_context, { ptr, i64 } { ptr @str.335, i64 1 }, i1 true) %allocaN = alloca i64, align 8 store i64 %callN, ptr %allocaN, align 8 %load = load i64, ptr %alloca, align 8 @@ -3831,7 +4062,7 @@ entry: define internal void @print__ct_s9aced10c9b3e5318__pack_i64_i64_i64_i64_i64(ptr %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.316, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.336, i64 15 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3870,7 +4101,7 @@ entry: %gepN = getelementptr inbounds { 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.317, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.337, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ba.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 @@ -3936,7 +4167,7 @@ entry: ; 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.318, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.338, i64 15 }) ret { ptr, i64 } %call } @@ -3947,35 +4178,35 @@ entry: %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.319, i64 15 }, { ptr, i64 } { ptr @str.320, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.339, i64 15 }, { ptr, i64 } { ptr @str.340, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3983,7 +4214,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.326, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, 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 @@ -4003,31 +4234,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -4040,43 +4271,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.327, i64 9 }, { ptr, i64 } { ptr @str.328, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.347, i64 9 }, { ptr, i64 } { ptr @str.348, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.334, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.354, 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.335, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, 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 @@ -4095,24 +4326,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4125,43 +4356,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.336, i64 7 }, { ptr, i64 } { ptr @str.337, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.356, i64 7 }, { ptr, i64 } { ptr @str.357, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.342, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.362, 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.343, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, 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 %alloca, align 8 @@ -4179,19 +4410,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4203,43 +4434,43 @@ 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.344, i64 10 }, { ptr, i64 } { ptr @str.345, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.364, i64 10 }, { ptr, i64 } { ptr @str.365, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4250,7 +4481,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4258,43 +4489,43 @@ 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.350, i64 3 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 3 }, { ptr, i64 } { ptr @str.371, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, 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 @@ -4311,12 +4542,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4327,43 +4558,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.357, i64 10 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 10 }, { ptr, i64 } { ptr @str.378, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.383, 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.364, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, 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 @@ -4381,18 +4612,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4404,91 +4635,7 @@ 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.365, i64 5 }, { ptr, i64 } { ptr @str.366, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.372, 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.373, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.374, i64 8 }, { ptr, i64 } { ptr @str.375, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.385, i64 5 }, { ptr, i64 } { ptr @str.386, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4507,27 +4654,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.381, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.392, 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.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, 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 { 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 @@ -4549,17 +4696,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.394, i64 8 }, { ptr, i64 } { ptr @str.395, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.401, 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.402, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4571,43 +4802,43 @@ 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.383, i64 17 }, { ptr, i64 } { ptr @str.384, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.403, i64 17 }, { ptr, i64 } { ptr @str.404, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.411, 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.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, 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 @@ -4627,29 +4858,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4660,43 +4891,43 @@ 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.393, i64 4 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 4 }, { ptr, i64 } { ptr @str.414, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4713,12 +4944,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4733,43 +4964,43 @@ entry: %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.400, i64 10 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 10 }, { ptr, i64 } { ptr @str.421, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.429, 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.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, 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 @@ -4790,38 +5021,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4835,43 +5066,43 @@ 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.411, i64 13 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 13 }, { ptr, i64 } { ptr @str.432, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.417, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.437, 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.418, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, 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 @@ -4889,18 +5120,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4913,43 +5144,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.419, i64 8 }, { ptr, i64 } { ptr @str.420, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.439, i64 8 }, { ptr, i64 } { ptr @str.440, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.428, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.448, 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.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, 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 @@ -4970,36 +5201,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -5010,89 +5241,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.430, i64 5 }, { ptr, i64 } { ptr @str.431, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.437, 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.438, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.439, i64 6 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 5 }, { ptr, i64 } { ptr @str.451, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5111,24 +5260,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.446, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.457, 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.447, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, 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 @@ -5155,7 +5304,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -5170,13 +5319,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.448, i64 6 }, { ptr, i64 } { ptr @str.449, i64 1 }) + %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.459, i64 6 }, { ptr, i64 } { ptr @str.460, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5185,7 +5332,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5195,24 +5342,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.462, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.454, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.466, 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.455, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.468, i64 6 }, { ptr, i64 } { ptr @str.469, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.474, 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.475, 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 @@ -5230,19 +5461,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5256,93 +5487,7 @@ 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.456, i64 4 }, { ptr, i64 } { ptr @str.457, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.463, 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.464, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.465, i64 6 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.476, i64 4 }, { ptr, i64 } { ptr @str.477, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5361,24 +5506,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.483, 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.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.485, i64 6 }, { ptr, i64 } { ptr @str.486, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.492, 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.493, 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 @@ -5397,24 +5628,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5427,43 +5658,43 @@ 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.474, i64 12 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.494, i64 12 }, { ptr, i64 } { ptr @str.495, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.478, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.498, 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.479, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5474,7 +5705,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5483,95 +5714,7 @@ 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.480, i64 8 }, { ptr, i64 } { ptr @str.481, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.487, 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.488, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.489, i64 7 }, { ptr, i64 } { ptr @str.490, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.500, i64 8 }, { ptr, i64 } { ptr @str.501, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5590,24 +5733,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.496, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.507, 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.497, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.509, i64 7 }, { ptr, i64 } { ptr @str.510, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.516, 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.517, 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 @@ -5626,26 +5857,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5659,86 +5890,7 @@ 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.498, i64 9 }, { ptr, i64 } { ptr @str.499, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.504, 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.505, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.506, i64 4 }, { ptr, i64 } { ptr @str.507, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.518, i64 9 }, { ptr, i64 } { ptr @str.519, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5757,27 +5909,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.512, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.524, 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.513, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, 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 { 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 @@ -5798,11 +5950,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.526, i64 4 }, { ptr, i64 } { ptr @str.527, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.532, 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.533, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5820,43 +6051,43 @@ entry: %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.514, i64 6 }, { ptr, i64 } { ptr @str.515, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 6 }, { ptr, i64 } { ptr @str.535, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.525, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.545, 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.526, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, 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 @@ -5879,51 +6110,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5938,43 +6169,43 @@ entry: %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.527, i64 6 }, { ptr, i64 } { ptr @str.528, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 6 }, { ptr, i64 } { ptr @str.548, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.535, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.555, 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.536, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, 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 @@ -5994,31 +6225,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -6029,82 +6260,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.537, i64 8 }, { ptr, i64 } { ptr @str.538, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.543, 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.544, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.545, i64 6 }, { ptr, i64 } { ptr @str.546, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, i64 8 }, { ptr, i64 } { ptr @str.558, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6113,7 +6269,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -6123,118 +6279,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.555, 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.556, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.557, i64 10 }, { ptr, i64 } { ptr @str.558, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.563, i64 0, i64 %loadN @@ -6260,17 +6314,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.565, i64 6 }, { ptr, i64 } { ptr @str.566, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.575, 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.576, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.577, i64 10 }, { ptr, i64 } { ptr @str.578, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.583, 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.584, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6281,43 +6512,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.565, i64 5 }, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 5 }, { ptr, i64 } { ptr @str.586, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.596, 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.577, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.597, 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, i64 }, ptr %alloca, align 8 @@ -6340,47 +6571,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6391,43 +6622,43 @@ 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.578, i64 4 }, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 4 }, { ptr, i64 } { ptr @str.599, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.603, 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.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, 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 @@ -6444,18 +6675,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } { ptr @str.606, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.616, 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.617, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.618, i64 7 }, { ptr, i64 } { ptr @str.619, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.628, 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.629, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.630, i64 8 }, { ptr, i64 } { ptr @str.631, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.638, 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.639, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } { ptr @str.641, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.655, 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.656, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } { ptr @str.658, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.667, 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.668, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6465,9 +7259,9 @@ entry: %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.674, 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.585, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, 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 @@ -6481,18 +7275,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.592, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6506,9 +7300,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.681, 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.593, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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 @@ -6522,18 +7316,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6558,9 +7352,9 @@ entry: %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.607, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.691, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6574,16 +7368,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.609, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6596,7 +7390,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6656,9 +7450,9 @@ entry: %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.618, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.702, 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.610, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, 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 @@ -6672,18 +7466,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.620, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6697,9 +7491,9 @@ entry: %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.627, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.711, 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.621, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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 @@ -6713,18 +7507,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.629, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6736,33 +7530,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.714, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.304 + br label %while.hdr.334 -while.hdr.304: ; preds = %if.merge.308, %entry +while.hdr.334: ; preds = %if.merge.338, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.305, label %while.exit.306 + br i1 %icmp, label %while.body.335, label %while.exit.336 -while.body.305: ; preds = %while.hdr.304 +while.body.335: ; preds = %while.hdr.334 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.307, label %if.merge.308 + br i1 %icmpN, label %if.then.337, label %if.merge.338 -while.exit.306: ; preds = %while.hdr.304 +while.exit.336: ; preds = %while.hdr.334 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %call -if.then.307: ; preds = %while.body.305 +if.then.337: ; preds = %while.body.335 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.308 + br label %if.merge.338 -if.merge.308: ; preds = %if.then.307, %while.body.305 +if.merge.338: ; preds = %if.then.337, %while.body.335 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6776,7 +7570,7 @@ if.merge.308: ; preds = %if.then.307, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.304 + br label %while.hdr.334 } ; Function Attrs: nounwind @@ -6787,33 +7581,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.633, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.717, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.309 + br label %while.hdr.339 -while.hdr.309: ; preds = %if.merge.313, %entry +while.hdr.339: ; preds = %if.merge.343, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.310, label %while.exit.311 + br i1 %icmp, label %while.body.340, label %while.exit.341 -while.body.310: ; preds = %while.hdr.309 +while.body.340: ; preds = %while.hdr.339 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.312, label %if.merge.313 + br i1 %icmpN, label %if.then.342, label %if.merge.343 -while.exit.311: ; preds = %while.hdr.309 +while.exit.341: ; preds = %while.hdr.339 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) ret { ptr, i64 } %call -if.then.312: ; preds = %while.body.310 +if.then.342: ; preds = %while.body.340 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + %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.313 + br label %if.merge.343 -if.merge.313: ; preds = %if.then.312, %while.body.310 +if.merge.343: ; preds = %if.then.342, %while.body.340 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6829,7 +7623,7 @@ if.merge.313: ; preds = %if.then.312, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.309 + br label %while.hdr.339 } ; Function Attrs: nounwind @@ -6839,33 +7633,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.636, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.720, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.314 + br label %while.hdr.344 -while.hdr.314: ; preds = %if.merge.318, %entry +while.hdr.344: ; preds = %if.merge.348, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.315, label %while.exit.316 + br i1 %icmp, label %while.body.345, label %while.exit.346 -while.body.315: ; preds = %while.hdr.314 +while.body.345: ; preds = %while.hdr.344 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.317, label %if.merge.318 + br i1 %icmpN, label %if.then.347, label %if.merge.348 -while.exit.316: ; preds = %while.hdr.314 +while.exit.346: ; preds = %while.hdr.344 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) ret { ptr, i64 } %call -if.then.317: ; preds = %while.body.315 +if.then.347: ; preds = %while.body.345 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.318 + br label %if.merge.348 -if.merge.318: ; preds = %if.then.317, %while.body.315 +if.merge.348: ; preds = %if.then.347, %while.body.345 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6879,7 +7673,7 @@ if.merge.318: ; preds = %if.then.317, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.314 + br label %while.hdr.344 } ; Function Attrs: nounwind @@ -6889,33 +7683,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.639, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.723, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.319 + br label %while.hdr.349 -while.hdr.319: ; preds = %if.merge.323, %entry +while.hdr.349: ; preds = %if.merge.353, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.320, label %while.exit.321 + br i1 %icmp, label %while.body.350, label %while.exit.351 -while.body.320: ; preds = %while.hdr.319 +while.body.350: ; preds = %while.hdr.349 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.322, label %if.merge.323 + br i1 %icmpN, label %if.then.352, label %if.merge.353 -while.exit.321: ; preds = %while.hdr.319 +while.exit.351: ; preds = %while.hdr.349 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 1 }) ret { ptr, i64 } %call -if.then.322: ; preds = %while.body.320 +if.then.352: ; preds = %while.body.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.323 + br label %if.merge.353 -if.merge.323: ; preds = %if.then.322, %while.body.320 +if.merge.353: ; preds = %if.then.352, %while.body.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6930,7 +7724,7 @@ if.merge.323: ; preds = %if.then.322, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.319 + br label %while.hdr.349 } ; Function Attrs: nounwind @@ -6940,33 +7734,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.642, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.726, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.324 + br label %while.hdr.354 -while.hdr.324: ; preds = %if.merge.328, %entry +while.hdr.354: ; preds = %if.merge.358, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.325, label %while.exit.326 + br i1 %icmp, label %while.body.355, label %while.exit.356 -while.body.325: ; preds = %while.hdr.324 +while.body.355: ; preds = %while.hdr.354 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.327, label %if.merge.328 + br i1 %icmpN, label %if.then.357, label %if.merge.358 -while.exit.326: ; preds = %while.hdr.324 +while.exit.356: ; preds = %while.hdr.354 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 }) ret { ptr, i64 } %call -if.then.327: ; preds = %while.body.325 +if.then.357: ; preds = %while.body.355 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 2 }) + %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.328 + br label %if.merge.358 -if.merge.328: ; preds = %if.then.327, %while.body.325 +if.merge.358: ; preds = %if.then.357, %while.body.355 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6980,7 +7774,7 @@ if.merge.328: ; preds = %if.then.327, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.324 + br label %while.hdr.354 } ; Function Attrs: nounwind @@ -6991,33 +7785,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.645, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.729, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.329 + br label %while.hdr.359 -while.hdr.329: ; preds = %if.merge.333, %entry +while.hdr.359: ; preds = %if.merge.363, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.330, label %while.exit.331 + br i1 %icmp, label %while.body.360, label %while.exit.361 -while.body.330: ; preds = %while.hdr.329 +while.body.360: ; preds = %while.hdr.359 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.332, label %if.merge.333 + br i1 %icmpN, label %if.then.362, label %if.merge.363 -while.exit.331: ; preds = %while.hdr.329 +while.exit.361: ; preds = %while.hdr.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) ret { ptr, i64 } %call -if.then.332: ; preds = %while.body.330 +if.then.362: ; preds = %while.body.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.333 + br label %if.merge.363 -if.merge.333: ; preds = %if.then.332, %while.body.330 +if.merge.363: ; preds = %if.then.362, %while.body.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7033,7 +7827,7 @@ if.merge.333: ; preds = %if.then.332, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.329 + br label %while.hdr.359 } ; Function Attrs: nounwind @@ -7044,33 +7838,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [3 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.648, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.732, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.334 + br label %while.hdr.364 -while.hdr.334: ; preds = %if.merge.338, %entry +while.hdr.364: ; preds = %if.merge.368, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.335, label %while.exit.336 + br i1 %icmp, label %while.body.365, label %while.exit.366 -while.body.335: ; preds = %while.hdr.334 +while.body.365: ; preds = %while.hdr.364 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.337, label %if.merge.338 + br i1 %icmpN, label %if.then.367, label %if.merge.368 -while.exit.336: ; preds = %while.hdr.334 +while.exit.366: ; preds = %while.hdr.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 1 }) ret { ptr, i64 } %call -if.then.337: ; preds = %while.body.335 +if.then.367: ; preds = %while.body.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.338 + br label %if.merge.368 -if.merge.338: ; preds = %if.then.337, %while.body.335 +if.merge.368: ; preds = %if.then.367, %while.body.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [3 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7086,7 +7880,7 @@ if.merge.338: ; preds = %if.then.337, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.334 + br label %while.hdr.364 } ; Function Attrs: nounwind @@ -7097,33 +7891,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [2 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.651, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.735, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 -while.hdr.339: ; preds = %if.merge.343, %entry +while.hdr.369: ; preds = %if.merge.373, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.340, label %while.exit.341 + br i1 %icmp, label %while.body.370, label %while.exit.371 -while.body.340: ; preds = %while.hdr.339 +while.body.370: ; preds = %while.hdr.369 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.342, label %if.merge.343 + br i1 %icmpN, label %if.then.372, label %if.merge.373 -while.exit.341: ; preds = %while.hdr.339 +while.exit.371: ; preds = %while.hdr.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.736, i64 1 }) ret { ptr, i64 } %call -if.then.342: ; preds = %while.body.340 +if.then.372: ; preds = %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.343 + br label %if.merge.373 -if.merge.343: ; preds = %if.then.342, %while.body.340 +if.merge.373: ; preds = %if.then.372, %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [2 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7139,7 +7933,7 @@ if.merge.343: ; preds = %if.then.342, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 } ; Function Attrs: nounwind @@ -7150,33 +7944,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [5 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.654, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.738, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [5 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7192,7 +7986,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -7202,35 +7996,35 @@ entry: %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.657, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.741, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 -while.hdr.357: ; preds = %if.merge.361, %entry +while.hdr.387: ; preds = %if.merge.391, %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.358, label %while.exit.359 + br i1 %icmp, label %while.body.388, label %while.exit.389 -while.body.358: ; preds = %while.hdr.357 +while.body.388: ; preds = %while.hdr.387 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.360, label %if.merge.361 + br i1 %icmpN, label %if.then.390, label %if.merge.391 -while.exit.359: ; preds = %while.hdr.357 +while.exit.389: ; preds = %while.hdr.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 1 }) ret { ptr, i64 } %call -if.then.360: ; preds = %while.body.358 +if.then.390: ; preds = %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.361 + br label %if.merge.391 -if.merge.361: ; preds = %if.then.360, %while.body.358 +if.merge.391: ; preds = %if.then.390, %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7246,7 +8040,7 @@ if.merge.361: ; preds = %if.then.360, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 } ; Function Attrs: nounwind @@ -7255,35 +8049,35 @@ 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.660, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.744, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 -while.hdr.362: ; preds = %if.merge.366, %entry +while.hdr.392: ; preds = %if.merge.396, %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.363, label %while.exit.364 + br i1 %icmp, label %while.body.393, label %while.exit.394 -while.body.363: ; preds = %while.hdr.362 +while.body.393: ; preds = %while.hdr.392 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.365, label %if.merge.366 + br i1 %icmpN, label %if.then.395, label %if.merge.396 -while.exit.364: ; preds = %while.hdr.362 +while.exit.394: ; preds = %while.hdr.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 1 }) ret { ptr, i64 } %call -if.then.365: ; preds = %while.body.363 +if.then.395: ; preds = %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.366 + br label %if.merge.396 -if.merge.366: ; preds = %if.then.365, %while.body.363 +if.merge.396: ; preds = %if.then.395, %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7298,7 +8092,7 @@ if.merge.366: ; preds = %if.then.365, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 } ; Function Attrs: nounwind @@ -7308,35 +8102,35 @@ entry: %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.663, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.747, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 -while.hdr.367: ; preds = %if.merge.371, %entry +while.hdr.397: ; preds = %if.merge.401, %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.368, label %while.exit.369 + br i1 %icmp, label %while.body.398, label %while.exit.399 -while.body.368: ; preds = %while.hdr.367 +while.body.398: ; preds = %while.hdr.397 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.370, label %if.merge.371 + br i1 %icmpN, label %if.then.400, label %if.merge.401 -while.exit.369: ; preds = %while.hdr.367 +while.exit.399: ; preds = %while.hdr.397 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 1 }) ret { ptr, i64 } %call -if.then.370: ; preds = %while.body.368 +if.then.400: ; preds = %while.body.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.371 + br label %if.merge.401 -if.merge.371: ; preds = %if.then.370, %while.body.368 +if.merge.401: ; preds = %if.then.400, %while.body.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7352,7 +8146,7 @@ if.merge.371: ; preds = %if.then.370, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 } ; Function Attrs: nounwind @@ -7362,35 +8156,35 @@ entry: %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.666, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.750, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 -while.hdr.372: ; preds = %if.merge.376, %entry +while.hdr.402: ; preds = %if.merge.406, %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.373, label %while.exit.374 + br i1 %icmp, label %while.body.403, label %while.exit.404 -while.body.373: ; preds = %while.hdr.372 +while.body.403: ; preds = %while.hdr.402 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.375, label %if.merge.376 + br i1 %icmpN, label %if.then.405, label %if.merge.406 -while.exit.374: ; preds = %while.hdr.372 +while.exit.404: ; preds = %while.hdr.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.751, i64 1 }) ret { ptr, i64 } %call -if.then.375: ; preds = %while.body.373 +if.then.405: ; preds = %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.376 + br label %if.merge.406 -if.merge.376: ; preds = %if.then.375, %while.body.373 +if.merge.406: ; preds = %if.then.405, %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7406,7 +8200,7 @@ if.merge.376: ; preds = %if.then.375, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 } ; Function Attrs: nounwind @@ -7416,35 +8210,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.669, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.753, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 -while.hdr.377: ; preds = %if.merge.381, %entry +while.hdr.407: ; preds = %if.merge.411, %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.378, label %while.exit.379 + br i1 %icmp, label %while.body.408, label %while.exit.409 -while.body.378: ; preds = %while.hdr.377 +while.body.408: ; preds = %while.hdr.407 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.380, label %if.merge.381 + br i1 %icmpN, label %if.then.410, label %if.merge.411 -while.exit.379: ; preds = %while.hdr.377 +while.exit.409: ; preds = %while.hdr.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.754, i64 1 }) ret { ptr, i64 } %call -if.then.380: ; preds = %while.body.378 +if.then.410: ; preds = %while.body.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 2 }) + %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.381 + br label %if.merge.411 -if.merge.381: ; preds = %if.then.380, %while.body.378 +if.merge.411: ; preds = %if.then.410, %while.body.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7460,7 +8254,7 @@ if.merge.381: ; preds = %if.then.380, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 } ; Function Attrs: nounwind @@ -7470,35 +8264,35 @@ entry: %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.672, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.756, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 -while.hdr.382: ; preds = %if.merge.386, %entry +while.hdr.412: ; preds = %if.merge.416, %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.383, label %while.exit.384 + br i1 %icmp, label %while.body.413, label %while.exit.414 -while.body.383: ; preds = %while.hdr.382 +while.body.413: ; preds = %while.hdr.412 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.385, label %if.merge.386 + br i1 %icmpN, label %if.then.415, label %if.merge.416 -while.exit.384: ; preds = %while.hdr.382 +while.exit.414: ; preds = %while.hdr.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 1 }) ret { ptr, i64 } %call -if.then.385: ; preds = %while.body.383 +if.then.415: ; preds = %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.674, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.758, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.386 + br label %if.merge.416 -if.merge.386: ; preds = %if.then.385, %while.body.383 +if.merge.416: ; preds = %if.then.415, %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7514,206 +8308,11 @@ if.merge.386: ; preds = %if.then.385, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 } ; 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.426, label %if.else.427 - -if.then.426: ; preds = %entry - br label %if.merge.428 - -if.else.427: ; 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.428 - -if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] - 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.442, label %if.else.443 - -if.then.442: ; preds = %entry - br label %if.merge.444 - -if.else.443: ; 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.444 - -if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] - 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.445, label %if.else.446 - -if.then.445: ; preds = %entry - br label %if.merge.447 - -if.else.446: ; 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.447 - -if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] - 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.448, label %if.else.449 - -if.then.448: ; preds = %entry - br label %if.merge.450 - -if.else.449: ; 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.450 - -if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] - 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.451, label %if.else.452 - -if.then.451: ; preds = %entry - br label %if.merge.453 - -if.else.452: ; 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.453 - -if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] - ret { ptr, i64 } %bp -} - -; 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.454, label %if.else.455 - -if.then.454: ; preds = %entry - br label %if.merge.456 - -if.else.455: ; 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.692, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.456 - -if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] - 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.457, label %if.else.458 - -if.then.457: ; preds = %entry - br label %if.merge.459 - -if.else.458: ; 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.459 - -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] - 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 @@ -7731,12 +8330,207 @@ if.then.460: ; preds = %entry if.else.461: ; 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 5 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + 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.476, label %if.else.477 + +if.then.476: ; preds = %entry + br label %if.merge.478 + +if.else.477: ; 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.764, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.478 + +if.merge.478: ; preds = %if.else.477, %if.then.476 + %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + 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.479, label %if.else.480 + +if.then.479: ; preds = %entry + br label %if.merge.481 + +if.else.480: ; 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.767, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.481 + +if.merge.481: ; preds = %if.else.480, %if.then.479 + %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + 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.482, label %if.else.483 + +if.then.482: ; preds = %entry + br label %if.merge.484 + +if.else.483: ; 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.770, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.484 + +if.merge.484: ; preds = %if.else.483, %if.then.482 + %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + 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.485, label %if.else.486 + +if.then.485: ; preds = %entry + br label %if.merge.487 + +if.else.486: ; 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.773, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.487 + +if.merge.487: ; preds = %if.else.486, %if.then.485 + %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] + ret { ptr, i64 } %bp +} + +; 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.488, label %if.else.489 + +if.then.488: ; preds = %entry + br label %if.merge.490 + +if.else.489: ; 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.776, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.490 + +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] + 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.491, label %if.else.492 + +if.then.491: ; preds = %entry + br label %if.merge.493 + +if.else.492: ; 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.779, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.493 + +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] + 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.494, label %if.else.495 + +if.then.494: ; preds = %entry + br label %if.merge.496 + +if.else.495: ; 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.782, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.496 + +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } @@ -7751,20 +8545,20 @@ entry: 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.463, label %if.else.464 + br i1 %icmp, label %if.then.497, label %if.else.498 -if.then.463: ; preds = %entry - br label %if.merge.465 +if.then.497: ; preds = %entry + br label %if.merge.499 -if.else.464: ; preds = %entry +if.else.498: ; 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.465 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.499 -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } @@ -7779,20 +8573,20 @@ entry: 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.466, label %if.else.467 + br i1 %icmp, label %if.then.500, label %if.else.501 -if.then.466: ; preds = %entry - br label %if.merge.468 +if.then.500: ; preds = %entry + br label %if.merge.502 -if.else.467: ; preds = %entry +if.else.501: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.468 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.502 -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } @@ -7807,20 +8601,20 @@ entry: 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.469, label %if.else.470 + br i1 %icmp, label %if.then.503, label %if.else.504 -if.then.469: ; preds = %entry - br label %if.merge.471 +if.then.503: ; preds = %entry + br label %if.merge.505 -if.else.470: ; preds = %entry +if.else.504: ; 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.471 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.505 -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } @@ -7835,20 +8629,20 @@ entry: 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.472, label %if.else.473 + br i1 %icmp, label %if.then.506, label %if.else.507 -if.then.472: ; preds = %entry - br label %if.merge.474 +if.then.506: ; preds = %entry + br label %if.merge.508 -if.else.473: ; preds = %entry +if.else.507: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.474 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.508 -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } @@ -7862,20 +8656,20 @@ entry: 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.475, label %if.else.476 + br i1 %icmp, label %if.then.509, label %if.else.510 -if.then.475: ; preds = %entry - br label %if.merge.477 +if.then.509: ; preds = %entry + br label %if.merge.511 -if.else.476: ; preds = %entry +if.else.510: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.477 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.511 -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } @@ -7890,20 +8684,20 @@ entry: 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.478, label %if.else.479 + br i1 %icmp, label %if.then.512, label %if.else.513 -if.then.478: ; preds = %entry - br label %if.merge.480 +if.then.512: ; preds = %entry + br label %if.merge.514 -if.else.479: ; preds = %entry +if.else.513: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.480 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.514 -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } @@ -7917,20 +8711,20 @@ entry: 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.481, label %if.else.482 + br i1 %icmp, label %if.then.515, label %if.else.516 -if.then.481: ; preds = %entry - br label %if.merge.483 +if.then.515: ; preds = %entry + br label %if.merge.517 -if.else.482: ; preds = %entry +if.else.516: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.483 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.517 -if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -7945,20 +8739,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -7973,20 +8767,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -8001,20 +8795,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -8029,20 +8823,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -8057,20 +8851,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -8085,20 +8879,20 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -8113,20 +8907,20 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.536, label %if.else.537 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.536: ; preds = %entry + br label %if.merge.538 -if.else.503: ; preds = %entry +if.else.537: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.538 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] ret { ptr, i64 } %bp } @@ -8141,20 +8935,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.539, label %if.else.540 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.539: ; preds = %entry + br label %if.merge.541 -if.else.506: ; preds = %entry +if.else.540: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.541 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } @@ -8169,20 +8963,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.542, label %if.else.543 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.542: ; preds = %entry + br label %if.merge.544 -if.else.509: ; preds = %entry +if.else.543: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.544 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -8197,20 +8991,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.545, label %if.else.546 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.545: ; preds = %entry + br label %if.merge.547 -if.else.512: ; preds = %entry +if.else.546: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.547 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -8225,20 +9019,131 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.515: ; preds = %entry +if.else.549: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] + 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.551, label %if.else.552 + +if.then.551: ; preds = %entry + br label %if.merge.553 + +if.else.552: ; 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.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.553 + +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] + 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.554, label %if.else.555 + +if.then.554: ; preds = %entry + br label %if.merge.556 + +if.else.555: ; 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.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.556 + +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] + 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.557, label %if.else.558 + +if.then.557: ; preds = %entry + br label %if.merge.559 + +if.else.558: ; 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.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.559 + +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] + 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.560, label %if.else.561 + +if.then.560: ; preds = %entry + br label %if.merge.562 + +if.else.561: ; 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.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.562 + +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -8253,20 +9158,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.518: ; preds = %entry +if.else.564: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -8281,20 +9186,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.521: ; preds = %entry +if.else.567: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -8309,20 +9214,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.524: ; preds = %entry +if.else.570: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] ret { ptr, i64 } %bp } @@ -8337,20 +9242,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.572, label %if.else.573 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.572: ; preds = %entry + br label %if.merge.574 -if.else.527: ; preds = %entry +if.else.573: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.574 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] ret { ptr, i64 } %bp } @@ -8365,20 +9270,20 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.575, label %if.else.576 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.575: ; preds = %entry + br label %if.merge.577 -if.else.530: ; preds = %entry +if.else.576: ; 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.767, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.577 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.861, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] ret { ptr, i64 } %bp } @@ -8393,20 +9298,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.578, label %if.else.579 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.578: ; preds = %entry + br label %if.merge.580 -if.else.533: ; preds = %entry +if.else.579: ; 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.770, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.580 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.864, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] ret { ptr, i64 } %bp } @@ -8421,20 +9326,20 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.581, label %if.else.582 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.581: ; preds = %entry + br label %if.merge.583 -if.else.536: ; preds = %entry +if.else.582: ; 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.773, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.583 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.867, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -8449,20 +9354,20 @@ entry: 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.538, label %if.else.539 + br i1 %icmp, label %if.then.584, label %if.else.585 -if.then.538: ; preds = %entry - br label %if.merge.540 +if.then.584: ; preds = %entry + br label %if.merge.586 -if.else.539: ; preds = %entry +if.else.585: ; 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.776, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.540 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.871, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.586 -if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] +if.merge.586: ; preds = %if.else.585, %if.then.584 + %bp = phi { ptr, i64 } [ { ptr @str.870, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] ret { ptr, i64 } %bp } @@ -8477,20 +9382,20 @@ entry: 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.541, label %if.else.542 + br i1 %icmp, label %if.then.587, label %if.else.588 -if.then.541: ; preds = %entry - br label %if.merge.543 +if.then.587: ; preds = %entry + br label %if.merge.589 -if.else.542: ; preds = %entry +if.else.588: ; 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.779, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.543 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.874, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.589 -if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] +if.merge.589: ; preds = %if.else.588, %if.then.587 + %bp = phi { ptr, i64 } [ { ptr @str.873, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] ret { ptr, i64 } %bp } @@ -8505,20 +9410,20 @@ entry: 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.544, label %if.else.545 + br i1 %icmp, label %if.then.590, label %if.else.591 -if.then.544: ; preds = %entry - br label %if.merge.546 +if.then.590: ; preds = %entry + br label %if.merge.592 -if.else.545: ; preds = %entry +if.else.591: ; 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.782, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.546 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.877, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.592 -if.merge.546: ; preds = %if.else.545, %if.then.544 - %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] +if.merge.592: ; preds = %if.else.591, %if.then.590 + %bp = phi { ptr, i64 } [ { ptr @str.876, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] ret { ptr, i64 } %bp } @@ -8533,20 +9438,20 @@ entry: 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.547, label %if.else.548 + br i1 %icmp, label %if.then.593, label %if.else.594 -if.then.547: ; preds = %entry - br label %if.merge.549 +if.then.593: ; preds = %entry + br label %if.merge.595 -if.else.548: ; preds = %entry +if.else.594: ; 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.785, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.549 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.880, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.595 -if.merge.549: ; preds = %if.else.548, %if.then.547 - %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] +if.merge.595: ; preds = %if.else.594, %if.then.593 + %bp = phi { ptr, i64 } [ { ptr @str.879, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] ret { ptr, i64 } %bp } @@ -8559,12 +9464,12 @@ entry: %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.557, label %if.merge.558 + br i1 %lnot, label %if.then.603, label %if.merge.604 -if.then.557: ; preds = %entry - ret { ptr, i64 } { ptr @str.786, i64 4 } +if.then.603: ; preds = %entry + ret { ptr, i64 } { ptr @str.882, i64 4 } -if.merge.558: ; preds = %entry +if.merge.604: ; 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 @@ -8583,12 +9488,12 @@ entry: %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.559, label %if.merge.560 + br i1 %lnot, label %if.then.605, label %if.merge.606 -if.then.559: ; preds = %entry - ret { ptr, i64 } { ptr @str.787, i64 4 } +if.then.605: ; preds = %entry + ret { ptr, i64 } { ptr @str.883, i64 4 } -if.merge.560: ; preds = %entry +if.merge.606: ; 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 @@ -8606,12 +9511,12 @@ entry: %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.561, label %if.merge.562 + br i1 %lnot, label %if.then.607, label %if.merge.608 -if.then.561: ; preds = %entry - ret { ptr, i64 } { ptr @str.788, i64 4 } +if.then.607: ; preds = %entry + ret { ptr, i64 } { ptr @str.884, i64 4 } -if.merge.562: ; preds = %entry +if.merge.608: ; 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 @@ -8628,12 +9533,12 @@ entry: %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.563, label %if.merge.564 + br i1 %lnot, label %if.then.609, label %if.merge.610 -if.then.563: ; preds = %entry - ret { ptr, i64 } { ptr @str.789, i64 4 } +if.then.609: ; preds = %entry + ret { ptr, i64 } { ptr @str.885, i64 4 } -if.merge.564: ; preds = %entry +if.merge.610: ; 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 @@ -8652,12 +9557,12 @@ entry: %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.565, label %if.merge.566 + br i1 %lnot, label %if.then.611, label %if.merge.612 -if.then.565: ; preds = %entry - ret { ptr, i64 } { ptr @str.790, i64 4 } +if.then.611: ; preds = %entry + ret { ptr, i64 } { ptr @str.886, i64 4 } -if.merge.566: ; preds = %entry +if.merge.612: ; 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 diff --git a/examples/expected/0513-packs-pack-mixed-comptime.ir b/examples/expected/0513-packs-pack-mixed-comptime.ir index bb11e10..2540d70 100644 --- a/examples/expected/0513-packs-pack-mixed-comptime.ir +++ b/examples/expected/0513-packs-pack-mixed-comptime.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [187 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] +@__sx_type_is_unsigned = private constant [205 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,460 +28,460 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [6 x i8] c"[]Any\00" -@tn.str.214 = private constant [5 x i8] c"*Any\00" -@tn.str.215 = private constant [7 x i8] c"[3]Any\00" -@tn.str.216 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.217 = private constant [7 x i8] c"*[]Any\00" -@tn.str.218 = private constant [8 x i8] c"*string\00" -@tn.str.219 = private constant [7 x i8] c"[1]Any\00" -@tn.str.220 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.221 = private constant [4 x i8] c"*u8\00" -@tn.str.222 = private constant [6 x i8] c"*bool\00" -@tn.str.223 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.224 = private constant [5 x i8] c"*f64\00" -@tn.str.225 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.226 = private constant [11 x i8] c"*Allocator\00" -@tn.str.227 = private constant [9 x i8] c"*Context\00" -@tn.str.228 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.229 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.230 = private constant [8 x i8] c"*Member\00" -@tn.str.231 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.232 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.233 = private constant [9 x i8] c"*Command\00" -@tn.str.234 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.235 = private constant [7 x i8] c"*Event\00" -@tn.str.236 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.237 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.238 = private constant [7 x i8] c"*Value\00" -@tn.str.239 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.240 = private constant [14 x i8] c"*Architecture\00" -@tn.str.241 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.242 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.243 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.244 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.245 = private constant [10 x i8] c"*[]string\00" -@tn.str.246 = private constant [6 x i8] c"*[]u8\00" -@tn.str.247 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.248 = private constant [11 x i8] c"*[]Command\00" -@tn.str.249 = private constant [9 x i8] c"*[]Event\00" -@tn.str.250 = private constant [6 x i8] c"**GPA\00" -@tn.str.251 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.252 = private constant [8 x i8] c"**Arena\00" -@tn.str.253 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.254 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.255 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.256 = private constant [7 x i8] c"**File\00" -@tn.str.257 = private constant [6 x i8] c"**i32\00" -@tn.str.258 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.259 = private constant [6 x i8] c"**u32\00" -@tn.str.260 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.261 = private constant [8 x i8] c"**Array\00" -@tn.str.262 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.263 = private constant [9 x i8] c"**Object\00" -@tn.str.264 = private constant [7 x i8] c"**Sink\00" -@tn.str.265 = private constant [9 x i8] c"**Parser\00" -@tn.str.266 = private constant [6 x i8] c"**i64\00" -@tn.str.267 = private constant [9 x i8] c"**Parsed\00" -@tn.str.268 = private constant [7 x i8] c"**Diag\00" -@tn.str.269 = private constant [9 x i8] c"**Sha256\00" -@tn.str.270 = private constant [11 x i8] c"**Timespec\00" -@tn.str.271 = private constant [9 x i8] c"**Kevent\00" -@tn.str.272 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.273 = private constant [7 x i8] c"**Loop\00" -@tn.str.274 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.275 = private constant [8 x i8] c"***void\00" -@tn.str.276 = private constant [6 x i8] c"**Any\00" -@tn.str.277 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.278 = private constant [8 x i8] c"**[]Any\00" -@tn.str.279 = private constant [9 x i8] c"**string\00" -@tn.str.280 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.281 = private constant [5 x i8] c"**u8\00" -@tn.str.282 = private constant [7 x i8] c"**bool\00" -@tn.str.283 = private constant [7 x i8] c"*?File\00" -@tn.str.284 = private constant [9 x i8] c"*?string\00" -@tn.str.285 = private constant [10 x i8] c"*?cstring\00" -@tn.str.286 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.287 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [187 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 5 }, { ptr, i64 } { ptr @tn.str.214, i64 4 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 3 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 16 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 8 }, { ptr, i64 } { ptr @tn.str.228, i64 11 }, { ptr, i64 } { ptr @tn.str.229, i64 14 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 13 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 8 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 13 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 11 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 12 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 19 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 9 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 6 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 12 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 13 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 5 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 7 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 8 }, { ptr, i64 } { ptr @tn.str.281, i64 4 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 8 }, { ptr, i64 } { ptr @tn.str.285, i64 9 }, { ptr, i64 } { ptr @tn.str.286, i64 15 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }] -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.295 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.296 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.297 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.298 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.299 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.300 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.301 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.302 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.303 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.305 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.306 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.308 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.309 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [6 x i8] c"[]Any\00" +@tn.str.228 = private constant [5 x i8] c"*Any\00" +@tn.str.229 = private constant [7 x i8] c"[3]Any\00" +@tn.str.230 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.231 = private constant [7 x i8] c"*[]Any\00" +@tn.str.232 = private constant [8 x i8] c"*string\00" +@tn.str.233 = private constant [7 x i8] c"[1]Any\00" +@tn.str.234 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.235 = private constant [4 x i8] c"*u8\00" +@tn.str.236 = private constant [6 x i8] c"*bool\00" +@tn.str.237 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.238 = private constant [5 x i8] c"*f64\00" +@tn.str.239 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.240 = private constant [11 x i8] c"*Allocator\00" +@tn.str.241 = private constant [9 x i8] c"*Context\00" +@tn.str.242 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.243 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.244 = private constant [8 x i8] c"*Member\00" +@tn.str.245 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.246 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.247 = private constant [9 x i8] c"*Command\00" +@tn.str.248 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.249 = private constant [7 x i8] c"*Event\00" +@tn.str.250 = private constant [8 x i8] c"*Config\00" +@tn.str.251 = private constant [6 x i8] c"*Conn\00" +@tn.str.252 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.253 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.254 = private constant [7 x i8] c"*Value\00" +@tn.str.255 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.256 = private constant [14 x i8] c"*Architecture\00" +@tn.str.257 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.258 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.259 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.260 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.261 = private constant [10 x i8] c"*[]string\00" +@tn.str.262 = private constant [6 x i8] c"*[]u8\00" +@tn.str.263 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.264 = private constant [11 x i8] c"*[]Command\00" +@tn.str.265 = private constant [9 x i8] c"*[]Event\00" +@tn.str.266 = private constant [6 x i8] c"**GPA\00" +@tn.str.267 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.268 = private constant [8 x i8] c"**Arena\00" +@tn.str.269 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.270 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.271 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.272 = private constant [7 x i8] c"**File\00" +@tn.str.273 = private constant [6 x i8] c"**i32\00" +@tn.str.274 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.275 = private constant [6 x i8] c"**u32\00" +@tn.str.276 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.277 = private constant [8 x i8] c"**Array\00" +@tn.str.278 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.279 = private constant [9 x i8] c"**Object\00" +@tn.str.280 = private constant [7 x i8] c"**Sink\00" +@tn.str.281 = private constant [9 x i8] c"**Parser\00" +@tn.str.282 = private constant [6 x i8] c"**i64\00" +@tn.str.283 = private constant [9 x i8] c"**Parsed\00" +@tn.str.284 = private constant [7 x i8] c"**Diag\00" +@tn.str.285 = private constant [9 x i8] c"**Sha256\00" +@tn.str.286 = private constant [11 x i8] c"**Timespec\00" +@tn.str.287 = private constant [9 x i8] c"**Kevent\00" +@tn.str.288 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.289 = private constant [7 x i8] c"**Loop\00" +@tn.str.290 = private constant [10 x i8] c"**Request\00" +@tn.str.291 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.292 = private constant [11 x i8] c"**Response\00" +@tn.str.293 = private constant [9 x i8] c"**Server\00" +@tn.str.294 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.295 = private constant [8 x i8] c"***void\00" +@tn.str.296 = private constant [6 x i8] c"**Any\00" +@tn.str.297 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.298 = private constant [8 x i8] c"**[]Any\00" +@tn.str.299 = private constant [9 x i8] c"**string\00" +@tn.str.300 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.301 = private constant [5 x i8] c"**u8\00" +@tn.str.302 = private constant [7 x i8] c"**bool\00" +@tn.str.303 = private constant [7 x i8] c"*?File\00" +@tn.str.304 = private constant [9 x i8] c"*?string\00" +@tn.str.305 = private constant [10 x i8] c"*?cstring\00" +@tn.str.306 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.307 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [205 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 5 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 3 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 16 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 16 }, { ptr, i64 } { ptr @tn.str.256, i64 13 }, { ptr, i64 } { ptr @tn.str.257, i64 14 }, { ptr, i64 } { ptr @tn.str.258, i64 7 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 9 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 11 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 12 }, { ptr, i64 } { ptr @tn.str.268, i64 7 }, { ptr, i64 } { ptr @tn.str.269, i64 6 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 19 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 9 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 5 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 10 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 12 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 9 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 10 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 13 }, { ptr, i64 } { ptr @tn.str.295, i64 7 }, { ptr, i64 } { ptr @tn.str.296, i64 5 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 7 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 8 }, { ptr, i64 } { ptr @tn.str.301, i64 4 }, { ptr, i64 } { ptr @tn.str.302, i64 6 }, { ptr, i64 } { ptr @tn.str.303, i64 6 }, { ptr, i64 } { ptr @tn.str.304, i64 8 }, { ptr, i64 } { ptr @tn.str.305, i64 9 }, { ptr, i64 } { ptr @tn.str.306, i64 15 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }] +@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.312 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.313 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.314 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.315 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.315 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.316 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.317 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.318 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.319 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.320 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.322 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.323 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.325 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.326 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.328 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.329 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.331 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.332 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.333 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.334 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.335 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.316 = private constant [5 x i8] c"line\00" -@fld.str.317 = private constant [4 x i8] c"col\00" -@fld.str.318 = 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.316, i64 4 }, { ptr, i64 } { ptr @fld.str.317, i64 3 }, { ptr, i64 } { ptr @fld.str.318, i64 4 }] -@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.320 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.321 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.322 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.323 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.324 = private constant [4 x i8] c"ctx\00" -@fld.str.325 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.326 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.327 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 3 }, { ptr, i64 } { ptr @fld.str.325, i64 11 }, { ptr, i64 } { ptr @fld.str.326, i64 13 }] -@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.329 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.330 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.331 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.332 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.333 = private constant [10 x i8] c"allocator\00" -@fld.str.334 = private constant [5 x i8] c"data\00" -@field_names.335 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 9 }, { ptr, i64 } { ptr @fld.str.334, i64 4 }] -@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.337 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.338 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.339 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.340 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.341 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.347 = private constant [12 x i8] c"alloc_count\00" -@field_names.348 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 11 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [5 x i8] c"next\00" -@fld.str.355 = private constant [4 x i8] c"cap\00" -@field_names.356 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 4 }, { ptr, i64 } { ptr @fld.str.355, i64 3 }] -@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.358 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.361 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.362 = private constant [6 x i8] c"first\00" -@fld.str.363 = private constant [10 x i8] c"end_index\00" -@fld.str.364 = private constant [7 x i8] c"parent\00" -@field_names.365 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 5 }, { ptr, i64 } { ptr @fld.str.363, i64 9 }, { ptr, i64 } { ptr @fld.str.364, i64 6 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.368 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.370 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.371 = private constant [4 x i8] c"buf\00" -@fld.str.372 = private constant [4 x i8] c"len\00" -@fld.str.373 = private constant [4 x i8] c"pos\00" -@field_names.374 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 3 }, { ptr, i64 } { ptr @fld.str.372, i64 3 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }] -@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.376 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.377 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.378 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.379 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.380 = private constant [7 x i8] c"parent\00" -@fld.str.381 = private constant [12 x i8] c"alloc_count\00" -@fld.str.382 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.383 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.384 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 6 }, { ptr, i64 } { ptr @fld.str.381, i64 11 }, { ptr, i64 } { ptr @fld.str.382, i64 13 }, { ptr, i64 } { ptr @fld.str.383, i64 17 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.387 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.388 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.389 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.390 = private constant [3 x i8] c"fd\00" -@field_names.391 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 2 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.397 = private constant [5 x i8] c"file\00" -@fld.str.398 = private constant [5 x i8] c"line\00" -@fld.str.399 = private constant [4 x i8] c"col\00" -@fld.str.400 = private constant [5 x i8] c"func\00" -@fld.str.401 = private constant [10 x i8] c"line_text\00" -@field_names.402 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 4 }, { ptr, i64 } { ptr @fld.str.398, i64 4 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 4 }, { ptr, i64 } { ptr @fld.str.401, i64 9 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.405 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.406 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.407 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.408 = private constant [10 x i8] c"exit_code\00" -@fld.str.409 = private constant [7 x i8] c"stdout\00" -@field_names.410 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 9 }, { ptr, i64 } { ptr @fld.str.409, i64 6 }] -@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.412 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.414 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.415 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.416 = private constant [8 x i8] c"sin_len\00" -@fld.str.417 = private constant [11 x i8] c"sin_family\00" -@fld.str.418 = private constant [9 x i8] c"sin_port\00" -@fld.str.419 = private constant [9 x i8] c"sin_addr\00" -@fld.str.420 = private constant [9 x i8] c"sin_zero\00" -@field_names.421 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 7 }, { ptr, i64 } { ptr @fld.str.417, i64 10 }, { ptr, i64 } { ptr @fld.str.418, i64 8 }, { ptr, i64 } { ptr @fld.str.419, i64 8 }, { ptr, i64 } { ptr @fld.str.420, i64 8 }] -@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.423 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.424 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.425 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.426 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.427 = private constant [6 x i8] c"items\00" -@fld.str.428 = private constant [4 x i8] c"len\00" -@fld.str.429 = private constant [4 x i8] c"cap\00" -@field_names.430 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 5 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 3 }] +@fld.str.336 = private constant [5 x i8] c"line\00" +@fld.str.337 = private constant [4 x i8] c"col\00" +@fld.str.338 = 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.336, i64 4 }, { ptr, i64 } { ptr @fld.str.337, i64 3 }, { ptr, i64 } { ptr @fld.str.338, i64 4 }] +@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.340 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.341 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.342 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.343 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.344 = private constant [4 x i8] c"ctx\00" +@fld.str.345 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.346 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.347 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 11 }, { ptr, i64 } { ptr @fld.str.346, i64 13 }] +@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.349 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.353 = private constant [10 x i8] c"allocator\00" +@fld.str.354 = private constant [5 x i8] c"data\00" +@field_names.355 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 9 }, { ptr, i64 } { ptr @fld.str.354, i64 4 }] +@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.357 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.361 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.367 = private constant [12 x i8] c"alloc_count\00" +@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 11 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [5 x i8] c"next\00" +@fld.str.375 = private constant [4 x i8] c"cap\00" +@field_names.376 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 3 }] +@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.378 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.381 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.382 = private constant [6 x i8] c"first\00" +@fld.str.383 = private constant [10 x i8] c"end_index\00" +@fld.str.384 = private constant [7 x i8] c"parent\00" +@field_names.385 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 5 }, { ptr, i64 } { ptr @fld.str.383, i64 9 }, { ptr, i64 } { ptr @fld.str.384, i64 6 }] +@str.386 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.387 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.388 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.389 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.390 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.391 = private constant [4 x i8] c"buf\00" +@fld.str.392 = private constant [4 x i8] c"len\00" +@fld.str.393 = private constant [4 x i8] c"pos\00" +@field_names.394 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 3 }, { ptr, i64 } { ptr @fld.str.392, i64 3 }, { ptr, i64 } { ptr @fld.str.393, i64 3 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.397 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.398 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.399 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.400 = private constant [7 x i8] c"parent\00" +@fld.str.401 = private constant [12 x i8] c"alloc_count\00" +@fld.str.402 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.403 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.404 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 6 }, { ptr, i64 } { ptr @fld.str.401, i64 11 }, { ptr, i64 } { ptr @fld.str.402, i64 13 }, { ptr, i64 } { ptr @fld.str.403, i64 17 }] +@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.406 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.407 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.408 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.409 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.410 = private constant [3 x i8] c"fd\00" +@field_names.411 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 2 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.417 = private constant [5 x i8] c"file\00" +@fld.str.418 = private constant [5 x i8] c"line\00" +@fld.str.419 = private constant [4 x i8] c"col\00" +@fld.str.420 = private constant [5 x i8] c"func\00" +@fld.str.421 = private constant [10 x i8] c"line_text\00" +@field_names.422 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 4 }, { ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 4 }, { ptr, i64 } { ptr @fld.str.421, i64 9 }] +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.428 = private constant [10 x i8] c"exit_code\00" +@fld.str.429 = private constant [7 x i8] c"stdout\00" +@field_names.430 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 9 }, { ptr, i64 } { ptr @fld.str.429, i64 6 }] @str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.432 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.433 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.434 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.435 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.436 = private constant [6 x i8] c"items\00" -@fld.str.437 = private constant [4 x i8] c"len\00" -@fld.str.438 = private constant [4 x i8] c"cap\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 5 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.443 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.444 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.445 = private constant [4 x i8] c"key\00" -@fld.str.446 = private constant [4 x i8] c"val\00" -@field_names.447 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 3 }, { ptr, i64 } { ptr @fld.str.446, i64 3 }] -@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.449 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.450 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.451 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.452 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.453 = private constant [4 x i8] c"dst\00" -@fld.str.454 = private constant [4 x i8] c"pos\00" -@fld.str.455 = private constant [5 x i8] c"file\00" -@field_names.456 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.453, i64 3 }, { ptr, i64 } { ptr @fld.str.454, i64 3 }, { ptr, i64 } { ptr @fld.str.455, i64 4 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.459 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.460 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.461 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.462 = private constant [4 x i8] c"src\00" -@fld.str.463 = private constant [4 x i8] c"pos\00" -@fld.str.464 = private constant [6 x i8] c"alloc\00" -@field_names.465 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }, { ptr, i64 } { ptr @fld.str.464, i64 5 }] -@str.466 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.467 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.468 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.469 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.470 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.471 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.473 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.477 = private constant [5 x i8] c"name\00" -@fld.str.478 = private constant [12 x i8] c"takes_value\00" -@fld.str.479 = private constant [9 x i8] c"required\00" -@field_names.480 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 4 }, { ptr, i64 } { ptr @fld.str.478, i64 11 }, { ptr, i64 } { ptr @fld.str.479, i64 8 }] -@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.482 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.485 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.486 = private constant [6 x i8] c"group\00" -@fld.str.487 = private constant [8 x i8] c"command\00" -@fld.str.488 = private constant [6 x i8] c"flags\00" -@field_names.489 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.486, i64 5 }, { ptr, i64 } { ptr @fld.str.487, i64 7 }, { ptr, i64 } { ptr @fld.str.488, i64 5 }] -@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.495 = private constant [4 x i8] c"set\00" -@fld.str.496 = private constant [6 x i8] c"value\00" -@field_names.497 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 5 }] -@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.499 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.500 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.502 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.503 = private constant [6 x i8] c"index\00" -@fld.str.504 = private constant [6 x i8] c"token\00" -@field_names.505 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 5 }, { ptr, i64 } { ptr @fld.str.504, i64 5 }] -@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.507 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.511 = private constant [6 x i8] c"group\00" -@fld.str.512 = private constant [8 x i8] c"command\00" -@fld.str.513 = private constant [10 x i8] c"cmd_index\00" -@fld.str.514 = private constant [5 x i8] c"json\00" -@fld.str.515 = private constant [5 x i8] c"rest\00" -@fld.str.516 = private constant [5 x i8] c"spec\00" -@fld.str.517 = private constant [7 x i8] c"values\00" -@field_names.518 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 5 }, { ptr, i64 } { ptr @fld.str.512, i64 7 }, { ptr, i64 } { ptr @fld.str.513, i64 9 }, { ptr, i64 } { ptr @fld.str.514, i64 4 }, { ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 4 }, { ptr, i64 } { ptr @fld.str.517, i64 6 }] -@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.520 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.524 = private constant [2 x i8] c"h\00" -@fld.str.525 = private constant [4 x i8] c"buf\00" -@fld.str.526 = private constant [8 x i8] c"buf_len\00" -@fld.str.527 = private constant [10 x i8] c"total_len\00" -@field_names.528 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 1 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 7 }, { ptr, i64 } { ptr @fld.str.527, i64 9 }] -@str.529 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.530 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.531 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.532 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.533 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.534 = private constant [4 x i8] c"sec\00" -@fld.str.535 = private constant [5 x i8] c"nsec\00" -@field_names.536 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }] -@str.537 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.538 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.539 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.540 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.541 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.542 = private constant [6 x i8] c"ident\00" -@fld.str.543 = private constant [7 x i8] c"filter\00" -@fld.str.544 = private constant [6 x i8] c"flags\00" -@fld.str.545 = private constant [7 x i8] c"fflags\00" -@fld.str.546 = private constant [5 x i8] c"data\00" -@fld.str.547 = private constant [6 x i8] c"udata\00" -@field_names.548 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.542, i64 5 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 5 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 4 }, { ptr, i64 } { ptr @fld.str.547, i64 5 }] +@fld.str.436 = private constant [8 x i8] c"sin_len\00" +@fld.str.437 = private constant [11 x i8] c"sin_family\00" +@fld.str.438 = private constant [9 x i8] c"sin_port\00" +@fld.str.439 = private constant [9 x i8] c"sin_addr\00" +@fld.str.440 = private constant [9 x i8] c"sin_zero\00" +@field_names.441 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 7 }, { ptr, i64 } { ptr @fld.str.437, i64 10 }, { ptr, i64 } { ptr @fld.str.438, i64 8 }, { ptr, i64 } { ptr @fld.str.439, i64 8 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }] +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.444 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.445 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.446 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.447 = private constant [6 x i8] c"items\00" +@fld.str.448 = private constant [4 x i8] c"len\00" +@fld.str.449 = private constant [4 x i8] c"cap\00" +@field_names.450 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 5 }, { ptr, i64 } { ptr @fld.str.448, i64 3 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }] +@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.452 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.453 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.454 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.455 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.456 = private constant [6 x i8] c"items\00" +@fld.str.457 = private constant [4 x i8] c"len\00" +@fld.str.458 = private constant [4 x i8] c"cap\00" +@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 5 }, { ptr, i64 } { ptr @fld.str.457, i64 3 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.462 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.463 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.464 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.465 = private constant [4 x i8] c"key\00" +@fld.str.466 = private constant [4 x i8] c"val\00" +@field_names.467 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 3 }, { ptr, i64 } { ptr @fld.str.466, i64 3 }] +@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.469 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.470 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.471 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.472 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.473 = private constant [4 x i8] c"dst\00" +@fld.str.474 = private constant [4 x i8] c"pos\00" +@fld.str.475 = private constant [5 x i8] c"file\00" +@field_names.476 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 3 }, { ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 4 }] +@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.478 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.479 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.480 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.481 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.482 = private constant [4 x i8] c"src\00" +@fld.str.483 = private constant [4 x i8] c"pos\00" +@fld.str.484 = private constant [6 x i8] c"alloc\00" +@field_names.485 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 5 }] +@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.487 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.491 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.492 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.493 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.496 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.497 = private constant [5 x i8] c"name\00" +@fld.str.498 = private constant [12 x i8] c"takes_value\00" +@fld.str.499 = private constant [9 x i8] c"required\00" +@field_names.500 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 11 }, { ptr, i64 } { ptr @fld.str.499, i64 8 }] +@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.502 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.506 = private constant [6 x i8] c"group\00" +@fld.str.507 = private constant [8 x i8] c"command\00" +@fld.str.508 = private constant [6 x i8] c"flags\00" +@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.515 = private constant [4 x i8] c"set\00" +@fld.str.516 = private constant [6 x i8] c"value\00" +@field_names.517 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }] +@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.519 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.520 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.522 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.523 = private constant [6 x i8] c"index\00" +@fld.str.524 = private constant [6 x i8] c"token\00" +@field_names.525 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }] +@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.527 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.531 = private constant [6 x i8] c"group\00" +@fld.str.532 = private constant [8 x i8] c"command\00" +@fld.str.533 = private constant [10 x i8] c"cmd_index\00" +@fld.str.534 = private constant [5 x i8] c"json\00" +@fld.str.535 = private constant [5 x i8] c"rest\00" +@fld.str.536 = private constant [5 x i8] c"spec\00" +@fld.str.537 = private constant [7 x i8] c"values\00" +@field_names.538 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 9 }, { ptr, i64 } { ptr @fld.str.534, i64 4 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }] +@str.539 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.540 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.544 = private constant [2 x i8] c"h\00" +@fld.str.545 = private constant [4 x i8] c"buf\00" +@fld.str.546 = private constant [8 x i8] c"buf_len\00" +@fld.str.547 = private constant [10 x i8] c"total_len\00" +@field_names.548 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 1 }, { ptr, i64 } { ptr @fld.str.545, i64 3 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 9 }] @str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.550 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -489,220 +489,316 @@ @fld.str.555 = private constant [5 x i8] c"nsec\00" @field_names.556 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 3 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }] @str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.558 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.559 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.560 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.561 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.562 = private constant [3 x i8] c"fd\00" -@fld.str.563 = private constant [6 x i8] c"udata\00" -@fld.str.564 = private constant [9 x i8] c"readable\00" -@fld.str.565 = private constant [9 x i8] c"writable\00" -@fld.str.566 = private constant [4 x i8] c"eof\00" -@fld.str.567 = private constant [4 x i8] c"err\00" -@fld.str.568 = private constant [7 x i8] c"nbytes\00" -@field_names.569 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 2 }, { ptr, i64 } { ptr @fld.str.563, i64 5 }, { ptr, i64 } { ptr @fld.str.564, i64 8 }, { ptr, i64 } { ptr @fld.str.565, i64 8 }, { ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 6 }] -@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.572 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.573 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.574 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.575 = private constant [3 x i8] c"kq\00" -@field_names.576 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 2 }] +@fld.str.562 = private constant [6 x i8] c"ident\00" +@fld.str.563 = private constant [7 x i8] c"filter\00" +@fld.str.564 = private constant [6 x i8] c"flags\00" +@fld.str.565 = private constant [7 x i8] c"fflags\00" +@fld.str.566 = private constant [5 x i8] c"data\00" +@fld.str.567 = private constant [6 x i8] c"udata\00" +@field_names.568 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 5 }, { ptr, i64 } { ptr @fld.str.563, i64 6 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 6 }, { ptr, i64 } { ptr @fld.str.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }] +@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.570 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.574 = private constant [4 x i8] c"sec\00" +@fld.str.575 = private constant [5 x i8] c"nsec\00" +@field_names.576 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }] @str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.579 = private constant [5 x i8] c"read\00" -@fld.str.580 = private constant [6 x i8] c"write\00" -@fld.str.581 = private constant [7 x i8] c"append\00" -@fld.str.582 = private constant [11 x i8] c"read_write\00" -@field_names.583 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.579, i64 4 }, { ptr, i64 } { ptr @fld.str.580, i64 5 }, { ptr, i64 } { ptr @fld.str.581, i64 6 }, { ptr, i64 } { ptr @fld.str.582, i64 10 }] -@str.584 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.586 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.587 = private constant [4 x i8] c"set\00" -@fld.str.588 = private constant [8 x i8] c"current\00" -@fld.str.589 = private constant [4 x i8] c"end\00" -@field_names.590 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 7 }, { ptr, i64 } { ptr @fld.str.589, i64 3 }] -@str.591 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.594 = private constant [6 x i8] c"null_\00" -@fld.str.595 = private constant [6 x i8] c"bool_\00" -@fld.str.596 = private constant [5 x i8] c"int_\00" -@fld.str.597 = private constant [4 x i8] c"str\00" -@fld.str.598 = private constant [6 x i8] c"array\00" -@fld.str.599 = private constant [7 x i8] c"object\00" -@field_names.600 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 5 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }, { ptr, i64 } { ptr @fld.str.597, i64 3 }, { ptr, i64 } { ptr @fld.str.598, i64 5 }, { ptr, i64 } { ptr @fld.str.599, i64 6 }] -@str.601 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.602 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.603 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.604 = private constant [6 x i8] c"macos\00" -@fld.str.605 = private constant [6 x i8] c"linux\00" -@fld.str.606 = private constant [8 x i8] c"windows\00" -@fld.str.607 = private constant [5 x i8] c"wasm\00" -@fld.str.608 = private constant [4 x i8] c"ios\00" -@fld.str.609 = private constant [8 x i8] c"android\00" -@fld.str.610 = private constant [8 x i8] c"unknown\00" -@field_names.611 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 7 }, { ptr, i64 } { ptr @fld.str.607, i64 4 }, { ptr, i64 } { ptr @fld.str.608, i64 3 }, { ptr, i64 } { ptr @fld.str.609, i64 7 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }] -@str.612 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.613 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.615 = private constant [8 x i8] c"aarch64\00" -@fld.str.616 = private constant [7 x i8] c"x86_64\00" -@fld.str.617 = private constant [7 x i8] c"wasm32\00" -@fld.str.618 = private constant [7 x i8] c"wasm64\00" -@fld.str.619 = private constant [8 x i8] c"unknown\00" -@field_names.620 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 7 }, { ptr, i64 } { ptr @fld.str.616, i64 6 }, { ptr, i64 } { ptr @fld.str.617, i64 6 }, { ptr, i64 } { ptr @fld.str.618, i64 6 }, { ptr, i64 } { ptr @fld.str.619, i64 7 }] -@str.621 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.624 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.625 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.626 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.628 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.661 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.662 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.663 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.664 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.665 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.666 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.667 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.668 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.669 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.670 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.671 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.672 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.673 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.674 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.675 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.676 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.678 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.679 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.681 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.682 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.685 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.686 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.687 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.688 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.691 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.693 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.694 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.697 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.698 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.699 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.700 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.702 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.703 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.704 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.705 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.706 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.708 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.709 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.710 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.711 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.712 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.713 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.714 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.715 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.716 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.718 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.719 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.720 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.721 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.723 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.724 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.725 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.726 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.727 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.578 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.582 = private constant [3 x i8] c"fd\00" +@fld.str.583 = private constant [6 x i8] c"udata\00" +@fld.str.584 = private constant [9 x i8] c"readable\00" +@fld.str.585 = private constant [9 x i8] c"writable\00" +@fld.str.586 = private constant [4 x i8] c"eof\00" +@fld.str.587 = private constant [4 x i8] c"err\00" +@fld.str.588 = private constant [7 x i8] c"nbytes\00" +@field_names.589 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }, { ptr, i64 } { ptr @fld.str.583, i64 5 }, { ptr, i64 } { ptr @fld.str.584, i64 8 }, { ptr, i64 } { ptr @fld.str.585, i64 8 }, { ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }] +@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.591 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.595 = private constant [3 x i8] c"kq\00" +@field_names.596 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 2 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.602 = private constant [5 x i8] c"port\00" +@fld.str.603 = private constant [8 x i8] c"backlog\00" +@fld.str.604 = private constant [9 x i8] c"max_conn\00" +@fld.str.605 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.606 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.607 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.608 = private constant [14 x i8] c"request_count\00" +@field_names.609 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 4 }, { ptr, i64 } { ptr @fld.str.603, i64 7 }, { ptr, i64 } { ptr @fld.str.604, i64 8 }, { ptr, i64 } { ptr @fld.str.605, i64 12 }, { ptr, i64 } { ptr @fld.str.606, i64 18 }, { ptr, i64 } { ptr @fld.str.607, i64 20 }, { ptr, i64 } { ptr @fld.str.608, i64 13 }] +@str.610 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.611 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.612 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.614 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.615 = private constant [7 x i8] c"method\00" +@fld.str.616 = private constant [5 x i8] c"path\00" +@fld.str.617 = private constant [8 x i8] c"version\00" +@fld.str.618 = private constant [12 x i8] c"headers_raw\00" +@fld.str.619 = private constant [5 x i8] c"body\00" +@fld.str.620 = private constant [11 x i8] c"keep_alive\00" +@field_names.621 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 6 }, { ptr, i64 } { ptr @fld.str.616, i64 4 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }, { ptr, i64 } { ptr @fld.str.618, i64 11 }, { ptr, i64 } { ptr @fld.str.619, i64 4 }, { ptr, i64 } { ptr @fld.str.620, i64 10 }] +@str.622 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.623 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.624 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.625 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.626 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.627 = private constant [7 x i8] c"status\00" +@fld.str.628 = private constant [13 x i8] c"content_type\00" +@fld.str.629 = private constant [14 x i8] c"extra_headers\00" +@fld.str.630 = private constant [5 x i8] c"body\00" +@field_names.631 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 6 }, { ptr, i64 } { ptr @fld.str.628, i64 12 }, { ptr, i64 } { ptr @fld.str.629, i64 13 }, { ptr, i64 } { ptr @fld.str.630, i64 4 }] +@str.632 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.633 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.635 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.636 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.637 = private constant [3 x i8] c"fd\00" +@fld.str.638 = private constant [6 x i8] c"state\00" +@fld.str.639 = private constant [9 x i8] c"read_buf\00" +@fld.str.640 = private constant [9 x i8] c"read_len\00" +@fld.str.641 = private constant [8 x i8] c"out_buf\00" +@fld.str.642 = private constant [8 x i8] c"out_len\00" +@fld.str.643 = private constant [9 x i8] c"out_sent\00" +@fld.str.644 = private constant [9 x i8] c"deadline\00" +@fld.str.645 = private constant [7 x i8] c"served\00" +@fld.str.646 = private constant [12 x i8] c"close_after\00" +@fld.str.647 = private constant [12 x i8] c"write_armed\00" +@field_names.648 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.637, i64 2 }, { ptr, i64 } { ptr @fld.str.638, i64 5 }, { ptr, i64 } { ptr @fld.str.639, i64 8 }, { ptr, i64 } { ptr @fld.str.640, i64 8 }, { ptr, i64 } { ptr @fld.str.641, i64 7 }, { ptr, i64 } { ptr @fld.str.642, i64 7 }, { ptr, i64 } { ptr @fld.str.643, i64 8 }, { ptr, i64 } { ptr @fld.str.644, i64 8 }, { ptr, i64 } { ptr @fld.str.645, i64 6 }, { ptr, i64 } { ptr @fld.str.646, i64 11 }, { ptr, i64 } { ptr @fld.str.647, i64 11 }] +@str.649 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.650 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.651 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.652 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.654 = private constant [4 x i8] c"cfg\00" +@fld.str.655 = private constant [5 x i8] c"loop\00" +@fld.str.656 = private constant [4 x i8] c"lfd\00" +@fld.str.657 = private constant [6 x i8] c"conns\00" +@fld.str.658 = private constant [10 x i8] c"own_alloc\00" +@fld.str.659 = private constant [8 x i8] c"handler\00" +@field_names.660 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.654, i64 3 }, { ptr, i64 } { ptr @fld.str.655, i64 4 }, { ptr, i64 } { ptr @fld.str.656, i64 3 }, { ptr, i64 } { ptr @fld.str.657, i64 5 }, { ptr, i64 } { ptr @fld.str.658, i64 9 }, { ptr, i64 } { ptr @fld.str.659, i64 7 }] +@str.661 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.662 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.663 = private constant [5 x i8] c"read\00" +@fld.str.664 = private constant [6 x i8] c"write\00" +@fld.str.665 = private constant [7 x i8] c"append\00" +@fld.str.666 = private constant [11 x i8] c"read_write\00" +@field_names.667 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 4 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }, { ptr, i64 } { ptr @fld.str.666, i64 10 }] +@str.668 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.670 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.671 = private constant [4 x i8] c"set\00" +@fld.str.672 = private constant [8 x i8] c"current\00" +@fld.str.673 = private constant [4 x i8] c"end\00" +@field_names.674 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.671, i64 3 }, { ptr, i64 } { ptr @fld.str.672, i64 7 }, { ptr, i64 } { ptr @fld.str.673, i64 3 }] +@str.675 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.678 = private constant [6 x i8] c"null_\00" +@fld.str.679 = private constant [6 x i8] c"bool_\00" +@fld.str.680 = private constant [5 x i8] c"int_\00" +@fld.str.681 = private constant [4 x i8] c"str\00" +@fld.str.682 = private constant [6 x i8] c"array\00" +@fld.str.683 = private constant [7 x i8] c"object\00" +@field_names.684 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 5 }, { ptr, i64 } { ptr @fld.str.680, i64 4 }, { ptr, i64 } { ptr @fld.str.681, i64 3 }, { ptr, i64 } { ptr @fld.str.682, i64 5 }, { ptr, i64 } { ptr @fld.str.683, i64 6 }] +@str.685 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.687 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.688 = private constant [6 x i8] c"macos\00" +@fld.str.689 = private constant [6 x i8] c"linux\00" +@fld.str.690 = private constant [8 x i8] c"windows\00" +@fld.str.691 = private constant [5 x i8] c"wasm\00" +@fld.str.692 = private constant [4 x i8] c"ios\00" +@fld.str.693 = private constant [8 x i8] c"android\00" +@fld.str.694 = private constant [8 x i8] c"unknown\00" +@field_names.695 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.688, i64 5 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 7 }, { ptr, i64 } { ptr @fld.str.691, i64 4 }, { ptr, i64 } { ptr @fld.str.692, i64 3 }, { ptr, i64 } { ptr @fld.str.693, i64 7 }, { ptr, i64 } { ptr @fld.str.694, i64 7 }] +@str.696 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.699 = private constant [8 x i8] c"aarch64\00" +@fld.str.700 = private constant [7 x i8] c"x86_64\00" +@fld.str.701 = private constant [7 x i8] c"wasm32\00" +@fld.str.702 = private constant [7 x i8] c"wasm64\00" +@fld.str.703 = private constant [8 x i8] c"unknown\00" +@field_names.704 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.699, i64 7 }, { ptr, i64 } { ptr @fld.str.700, i64 6 }, { ptr, i64 } { ptr @fld.str.701, i64 6 }, { ptr, i64 } { ptr @fld.str.702, i64 6 }, { ptr, i64 } { ptr @fld.str.703, i64 7 }] +@str.705 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.708 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.709 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.710 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.712 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.716 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.717 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.718 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.719 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \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 +@str.737 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \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 +@str.743 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.745 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.747 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.750 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.753 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.756 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.759 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.762 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.765 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.768 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.771 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.774 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.777 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.780 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.783 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.786 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.789 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.792 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.795 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.798 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.801 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.804 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.807 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.813 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.816 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.819 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.822 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.825 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.828 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.831 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.834 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.837 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1140,38 +1236,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.422, %entry +while.hdr.451: ; preds = %if.merge.456, %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.418, label %while.exit.419 + br i1 %icmp, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %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.420, label %if.else.421 + br i1 %icmpN, label %if.then.454, label %if.else.455 -while.exit.419: ; preds = %while.hdr.417 +while.exit.453: ; preds = %while.hdr.451 ret void -if.then.420: ; preds = %while.body.418 +if.then.454: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.422 + br label %if.merge.456 -if.else.421: ; preds = %while.body.418 +if.else.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.422 + br label %if.merge.456 -if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi i64 [ %addN, %if.then.420 ], [ %addN, %if.else.421 ] +if.merge.456: ; preds = %if.else.455, %if.then.454 + %bp = phi i64 [ %addN, %if.then.454 ], [ %addN, %if.else.455 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1184,7 +1280,7 @@ if.merge.422: ; preds = %if.else.421, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1297,12 +1393,12 @@ entry: 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.415, label %if.merge.416 + br i1 %icmp, label %if.then.449, label %if.merge.450 -if.then.415: ; preds = %entry +if.then.449: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.416: ; preds = %entry +if.merge.450: ; 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 @@ -1325,14 +1421,14 @@ if.merge.416: ; preds = %entry %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.423 + br label %while.hdr.457 -while.hdr.423: ; preds = %if.merge.427, %if.merge.416 +while.hdr.457: ; preds = %if.merge.461, %if.merge.450 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.424, label %while.exit.425 + br i1 %icmpN, label %while.body.458, label %while.exit.459 -while.body.424: ; preds = %while.hdr.423 +while.body.458: ; preds = %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1340,9 +1436,9 @@ while.body.424: ; preds = %while.hdr.423 %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.426, label %if.merge.427 + br i1 %icmpN, label %if.then.460, label %if.merge.461 -while.exit.425: ; preds = %if.then.426, %while.hdr.423 +while.exit.459: ; preds = %if.then.460, %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1350,14 +1446,14 @@ while.exit.425: ; preds = %if.then.426, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.426: ; preds = %while.body.424 - br label %while.exit.425 +if.then.460: ; preds = %while.body.458 + br label %while.exit.459 -if.merge.427: ; preds = %while.body.424 +if.merge.461: ; preds = %while.body.458 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.457 } ; Function Attrs: nounwind @@ -1505,6 +1601,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1515,19 +1616,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 114, label %match.arm.47 - i64 118, label %match.arm.47 + i64 126, label %match.arm.47 + i64 130, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 112, label %match.arm.48 + i64 124, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1554,15 +1656,19 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, label %match.arm.49 - i64 111, label %match.arm.49 - i64 113, label %match.arm.49 - i64 115, label %match.arm.49 + i64 114, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 i64 121, label %match.arm.49 + i64 122, label %match.arm.49 + i64 123, label %match.arm.49 + i64 125, label %match.arm.49 + i64 127, label %match.arm.49 + i64 128, label %match.arm.49 + i64 129, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1571,7 +1677,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.530, %dispatch.merge.375, %dispatch.merge.337, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.576, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1585,7 +1691,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [187 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [205 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1613,7 +1719,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1648,28 +1754,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1681,81 +1792,85 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 114, label %dispatch.case.300 - i64 118, label %dispatch.case.301 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 126, label %dispatch.case.330 + i64 130, label %dispatch.case.331 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 24, label %dispatch.case.339 - i64 64, label %dispatch.case.340 - i64 81, label %dispatch.case.341 - i64 89, label %dispatch.case.342 - i64 109, label %dispatch.case.343 - i64 112, label %dispatch.case.344 + switch i64 %ua.raw33, label %dispatch.default.368 [ + i64 24, label %dispatch.case.369 + i64 64, label %dispatch.case.370 + i64 81, label %dispatch.case.371 + i64 89, label %dispatch.case.372 + i64 109, label %dispatch.case.373 + i64 124, label %dispatch.case.374 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.376 [ - i64 19, label %dispatch.case.377 - i64 26, label %dispatch.case.378 - i64 28, label %dispatch.case.379 - i64 30, label %dispatch.case.380 - i64 32, label %dispatch.case.381 - i64 33, label %dispatch.case.382 - i64 35, label %dispatch.case.383 - i64 37, label %dispatch.case.384 - i64 41, label %dispatch.case.385 - i64 48, label %dispatch.case.386 - i64 50, label %dispatch.case.387 - i64 51, label %dispatch.case.388 - i64 60, label %dispatch.case.389 - i64 61, label %dispatch.case.390 - i64 62, label %dispatch.case.391 - i64 63, label %dispatch.case.392 - i64 66, label %dispatch.case.393 - i64 71, label %dispatch.case.394 - i64 78, label %dispatch.case.395 - i64 87, label %dispatch.case.396 - i64 90, label %dispatch.case.397 - i64 94, label %dispatch.case.398 - i64 98, label %dispatch.case.399 - i64 101, label %dispatch.case.400 - i64 102, label %dispatch.case.401 - i64 107, label %dispatch.case.402 - i64 110, label %dispatch.case.403 - i64 111, label %dispatch.case.404 - i64 113, label %dispatch.case.405 - i64 115, label %dispatch.case.406 - i64 116, label %dispatch.case.407 - i64 117, label %dispatch.case.408 - i64 119, label %dispatch.case.409 - i64 120, label %dispatch.case.410 - i64 121, label %dispatch.case.411 + switch i64 %ua.raw37, label %dispatch.default.406 [ + i64 19, label %dispatch.case.407 + i64 26, label %dispatch.case.408 + i64 28, label %dispatch.case.409 + i64 30, label %dispatch.case.410 + i64 32, label %dispatch.case.411 + i64 33, label %dispatch.case.412 + i64 35, label %dispatch.case.413 + i64 37, label %dispatch.case.414 + i64 41, label %dispatch.case.415 + i64 48, label %dispatch.case.416 + i64 50, label %dispatch.case.417 + i64 51, label %dispatch.case.418 + i64 60, label %dispatch.case.419 + i64 61, label %dispatch.case.420 + i64 62, label %dispatch.case.421 + i64 63, label %dispatch.case.422 + i64 66, label %dispatch.case.423 + i64 71, label %dispatch.case.424 + i64 78, label %dispatch.case.425 + i64 87, label %dispatch.case.426 + i64 90, label %dispatch.case.427 + i64 94, label %dispatch.case.428 + i64 98, label %dispatch.case.429 + i64 101, label %dispatch.case.430 + i64 102, label %dispatch.case.431 + i64 107, label %dispatch.case.432 + i64 114, label %dispatch.case.433 + i64 116, label %dispatch.case.434 + i64 117, label %dispatch.case.435 + i64 121, label %dispatch.case.436 + i64 122, label %dispatch.case.437 + i64 123, label %dispatch.case.438 + i64 125, label %dispatch.case.439 + i64 127, label %dispatch.case.440 + i64 128, label %dispatch.case.441 + i64 129, label %dispatch.case.442 + i64 131, label %dispatch.case.443 + i64 132, label %dispatch.case.444 + i64 133, label %dispatch.case.445 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.531 [ - i64 42, label %dispatch.case.532 - i64 43, label %dispatch.case.533 - i64 45, label %dispatch.case.534 - i64 47, label %dispatch.case.535 - i64 95, label %dispatch.case.536 + switch i64 %ua.raw41, label %dispatch.default.577 [ + i64 42, label %dispatch.case.578 + i64 43, label %dispatch.case.579 + i64 45, label %dispatch.case.580 + i64 47, label %dispatch.case.581 + i64 95, label %dispatch.case.582 ] match.arm.51: ; preds = %entry @@ -1764,7 +1879,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [205 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1809,13 +1924,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2058,470 +2173,538 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.301, %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.331, %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [3 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.case.301: ; preds = %match.arm.47 +dispatch.case.326: ; preds = %match.arm.47 %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [1 x { i64, i64 }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load220) + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.337: ; preds = %dispatch.case.344, %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.default.338 +dispatch.case.327: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.328: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [3 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.331: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [1 x { i64, i64 }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.338: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.337 +dispatch.default.368: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.367 -dispatch.case.339: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.340: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.341: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.342: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.343: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.344: ; preds = %match.arm.48 +dispatch.case.369: ; preds = %match.arm.48 %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load245) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load245) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 + br label %dispatch.merge.367 -dispatch.merge.375: ; preds = %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.default.376 +dispatch.case.370: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.371: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.372: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.373: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.374: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.merge.405: ; preds = %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.376: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw248 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw248 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 - %iNp251 = inttoptr i64 %ua.raw250 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp251) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw253 = extractvalue { i64, i64 } %loadN, 1 - %iNp254 = inttoptr i64 %ua.raw253 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp254) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp257 = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %iNp260 = inttoptr i64 %ua.raw259 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp260) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 +dispatch.default.406: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.405 dispatch.case.407: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp338) + %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw268 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.408: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp341) + %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 + %iNp271 = inttoptr i64 %ua.raw270 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.409: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp344) + %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 + %iNp274 = inttoptr i64 %ua.raw273 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.410: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp347) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp277 = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.411: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp350) + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %iNp280 = inttoptr i64 %ua.raw279 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 -dispatch.merge.530: ; preds = %dispatch.case.536, %dispatch.case.535, %dispatch.case.534, %dispatch.case.533, %dispatch.case.532, %dispatch.default.531 +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.merge.576: ; preds = %dispatch.case.582, %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.default.577 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.531: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.530 +dispatch.default.577: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.576 -dispatch.case.532: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { i32 }, i1 }, ptr %ua.ptr354, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load355) +dispatch.case.578: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { i32 }, i1 }, ptr %ua.ptr386, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.533: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr358 = inttoptr i64 %ua.raw357 to ptr - %ua.load359 = load { { ptr, i64 }, i1 }, ptr %ua.ptr358, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load359) +dispatch.case.579: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr + %ua.load391 = load { { ptr, i64 }, i1 }, ptr %ua.ptr390, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load391) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.534: ; preds = %match.arm.50 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp362) +dispatch.case.580: ; preds = %match.arm.50 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.535: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr365, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load366) +dispatch.case.581: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr397, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.536: ; preds = %match.arm.50 - %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr369 = inttoptr i64 %ua.raw368 to ptr - %ua.load370 = load { [64 x i8], i1 }, ptr %ua.ptr369, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load370) +dispatch.case.582: ; preds = %match.arm.50 + %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr401 = inttoptr i64 %ua.raw400 to ptr + %ua.load402 = load { [64 x i8], i1 }, ptr %ua.ptr401, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load402) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 } ; Function Attrs: nounwind @@ -2530,7 +2713,7 @@ 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.294, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.314, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2626,7 +2809,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, 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 @@ -2634,7 +2817,7 @@ if.then.12: ; preds = %if.then.9 %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.296, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, 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 @@ -2644,13 +2827,13 @@ if.then.12: ; preds = %if.then.9 %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.297, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2658,7 +2841,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.299, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2672,7 +2855,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2680,7 +2863,7 @@ if.then.23: ; preds = %if.else.10 %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.301, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2691,7 +2874,7 @@ if.then.23: ; preds = %if.else.10 %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.302, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2748,7 +2931,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2756,7 +2939,7 @@ if.then.32: ; preds = %if.then.29 %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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2767,7 +2950,7 @@ if.then.32: ; preds = %if.then.29 %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.305, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2787,7 +2970,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2795,7 +2978,7 @@ if.then.35: ; preds = %while.exit.2 %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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2806,7 +2989,7 @@ if.then.35: ; preds = %while.exit.2 %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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3639,6 +3822,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: @@ -3703,7 +3934,7 @@ entry: define internal void @print__ct_sbc6305862a3a863d__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.309, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.329, i64 3 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3718,7 +3949,7 @@ entry: %gepN = getelementptr inbounds { 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.310, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.330, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ba.val9 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 @@ -3740,7 +3971,7 @@ entry: ; 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.311, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.331, i64 3 }) ret { ptr, i64 } %call } @@ -3767,35 +3998,35 @@ entry: %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.312, i64 15 }, { ptr, i64 } { ptr @str.313, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.332, i64 15 }, { ptr, i64 } { ptr @str.333, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3803,7 +4034,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.319, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, 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 @@ -3823,31 +4054,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -3860,43 +4091,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.320, i64 9 }, { ptr, i64 } { ptr @str.321, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.340, i64 9 }, { ptr, i64 } { ptr @str.341, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.327, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.347, 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.328, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, 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 @@ -3915,24 +4146,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3945,43 +4176,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.329, i64 7 }, { ptr, i64 } { ptr @str.330, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 7 }, { ptr, i64 } { ptr @str.350, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.335, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.355, 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.336, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, 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 %alloca, align 8 @@ -3999,19 +4230,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4023,43 +4254,43 @@ 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.337, i64 10 }, { ptr, i64 } { ptr @str.338, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.357, i64 10 }, { ptr, i64 } { ptr @str.358, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.361, 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.342, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4070,7 +4301,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4078,43 +4309,43 @@ 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.343, i64 3 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 3 }, { ptr, i64 } { ptr @str.364, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, 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 @@ -4131,12 +4362,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4147,43 +4378,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.350, i64 10 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 10 }, { ptr, i64 } { ptr @str.371, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.356, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.376, 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.357, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, 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 @@ -4201,18 +4432,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4224,91 +4455,7 @@ 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.358, i64 5 }, { ptr, i64 } { ptr @str.359, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.365, 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.366, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.367, i64 8 }, { ptr, i64 } { ptr @str.368, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.378, i64 5 }, { ptr, i64 } { ptr @str.379, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4327,27 +4474,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.374, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.385, 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.375, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, 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 { 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 @@ -4369,17 +4516,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.387, i64 8 }, { ptr, i64 } { ptr @str.388, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.394, 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.395, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4391,43 +4622,43 @@ 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.376, i64 17 }, { ptr, i64 } { ptr @str.377, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.396, i64 17 }, { ptr, i64 } { ptr @str.397, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.404, 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.385, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, 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 @@ -4447,29 +4678,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4480,43 +4711,43 @@ 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.386, i64 4 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.406, i64 4 }, { ptr, i64 } { ptr @str.407, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.411, 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.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, 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 @@ -4533,12 +4764,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4553,43 +4784,43 @@ entry: %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.393, i64 10 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 10 }, { ptr, i64 } { ptr @str.414, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.402, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.422, 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.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, 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 @@ -4610,38 +4841,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4655,43 +4886,43 @@ 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.404, i64 13 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 13 }, { ptr, i64 } { ptr @str.425, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.410, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.430, 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.411, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, 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 @@ -4709,18 +4940,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4733,43 +4964,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.412, i64 8 }, { ptr, i64 } { ptr @str.413, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.432, i64 8 }, { ptr, i64 } { ptr @str.433, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.421, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.441, 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.422, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, 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 @@ -4790,36 +5021,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4830,89 +5061,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.423, i64 5 }, { ptr, i64 } { ptr @str.424, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.430, 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.431, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.432, i64 6 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 5 }, { ptr, i64 } { ptr @str.444, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4931,24 +5080,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.439, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.450, 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.440, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, 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 @@ -4975,7 +5124,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -4990,13 +5139,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.441, i64 6 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %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.452, i64 6 }, { ptr, i64 } { ptr @str.453, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5005,7 +5152,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5015,24 +5162,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.447, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.459, 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.448, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.461, i64 6 }, { ptr, i64 } { ptr @str.462, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.467, 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.468, 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 @@ -5050,19 +5281,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5076,93 +5307,7 @@ 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.449, i64 4 }, { ptr, i64 } { ptr @str.450, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.456, 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.457, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.458, i64 6 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.469, i64 4 }, { ptr, i64 } { ptr @str.470, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5181,24 +5326,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.465, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.476, 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.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.478, i64 6 }, { ptr, i64 } { ptr @str.479, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.485, 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.486, 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 @@ -5217,24 +5448,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5247,43 +5478,43 @@ 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.467, i64 12 }, { ptr, i64 } { ptr @str.468, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.487, i64 12 }, { ptr, i64 } { ptr @str.488, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.471, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.491, 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.472, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5294,7 +5525,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5303,95 +5534,7 @@ 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.473, i64 8 }, { ptr, i64 } { ptr @str.474, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.480, 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.481, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.482, i64 7 }, { ptr, i64 } { ptr @str.483, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.493, i64 8 }, { ptr, i64 } { ptr @str.494, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5410,24 +5553,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.489, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.500, 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.490, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.502, i64 7 }, { ptr, i64 } { ptr @str.503, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.509, 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.510, 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 @@ -5446,26 +5677,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5479,86 +5710,7 @@ 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.491, i64 9 }, { ptr, i64 } { ptr @str.492, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.497, 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.498, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.499, i64 4 }, { ptr, i64 } { ptr @str.500, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.511, i64 9 }, { ptr, i64 } { ptr @str.512, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5577,27 +5729,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.505, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.517, 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.506, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, 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 { 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 @@ -5618,11 +5770,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.519, i64 4 }, { ptr, i64 } { ptr @str.520, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.525, 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.526, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5640,43 +5871,43 @@ entry: %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.507, i64 6 }, { ptr, i64 } { ptr @str.508, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, i64 6 }, { ptr, i64 } { ptr @str.528, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.518, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.538, 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.519, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, 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 @@ -5699,51 +5930,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5758,43 +5989,43 @@ entry: %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.520, i64 6 }, { ptr, i64 } { ptr @str.521, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.540, i64 6 }, { ptr, i64 } { ptr @str.541, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + %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 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.528, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.548, 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.529, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, 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 @@ -5814,31 +6045,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -5849,82 +6080,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.530, i64 8 }, { ptr, i64 } { ptr @str.531, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.536, 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.537, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.538, i64 6 }, { ptr, i64 } { ptr @str.539, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, i64 8 }, { ptr, i64 } { ptr @str.551, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5933,7 +6089,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -5943,118 +6099,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.548, 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.549, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.550, i64 10 }, { ptr, i64 } { ptr @str.551, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.556, i64 0, i64 %loadN @@ -6080,17 +6134,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.558, i64 6 }, { ptr, i64 } { ptr @str.559, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.568, 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.569, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.570, i64 10 }, { ptr, i64 } { ptr @str.571, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %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 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.576, 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.577, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6101,43 +6332,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.558, i64 5 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, i64 5 }, { ptr, i64 } { ptr @str.579, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.569, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.589, 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.570, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, 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, i64 }, ptr %alloca, align 8 @@ -6160,47 +6391,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6211,43 +6442,43 @@ 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.571, i64 4 }, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 4 }, { ptr, i64 } { ptr @str.592, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.596, 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.577, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.597, 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 @@ -6264,18 +6495,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 6 }, { ptr, i64 } { ptr @str.599, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.609, 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.610, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.611, i64 7 }, { ptr, i64 } { ptr @str.612, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.621, 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.622, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.623, i64 8 }, { ptr, i64 } { ptr @str.624, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.631, 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.632, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 4 }, { ptr, i64 } { ptr @str.634, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.648, 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.649, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 6 }, { ptr, i64 } { ptr @str.651, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.660, 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.661, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6285,9 +7079,9 @@ entry: %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.667, 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.578, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, 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 @@ -6301,18 +7095,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.585, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6326,9 +7120,9 @@ entry: %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.674, 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.586, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, 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 @@ -6342,18 +7136,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.592, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6378,9 +7172,9 @@ entry: %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.600, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.684, 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.593, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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 @@ -6394,16 +7188,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.602, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6416,7 +7210,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6476,9 +7270,9 @@ entry: %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.695, 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.603, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, 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 @@ -6492,18 +7286,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.613, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6517,9 +7311,9 @@ entry: %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.620, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.704, 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.614, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, 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 @@ -6533,18 +7327,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.622, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6556,33 +7350,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.623, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.707, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 -while.hdr.302: ; preds = %if.merge.306, %entry +while.hdr.332: ; preds = %if.merge.336, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.303, label %while.exit.304 + br i1 %icmp, label %while.body.333, label %while.exit.334 -while.body.303: ; preds = %while.hdr.302 +while.body.333: ; preds = %while.hdr.332 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.305, label %if.merge.306 + br i1 %icmpN, label %if.then.335, label %if.merge.336 -while.exit.304: ; preds = %while.hdr.302 +while.exit.334: ; preds = %while.hdr.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 1 }) ret { ptr, i64 } %call -if.then.305: ; preds = %while.body.303 +if.then.335: ; preds = %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %while.body.303 +if.merge.336: ; preds = %if.then.335, %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6596,7 +7390,7 @@ if.merge.306: ; preds = %if.then.305, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 } ; Function Attrs: nounwind @@ -6607,33 +7401,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.626, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.710, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %if.merge.311, %entry +while.hdr.337: ; preds = %if.merge.341, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) ret { ptr, i64 } %call -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6649,7 +7443,7 @@ if.merge.311: ; preds = %if.then.310, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 } ; Function Attrs: nounwind @@ -6659,33 +7453,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.629, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.713, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 -while.hdr.312: ; preds = %if.merge.316, %entry +while.hdr.342: ; preds = %if.merge.346, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.313, label %while.exit.314 + br i1 %icmp, label %while.body.343, label %while.exit.344 -while.body.313: ; preds = %while.hdr.312 +while.body.343: ; preds = %while.hdr.342 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.315, label %if.merge.316 + br i1 %icmpN, label %if.then.345, label %if.merge.346 -while.exit.314: ; preds = %while.hdr.312 +while.exit.344: ; preds = %while.hdr.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) ret { ptr, i64 } %call -if.then.315: ; preds = %while.body.313 +if.then.345: ; preds = %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + %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 - br label %if.merge.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %while.body.313 +if.merge.346: ; preds = %if.then.345, %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6699,7 +7493,7 @@ if.merge.316: ; preds = %if.then.315, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 } ; Function Attrs: nounwind @@ -6709,33 +7503,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.632, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.716, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 -while.hdr.317: ; preds = %if.merge.321, %entry +while.hdr.347: ; preds = %if.merge.351, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.318, label %while.exit.319 + br i1 %icmp, label %while.body.348, label %while.exit.349 -while.body.318: ; preds = %while.hdr.317 +while.body.348: ; preds = %while.hdr.347 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.320, label %if.merge.321 + br i1 %icmpN, label %if.then.350, label %if.merge.351 -while.exit.319: ; preds = %while.hdr.317 +while.exit.349: ; preds = %while.hdr.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 1 }) ret { ptr, i64 } %call -if.then.320: ; preds = %while.body.318 +if.then.350: ; preds = %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.321 + br label %if.merge.351 -if.merge.321: ; preds = %if.then.320, %while.body.318 +if.merge.351: ; preds = %if.then.350, %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6750,7 +7544,7 @@ if.merge.321: ; preds = %if.then.320, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 } ; Function Attrs: nounwind @@ -6760,33 +7554,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.719, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 -while.hdr.322: ; preds = %if.merge.326, %entry +while.hdr.352: ; preds = %if.merge.356, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.323, label %while.exit.324 + br i1 %icmp, label %while.body.353, label %while.exit.354 -while.body.323: ; preds = %while.hdr.322 +while.body.353: ; preds = %while.hdr.352 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.325, label %if.merge.326 + br i1 %icmpN, label %if.then.355, label %if.merge.356 -while.exit.324: ; preds = %while.hdr.322 +while.exit.354: ; preds = %while.hdr.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %call -if.then.325: ; preds = %while.body.323 +if.then.355: ; preds = %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %while.body.323 +if.merge.356: ; preds = %if.then.355, %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6800,7 +7594,7 @@ if.merge.326: ; preds = %if.then.325, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 } ; Function Attrs: nounwind @@ -6811,33 +7605,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [3 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.722, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 -while.hdr.327: ; preds = %if.merge.331, %entry +while.hdr.357: ; preds = %if.merge.361, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.328, label %while.exit.329 + br i1 %icmp, label %while.body.358, label %while.exit.359 -while.body.328: ; preds = %while.hdr.327 +while.body.358: ; preds = %while.hdr.357 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.330, label %if.merge.331 + br i1 %icmpN, label %if.then.360, label %if.merge.361 -while.exit.329: ; preds = %while.hdr.327 +while.exit.359: ; preds = %while.hdr.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %call -if.then.330: ; preds = %while.body.328 +if.then.360: ; preds = %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %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 - br label %if.merge.331 + br label %if.merge.361 -if.merge.331: ; preds = %if.then.330, %while.body.328 +if.merge.361: ; preds = %if.then.360, %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [3 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6853,7 +7647,7 @@ if.merge.331: ; preds = %if.then.330, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 } ; Function Attrs: nounwind @@ -6864,33 +7658,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.725, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 -while.hdr.332: ; preds = %if.merge.336, %entry +while.hdr.362: ; preds = %if.merge.366, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.333, label %while.exit.334 + br i1 %icmp, label %while.body.363, label %while.exit.364 -while.body.333: ; preds = %while.hdr.332 +while.body.363: ; preds = %while.hdr.362 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.335, label %if.merge.336 + br i1 %icmpN, label %if.then.365, label %if.merge.366 -while.exit.334: ; preds = %while.hdr.332 +while.exit.364: ; preds = %while.hdr.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %call -if.then.335: ; preds = %while.body.333 +if.then.365: ; preds = %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.336 + br label %if.merge.366 -if.merge.336: ; preds = %if.then.335, %while.body.333 +if.merge.366: ; preds = %if.then.365, %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6906,7 +7700,7 @@ if.merge.336: ; preds = %if.then.335, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 } ; Function Attrs: nounwind @@ -6916,35 +7710,35 @@ entry: %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.644, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.728, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %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.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6960,7 +7754,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -6969,35 +7763,35 @@ 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.647, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.731, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %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.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7012,7 +7806,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -7022,35 +7816,35 @@ entry: %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.650, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.734, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %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.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + %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.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7066,7 +7860,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -7076,35 +7870,35 @@ entry: %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.653, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.737, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %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.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7120,7 +7914,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -7130,35 +7924,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.656, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.740, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %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.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + %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.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7174,7 +7968,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -7184,35 +7978,35 @@ entry: %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.659, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.743, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 -while.hdr.370: ; preds = %if.merge.374, %entry +while.hdr.400: ; preds = %if.merge.404, %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.371, label %while.exit.372 + br i1 %icmp, label %while.body.401, label %while.exit.402 -while.body.371: ; preds = %while.hdr.370 +while.body.401: ; preds = %while.hdr.400 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 + br i1 %icmpN, label %if.then.403, label %if.merge.404 -while.exit.372: ; preds = %while.hdr.370 +while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 1 }) ret { ptr, i64 } %call -if.then.373: ; preds = %while.body.371 +if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.374 + br label %if.merge.404 -if.merge.374: ; preds = %if.then.373, %while.body.371 +if.merge.404: ; preds = %if.then.403, %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7228,206 +8022,11 @@ if.merge.374: ; preds = %if.then.373, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 } ; 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.412, label %if.else.413 - -if.then.412: ; preds = %entry - br label %if.merge.414 - -if.else.413: ; 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.414 - -if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - ret { ptr, i64 } %bp -} - -; 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.440, label %if.else.441 - -if.then.440: ; preds = %entry - br label %if.merge.442 - -if.else.441: ; 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.442 - -if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] - 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.443, label %if.else.444 - -if.then.443: ; preds = %entry - br label %if.merge.445 - -if.else.444: ; 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.445 - -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] - 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 @@ -7445,12 +8044,207 @@ if.then.446: ; preds = %entry if.else.447: ; 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.685, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 5 }, { ptr, i64 } %callN) br label %if.merge.448 if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.751, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.754, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.757, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.760, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + ret { ptr, i64 } %bp +} + +; 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.763, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + 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.477, label %if.else.478 + +if.then.477: ; preds = %entry + br label %if.merge.479 + +if.else.478: ; 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.766, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.479 + +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + 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.480, label %if.else.481 + +if.then.480: ; preds = %entry + br label %if.merge.482 + +if.else.481: ; 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.769, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.482 + +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7465,20 +8259,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.688, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7493,20 +8287,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7521,20 +8315,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7549,20 +8343,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7576,20 +8370,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.700, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7604,20 +8398,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7631,20 +8425,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7659,20 +8453,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7687,20 +8481,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7715,20 +8509,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7743,20 +8537,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7771,20 +8565,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7799,20 +8593,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7827,20 +8621,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7855,20 +8649,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7883,20 +8677,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -7911,20 +8705,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -7939,20 +8733,131 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] + 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.543, label %if.else.544 + +if.then.543: ; preds = %entry + br label %if.merge.545 + +if.else.544: ; 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.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.545 + +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] + 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.546, label %if.else.547 + +if.then.546: ; preds = %entry + br label %if.merge.548 + +if.else.547: ; 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.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 + +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -7967,20 +8872,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -7995,20 +8900,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8023,20 +8928,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8051,20 +8956,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8079,20 +8984,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8107,20 +9012,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8135,20 +9040,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8163,20 +9068,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.525: ; preds = %entry +if.else.571: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8191,20 +9096,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.766, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.860, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8217,12 +9122,12 @@ entry: %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.537, label %if.merge.538 + br i1 %lnot, label %if.then.583, label %if.merge.584 -if.then.537: ; preds = %entry - ret { ptr, i64 } { ptr @str.767, i64 4 } +if.then.583: ; preds = %entry + ret { ptr, i64 } { ptr @str.863, i64 4 } -if.merge.538: ; preds = %entry +if.merge.584: ; 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 @@ -8241,12 +9146,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.768, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.864, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 @@ -8264,12 +9169,12 @@ entry: %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.541, label %if.merge.542 + br i1 %lnot, label %if.then.587, label %if.merge.588 -if.then.541: ; preds = %entry - ret { ptr, i64 } { ptr @str.769, i64 4 } +if.then.587: ; preds = %entry + ret { ptr, i64 } { ptr @str.865, i64 4 } -if.merge.542: ; preds = %entry +if.merge.588: ; 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 @@ -8286,12 +9191,12 @@ entry: %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.543, label %if.merge.544 + br i1 %lnot, label %if.then.589, label %if.merge.590 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.770, i64 4 } +if.then.589: ; preds = %entry + ret { ptr, i64 } { ptr @str.866, i64 4 } -if.merge.544: ; preds = %entry +if.merge.590: ; 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 @@ -8310,12 +9215,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.771, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.867, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 diff --git a/examples/expected/0518-packs-pack-value-dispatch.ir b/examples/expected/0518-packs-pack-value-dispatch.ir index 14c96b6..302f331 100644 --- a/examples/expected/0518-packs-pack-value-dispatch.ir +++ b/examples/expected/0518-packs-pack-value-dispatch.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [185 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] +@__sx_type_is_unsigned = private constant [203 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,467 +28,467 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.212 = private constant [7 x i8] c"**void\00" -@tn.str.213 = private constant [6 x i8] c"[]Any\00" -@tn.str.214 = private constant [5 x i8] c"*Any\00" -@tn.str.215 = private constant [7 x i8] c"[1]Any\00" -@tn.str.216 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.217 = private constant [7 x i8] c"*[]Any\00" -@tn.str.218 = private constant [8 x i8] c"*string\00" -@tn.str.219 = private constant [4 x i8] c"*u8\00" -@tn.str.220 = private constant [6 x i8] c"*bool\00" -@tn.str.221 = private constant [5 x i8] c"*f64\00" -@tn.str.222 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.223 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.224 = private constant [11 x i8] c"*Allocator\00" -@tn.str.225 = private constant [9 x i8] c"*Context\00" -@tn.str.226 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.227 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.228 = private constant [8 x i8] c"*Member\00" -@tn.str.229 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.230 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.231 = private constant [9 x i8] c"*Command\00" -@tn.str.232 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.233 = private constant [7 x i8] c"*Event\00" -@tn.str.234 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.235 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.236 = private constant [7 x i8] c"*Value\00" -@tn.str.237 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.238 = private constant [14 x i8] c"*Architecture\00" -@tn.str.239 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.240 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.241 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.242 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.243 = private constant [10 x i8] c"*[]string\00" -@tn.str.244 = private constant [6 x i8] c"*[]u8\00" -@tn.str.245 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.246 = private constant [11 x i8] c"*[]Command\00" -@tn.str.247 = private constant [9 x i8] c"*[]Event\00" -@tn.str.248 = private constant [6 x i8] c"**GPA\00" -@tn.str.249 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.250 = private constant [8 x i8] c"**Arena\00" -@tn.str.251 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.252 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.253 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.254 = private constant [7 x i8] c"**File\00" -@tn.str.255 = private constant [6 x i8] c"**i32\00" -@tn.str.256 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.257 = private constant [6 x i8] c"**u32\00" -@tn.str.258 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.259 = private constant [8 x i8] c"**Array\00" -@tn.str.260 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.261 = private constant [9 x i8] c"**Object\00" -@tn.str.262 = private constant [7 x i8] c"**Sink\00" -@tn.str.263 = private constant [9 x i8] c"**Parser\00" -@tn.str.264 = private constant [6 x i8] c"**i64\00" -@tn.str.265 = private constant [9 x i8] c"**Parsed\00" -@tn.str.266 = private constant [7 x i8] c"**Diag\00" -@tn.str.267 = private constant [9 x i8] c"**Sha256\00" -@tn.str.268 = private constant [11 x i8] c"**Timespec\00" -@tn.str.269 = private constant [9 x i8] c"**Kevent\00" -@tn.str.270 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.271 = private constant [7 x i8] c"**Loop\00" -@tn.str.272 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.273 = private constant [8 x i8] c"***void\00" -@tn.str.274 = private constant [6 x i8] c"**Any\00" -@tn.str.275 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.276 = private constant [8 x i8] c"**[]Any\00" -@tn.str.277 = private constant [9 x i8] c"**string\00" -@tn.str.278 = private constant [5 x i8] c"**u8\00" -@tn.str.279 = private constant [7 x i8] c"**bool\00" -@tn.str.280 = private constant [6 x i8] c"**f64\00" -@tn.str.281 = private constant [7 x i8] c"*?File\00" -@tn.str.282 = private constant [9 x i8] c"*?string\00" -@tn.str.283 = private constant [10 x i8] c"*?cstring\00" -@tn.str.284 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.285 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [185 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 12 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 5 }, { ptr, i64 } { ptr @tn.str.214, i64 4 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 3 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 16 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 8 }, { ptr, i64 } { ptr @tn.str.226, i64 11 }, { ptr, i64 } { ptr @tn.str.227, i64 14 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 13 }, { ptr, i64 } { ptr @tn.str.230, i64 9 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 16 }, { ptr, i64 } { ptr @tn.str.238, i64 13 }, { ptr, i64 } { ptr @tn.str.239, i64 14 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 9 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 11 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 12 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 19 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 9 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 6 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 12 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 13 }, { ptr, i64 } { ptr @tn.str.273, i64 7 }, { ptr, i64 } { ptr @tn.str.274, i64 5 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 7 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 4 }, { ptr, i64 } { ptr @tn.str.279, i64 6 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }, { ptr, i64 } { ptr @tn.str.283, i64 9 }, { ptr, i64 } { ptr @tn.str.284, i64 15 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }] -@str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.287 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.288 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.293 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.295 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.296 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.297 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.298 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.300 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.301 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.303 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.304 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.306 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.308 = private unnamed_addr constant [6 x i8] c"hello\00", align 1 -@str.309 = private unnamed_addr constant [4 x i8] c"i64\00", align 1 -@str.310 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.226 = private constant [7 x i8] c"**void\00" +@tn.str.227 = private constant [6 x i8] c"[]Any\00" +@tn.str.228 = private constant [5 x i8] c"*Any\00" +@tn.str.229 = private constant [7 x i8] c"[1]Any\00" +@tn.str.230 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.231 = private constant [7 x i8] c"*[]Any\00" +@tn.str.232 = private constant [8 x i8] c"*string\00" +@tn.str.233 = private constant [4 x i8] c"*u8\00" +@tn.str.234 = private constant [6 x i8] c"*bool\00" +@tn.str.235 = private constant [5 x i8] c"*f64\00" +@tn.str.236 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.237 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.238 = private constant [11 x i8] c"*Allocator\00" +@tn.str.239 = private constant [9 x i8] c"*Context\00" +@tn.str.240 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.241 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.242 = private constant [8 x i8] c"*Member\00" +@tn.str.243 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.244 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.245 = private constant [9 x i8] c"*Command\00" +@tn.str.246 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.247 = private constant [7 x i8] c"*Event\00" +@tn.str.248 = private constant [8 x i8] c"*Config\00" +@tn.str.249 = private constant [6 x i8] c"*Conn\00" +@tn.str.250 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.251 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.252 = private constant [7 x i8] c"*Value\00" +@tn.str.253 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.254 = private constant [14 x i8] c"*Architecture\00" +@tn.str.255 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.256 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.257 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.258 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.259 = private constant [10 x i8] c"*[]string\00" +@tn.str.260 = private constant [6 x i8] c"*[]u8\00" +@tn.str.261 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.262 = private constant [11 x i8] c"*[]Command\00" +@tn.str.263 = private constant [9 x i8] c"*[]Event\00" +@tn.str.264 = private constant [6 x i8] c"**GPA\00" +@tn.str.265 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.266 = private constant [8 x i8] c"**Arena\00" +@tn.str.267 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.268 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.269 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.270 = private constant [7 x i8] c"**File\00" +@tn.str.271 = private constant [6 x i8] c"**i32\00" +@tn.str.272 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.273 = private constant [6 x i8] c"**u32\00" +@tn.str.274 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.275 = private constant [8 x i8] c"**Array\00" +@tn.str.276 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.277 = private constant [9 x i8] c"**Object\00" +@tn.str.278 = private constant [7 x i8] c"**Sink\00" +@tn.str.279 = private constant [9 x i8] c"**Parser\00" +@tn.str.280 = private constant [6 x i8] c"**i64\00" +@tn.str.281 = private constant [9 x i8] c"**Parsed\00" +@tn.str.282 = private constant [7 x i8] c"**Diag\00" +@tn.str.283 = private constant [9 x i8] c"**Sha256\00" +@tn.str.284 = private constant [11 x i8] c"**Timespec\00" +@tn.str.285 = private constant [9 x i8] c"**Kevent\00" +@tn.str.286 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.287 = private constant [7 x i8] c"**Loop\00" +@tn.str.288 = private constant [10 x i8] c"**Request\00" +@tn.str.289 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.290 = private constant [11 x i8] c"**Response\00" +@tn.str.291 = private constant [9 x i8] c"**Server\00" +@tn.str.292 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.293 = private constant [8 x i8] c"***void\00" +@tn.str.294 = private constant [6 x i8] c"**Any\00" +@tn.str.295 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.296 = private constant [8 x i8] c"**[]Any\00" +@tn.str.297 = private constant [9 x i8] c"**string\00" +@tn.str.298 = private constant [5 x i8] c"**u8\00" +@tn.str.299 = private constant [7 x i8] c"**bool\00" +@tn.str.300 = private constant [6 x i8] c"**f64\00" +@tn.str.301 = private constant [7 x i8] c"*?File\00" +@tn.str.302 = private constant [9 x i8] c"*?string\00" +@tn.str.303 = private constant [10 x i8] c"*?cstring\00" +@tn.str.304 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.305 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [203 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 5 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 3 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 16 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 11 }, { ptr, i64 } { ptr @tn.str.241, i64 14 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 9 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 9 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 16 }, { ptr, i64 } { ptr @tn.str.254, i64 13 }, { ptr, i64 } { ptr @tn.str.255, i64 14 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 9 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 11 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 12 }, { ptr, i64 } { ptr @tn.str.266, i64 7 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 19 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 5 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 9 }, { ptr, i64 } { ptr @tn.str.275, i64 7 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 6 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 10 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 12 }, { ptr, i64 } { ptr @tn.str.287, i64 6 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 13 }, { ptr, i64 } { ptr @tn.str.293, i64 7 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 7 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 4 }, { ptr, i64 } { ptr @tn.str.299, i64 6 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 9 }, { ptr, i64 } { ptr @tn.str.304, i64 15 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }] +@str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.312 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.313 = private unnamed_addr constant [7 x i8] c"string\00", align 1 -@str.314 = private unnamed_addr constant [4 x i8] c"f64\00", align 1 -@str.315 = private unnamed_addr constant [8 x i8] c"got i64\00", align 1 -@str.316 = private unnamed_addr constant [11 x i8] c"got string\00", align 1 -@str.317 = private unnamed_addr constant [9 x i8] c"got bool\00", align 1 -@str.318 = private unnamed_addr constant [10 x i8] c"got other\00", align 1 -@str.319 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.320 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.321 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.312 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.313 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.315 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.316 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.317 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.318 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.320 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.321 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.323 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.324 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.326 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.327 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 +@str.328 = private unnamed_addr constant [6 x i8] c"hello\00", align 1 +@str.329 = private unnamed_addr constant [4 x i8] c"i64\00", align 1 +@str.330 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.332 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.333 = private unnamed_addr constant [7 x i8] c"string\00", align 1 +@str.334 = private unnamed_addr constant [4 x i8] c"f64\00", align 1 +@str.335 = private unnamed_addr constant [8 x i8] c"got i64\00", align 1 +@str.336 = private unnamed_addr constant [11 x i8] c"got string\00", align 1 +@str.337 = private unnamed_addr constant [9 x i8] c"got bool\00", align 1 +@str.338 = private unnamed_addr constant [10 x i8] c"got other\00", align 1 +@str.339 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.340 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.341 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.342 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.323 = private constant [5 x i8] c"line\00" -@fld.str.324 = private constant [4 x i8] c"col\00" -@fld.str.325 = 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.323, i64 4 }, { ptr, i64 } { ptr @fld.str.324, i64 3 }, { ptr, i64 } { ptr @fld.str.325, i64 4 }] -@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.327 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.328 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.329 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.331 = private constant [4 x i8] c"ctx\00" -@fld.str.332 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.333 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.334 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 3 }, { ptr, i64 } { ptr @fld.str.332, i64 11 }, { ptr, i64 } { ptr @fld.str.333, i64 13 }] -@str.335 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.336 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.337 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.338 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.339 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.340 = private constant [10 x i8] c"allocator\00" -@fld.str.341 = private constant [5 x i8] c"data\00" -@field_names.342 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 4 }] -@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.344 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.348 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [12 x i8] c"alloc_count\00" -@field_names.355 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 11 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.361 = private constant [5 x i8] c"next\00" -@fld.str.362 = private constant [4 x i8] c"cap\00" -@field_names.363 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 4 }, { ptr, i64 } { ptr @fld.str.362, i64 3 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.367 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.368 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.369 = private constant [6 x i8] c"first\00" -@fld.str.370 = private constant [10 x i8] c"end_index\00" -@fld.str.371 = private constant [7 x i8] c"parent\00" -@field_names.372 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 5 }, { ptr, i64 } { ptr @fld.str.370, i64 9 }, { ptr, i64 } { ptr @fld.str.371, i64 6 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.375 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.376 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.377 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.378 = private constant [4 x i8] c"buf\00" -@fld.str.379 = private constant [4 x i8] c"len\00" -@fld.str.380 = private constant [4 x i8] c"pos\00" -@field_names.381 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 3 }, { ptr, i64 } { ptr @fld.str.379, i64 3 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }] -@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.383 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.387 = private constant [7 x i8] c"parent\00" -@fld.str.388 = private constant [12 x i8] c"alloc_count\00" -@fld.str.389 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.390 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.391 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 6 }, { ptr, i64 } { ptr @fld.str.388, i64 11 }, { ptr, i64 } { ptr @fld.str.389, i64 13 }, { ptr, i64 } { ptr @fld.str.390, i64 17 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.397 = private constant [3 x i8] c"fd\00" -@field_names.398 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 2 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [5 x i8] c"file\00" -@fld.str.405 = private constant [5 x i8] c"line\00" -@fld.str.406 = private constant [4 x i8] c"col\00" -@fld.str.407 = private constant [5 x i8] c"func\00" -@fld.str.408 = private constant [10 x i8] c"line_text\00" -@field_names.409 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 4 }, { ptr, i64 } { ptr @fld.str.405, i64 4 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }, { ptr, i64 } { ptr @fld.str.407, i64 4 }, { ptr, i64 } { ptr @fld.str.408, i64 9 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.412 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.414 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.415 = private constant [10 x i8] c"exit_code\00" -@fld.str.416 = private constant [7 x i8] c"stdout\00" -@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 9 }, { ptr, i64 } { ptr @fld.str.416, i64 6 }] -@str.418 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.419 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.421 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.422 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.423 = private constant [8 x i8] c"sin_len\00" -@fld.str.424 = private constant [11 x i8] c"sin_family\00" -@fld.str.425 = private constant [9 x i8] c"sin_port\00" -@fld.str.426 = private constant [9 x i8] c"sin_addr\00" -@fld.str.427 = private constant [9 x i8] c"sin_zero\00" -@field_names.428 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 7 }, { ptr, i64 } { ptr @fld.str.424, i64 10 }, { ptr, i64 } { ptr @fld.str.425, i64 8 }, { ptr, i64 } { ptr @fld.str.426, i64 8 }, { ptr, i64 } { ptr @fld.str.427, i64 8 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.431 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.432 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.433 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.434 = private constant [6 x i8] c"items\00" -@fld.str.435 = private constant [4 x i8] c"len\00" -@fld.str.436 = private constant [4 x i8] c"cap\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 5 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }] +@fld.str.343 = private constant [5 x i8] c"line\00" +@fld.str.344 = private constant [4 x i8] c"col\00" +@fld.str.345 = 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.343, i64 4 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 4 }] +@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.347 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.348 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.349 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.350 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.351 = private constant [4 x i8] c"ctx\00" +@fld.str.352 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.353 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.354 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 3 }, { ptr, i64 } { ptr @fld.str.352, i64 11 }, { ptr, i64 } { ptr @fld.str.353, i64 13 }] +@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.356 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.357 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.358 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.359 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.360 = private constant [10 x i8] c"allocator\00" +@fld.str.361 = private constant [5 x i8] c"data\00" +@field_names.362 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 9 }, { ptr, i64 } { ptr @fld.str.361, i64 4 }] +@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.364 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.368 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [12 x i8] c"alloc_count\00" +@field_names.375 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 11 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.381 = private constant [5 x i8] c"next\00" +@fld.str.382 = private constant [4 x i8] c"cap\00" +@field_names.383 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 3 }] +@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.385 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.389 = private constant [6 x i8] c"first\00" +@fld.str.390 = private constant [10 x i8] c"end_index\00" +@fld.str.391 = private constant [7 x i8] c"parent\00" +@field_names.392 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 5 }, { ptr, i64 } { ptr @fld.str.390, i64 9 }, { ptr, i64 } { ptr @fld.str.391, i64 6 }] +@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.394 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.395 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.396 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.397 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.398 = private constant [4 x i8] c"buf\00" +@fld.str.399 = private constant [4 x i8] c"len\00" +@fld.str.400 = private constant [4 x i8] c"pos\00" +@field_names.401 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 3 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }] +@str.402 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.403 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.404 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.405 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.406 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.407 = private constant [7 x i8] c"parent\00" +@fld.str.408 = private constant [12 x i8] c"alloc_count\00" +@fld.str.409 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.410 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.411 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.407, i64 6 }, { ptr, i64 } { ptr @fld.str.408, i64 11 }, { ptr, i64 } { ptr @fld.str.409, i64 13 }, { ptr, i64 } { ptr @fld.str.410, i64 17 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.417 = private constant [3 x i8] c"fd\00" +@field_names.418 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 2 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [5 x i8] c"file\00" +@fld.str.425 = private constant [5 x i8] c"line\00" +@fld.str.426 = private constant [4 x i8] c"col\00" +@fld.str.427 = private constant [5 x i8] c"func\00" +@fld.str.428 = private constant [10 x i8] c"line_text\00" +@field_names.429 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 4 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 4 }, { ptr, i64 } { ptr @fld.str.428, i64 9 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.432 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.433 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.434 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.435 = private constant [10 x i8] c"exit_code\00" +@fld.str.436 = private constant [7 x i8] c"stdout\00" +@field_names.437 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 9 }, { ptr, i64 } { ptr @fld.str.436, i64 6 }] @str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.439 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.440 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.441 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.442 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.443 = private constant [6 x i8] c"items\00" -@fld.str.444 = private constant [4 x i8] c"len\00" -@fld.str.445 = private constant [4 x i8] c"cap\00" -@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 5 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 3 }] -@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.448 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.452 = private constant [4 x i8] c"key\00" -@fld.str.453 = private constant [4 x i8] c"val\00" -@field_names.454 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 3 }, { ptr, i64 } { ptr @fld.str.453, i64 3 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.458 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.459 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.460 = private constant [4 x i8] c"dst\00" -@fld.str.461 = private constant [4 x i8] c"pos\00" -@fld.str.462 = private constant [5 x i8] c"file\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 3 }, { ptr, i64 } { ptr @fld.str.462, i64 4 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.469 = private constant [4 x i8] c"src\00" -@fld.str.470 = private constant [4 x i8] c"pos\00" -@fld.str.471 = private constant [6 x i8] c"alloc\00" -@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 5 }] -@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.478 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.483 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.484 = private constant [5 x i8] c"name\00" -@fld.str.485 = private constant [12 x i8] c"takes_value\00" -@fld.str.486 = private constant [9 x i8] c"required\00" -@field_names.487 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 11 }, { ptr, i64 } { ptr @fld.str.486, i64 8 }] -@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.489 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.491 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.492 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.493 = private constant [6 x i8] c"group\00" -@fld.str.494 = private constant [8 x i8] c"command\00" -@fld.str.495 = private constant [6 x i8] c"flags\00" -@field_names.496 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.493, i64 5 }, { ptr, i64 } { ptr @fld.str.494, i64 7 }, { ptr, i64 } { ptr @fld.str.495, i64 5 }] -@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.498 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.499 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.500 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.501 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.502 = private constant [4 x i8] c"set\00" -@fld.str.503 = private constant [6 x i8] c"value\00" -@field_names.504 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 5 }] -@str.505 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.506 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.508 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.509 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.510 = private constant [6 x i8] c"index\00" -@fld.str.511 = private constant [6 x i8] c"token\00" -@field_names.512 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 5 }, { ptr, i64 } { ptr @fld.str.511, i64 5 }] -@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.514 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.516 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.517 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.518 = private constant [6 x i8] c"group\00" -@fld.str.519 = private constant [8 x i8] c"command\00" -@fld.str.520 = private constant [10 x i8] c"cmd_index\00" -@fld.str.521 = private constant [5 x i8] c"json\00" -@fld.str.522 = private constant [5 x i8] c"rest\00" -@fld.str.523 = private constant [5 x i8] c"spec\00" -@fld.str.524 = private constant [7 x i8] c"values\00" -@field_names.525 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 9 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 4 }, { ptr, i64 } { ptr @fld.str.524, i64 6 }] -@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.527 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.531 = private constant [2 x i8] c"h\00" -@fld.str.532 = private constant [4 x i8] c"buf\00" -@fld.str.533 = private constant [8 x i8] c"buf_len\00" -@fld.str.534 = private constant [10 x i8] c"total_len\00" -@field_names.535 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 1 }, { ptr, i64 } { ptr @fld.str.532, i64 3 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }, { ptr, i64 } { ptr @fld.str.534, i64 9 }] -@str.536 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.537 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.538 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.539 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.541 = private constant [4 x i8] c"sec\00" -@fld.str.542 = private constant [5 x i8] c"nsec\00" -@field_names.543 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }] -@str.544 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.545 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.547 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.549 = private constant [6 x i8] c"ident\00" -@fld.str.550 = private constant [7 x i8] c"filter\00" -@fld.str.551 = private constant [6 x i8] c"flags\00" -@fld.str.552 = private constant [7 x i8] c"fflags\00" -@fld.str.553 = private constant [5 x i8] c"data\00" -@fld.str.554 = private constant [6 x i8] c"udata\00" -@field_names.555 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.549, i64 5 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 4 }, { ptr, i64 } { ptr @fld.str.554, i64 5 }] +@fld.str.443 = private constant [8 x i8] c"sin_len\00" +@fld.str.444 = private constant [11 x i8] c"sin_family\00" +@fld.str.445 = private constant [9 x i8] c"sin_port\00" +@fld.str.446 = private constant [9 x i8] c"sin_addr\00" +@fld.str.447 = private constant [9 x i8] c"sin_zero\00" +@field_names.448 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 7 }, { ptr, i64 } { ptr @fld.str.444, i64 10 }, { ptr, i64 } { ptr @fld.str.445, i64 8 }, { ptr, i64 } { ptr @fld.str.446, i64 8 }, { ptr, i64 } { ptr @fld.str.447, i64 8 }] +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.451 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.452 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.453 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.454 = private constant [6 x i8] c"items\00" +@fld.str.455 = private constant [4 x i8] c"len\00" +@fld.str.456 = private constant [4 x i8] c"cap\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 5 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }, { ptr, i64 } { ptr @fld.str.456, i64 3 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.460 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.461 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.462 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.463 = private constant [6 x i8] c"items\00" +@fld.str.464 = private constant [4 x i8] c"len\00" +@fld.str.465 = private constant [4 x i8] c"cap\00" +@field_names.466 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.463, i64 5 }, { ptr, i64 } { ptr @fld.str.464, i64 3 }, { ptr, i64 } { ptr @fld.str.465, i64 3 }] +@str.467 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.468 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.469 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.470 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.471 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.472 = private constant [4 x i8] c"key\00" +@fld.str.473 = private constant [4 x i8] c"val\00" +@field_names.474 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.472, i64 3 }, { ptr, i64 } { ptr @fld.str.473, i64 3 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.478 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.479 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.480 = private constant [4 x i8] c"dst\00" +@fld.str.481 = private constant [4 x i8] c"pos\00" +@fld.str.482 = private constant [5 x i8] c"file\00" +@field_names.483 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 3 }, { ptr, i64 } { ptr @fld.str.481, i64 3 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }] +@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.485 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.489 = private constant [4 x i8] c"src\00" +@fld.str.490 = private constant [4 x i8] c"pos\00" +@fld.str.491 = private constant [6 x i8] c"alloc\00" +@field_names.492 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 3 }, { ptr, i64 } { ptr @fld.str.490, i64 3 }, { ptr, i64 } { ptr @fld.str.491, i64 5 }] +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.498 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.504 = private constant [5 x i8] c"name\00" +@fld.str.505 = private constant [12 x i8] c"takes_value\00" +@fld.str.506 = private constant [9 x i8] c"required\00" +@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 11 }, { ptr, i64 } { ptr @fld.str.506, i64 8 }] +@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.509 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.513 = private constant [6 x i8] c"group\00" +@fld.str.514 = private constant [8 x i8] c"command\00" +@fld.str.515 = private constant [6 x i8] c"flags\00" +@field_names.516 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 7 }, { ptr, i64 } { ptr @fld.str.515, i64 5 }] +@str.517 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.518 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.519 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.520 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.521 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.522 = private constant [4 x i8] c"set\00" +@fld.str.523 = private constant [6 x i8] c"value\00" +@field_names.524 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 3 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }] +@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.526 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.528 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.529 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.530 = private constant [6 x i8] c"index\00" +@fld.str.531 = private constant [6 x i8] c"token\00" +@field_names.532 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }] +@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.534 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.538 = private constant [6 x i8] c"group\00" +@fld.str.539 = private constant [8 x i8] c"command\00" +@fld.str.540 = private constant [10 x i8] c"cmd_index\00" +@fld.str.541 = private constant [5 x i8] c"json\00" +@fld.str.542 = private constant [5 x i8] c"rest\00" +@fld.str.543 = private constant [5 x i8] c"spec\00" +@fld.str.544 = private constant [7 x i8] c"values\00" +@field_names.545 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 9 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }] +@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.547 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.550 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.551 = private constant [2 x i8] c"h\00" +@fld.str.552 = private constant [4 x i8] c"buf\00" +@fld.str.553 = private constant [8 x i8] c"buf_len\00" +@fld.str.554 = private constant [10 x i8] c"total_len\00" +@field_names.555 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 1 }, { ptr, i64 } { ptr @fld.str.552, i64 3 }, { ptr, i64 } { ptr @fld.str.553, i64 7 }, { ptr, i64 } { ptr @fld.str.554, i64 9 }] @str.556 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.557 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.557 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.558 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.559 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.560 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -496,217 +496,313 @@ @fld.str.562 = private constant [5 x i8] c"nsec\00" @field_names.563 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.561, i64 3 }, { ptr, i64 } { ptr @fld.str.562, i64 4 }] @str.564 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.565 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.565 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.567 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.568 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.569 = private constant [3 x i8] c"fd\00" -@fld.str.570 = private constant [6 x i8] c"udata\00" -@fld.str.571 = private constant [9 x i8] c"readable\00" -@fld.str.572 = private constant [9 x i8] c"writable\00" -@fld.str.573 = private constant [4 x i8] c"eof\00" -@fld.str.574 = private constant [4 x i8] c"err\00" -@fld.str.575 = private constant [7 x i8] c"nbytes\00" -@field_names.576 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 2 }, { ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 8 }, { ptr, i64 } { ptr @fld.str.572, i64 8 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }, { ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 6 }] -@str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.582 = private constant [3 x i8] c"kq\00" -@field_names.583 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }] +@fld.str.569 = private constant [6 x i8] c"ident\00" +@fld.str.570 = private constant [7 x i8] c"filter\00" +@fld.str.571 = private constant [6 x i8] c"flags\00" +@fld.str.572 = private constant [7 x i8] c"fflags\00" +@fld.str.573 = private constant [5 x i8] c"data\00" +@fld.str.574 = private constant [6 x i8] c"udata\00" +@field_names.575 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }, { ptr, i64 } { ptr @fld.str.571, i64 5 }, { ptr, i64 } { ptr @fld.str.572, i64 6 }, { ptr, i64 } { ptr @fld.str.573, i64 4 }, { ptr, i64 } { ptr @fld.str.574, i64 5 }] +@str.576 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.577 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.578 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.580 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.581 = private constant [4 x i8] c"sec\00" +@fld.str.582 = private constant [5 x i8] c"nsec\00" +@field_names.583 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 4 }] @str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.586 = private constant [5 x i8] c"read\00" -@fld.str.587 = private constant [6 x i8] c"write\00" -@fld.str.588 = private constant [7 x i8] c"append\00" -@fld.str.589 = private constant [11 x i8] c"read_write\00" -@field_names.590 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }, { ptr, i64 } { ptr @fld.str.589, i64 10 }] -@str.591 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.594 = private constant [4 x i8] c"set\00" -@fld.str.595 = private constant [8 x i8] c"current\00" -@fld.str.596 = private constant [4 x i8] c"end\00" -@field_names.597 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 7 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [6 x i8] c"null_\00" -@fld.str.602 = private constant [6 x i8] c"bool_\00" -@fld.str.603 = private constant [5 x i8] c"int_\00" -@fld.str.604 = private constant [4 x i8] c"str\00" -@fld.str.605 = private constant [6 x i8] c"array\00" -@fld.str.606 = private constant [7 x i8] c"object\00" -@field_names.607 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 5 }, { ptr, i64 } { ptr @fld.str.602, i64 5 }, { ptr, i64 } { ptr @fld.str.603, i64 4 }, { ptr, i64 } { ptr @fld.str.604, i64 3 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }] -@str.608 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.609 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.610 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.611 = private constant [6 x i8] c"macos\00" -@fld.str.612 = private constant [6 x i8] c"linux\00" -@fld.str.613 = private constant [8 x i8] c"windows\00" -@fld.str.614 = private constant [5 x i8] c"wasm\00" -@fld.str.615 = private constant [4 x i8] c"ios\00" -@fld.str.616 = private constant [8 x i8] c"android\00" -@fld.str.617 = private constant [8 x i8] c"unknown\00" -@field_names.618 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.611, i64 5 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 7 }, { ptr, i64 } { ptr @fld.str.614, i64 4 }, { ptr, i64 } { ptr @fld.str.615, i64 3 }, { ptr, i64 } { ptr @fld.str.616, i64 7 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }] -@str.619 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.620 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.621 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.622 = private constant [8 x i8] c"aarch64\00" -@fld.str.623 = private constant [7 x i8] c"x86_64\00" -@fld.str.624 = private constant [7 x i8] c"wasm32\00" -@fld.str.625 = private constant [7 x i8] c"wasm64\00" -@fld.str.626 = private constant [8 x i8] c"unknown\00" -@field_names.627 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 7 }, { ptr, i64 } { ptr @fld.str.623, i64 6 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }, { ptr, i64 } { ptr @fld.str.626, i64 7 }] -@str.628 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.644 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.659 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.665 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.666 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.667 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.668 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.669 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.670 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.671 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.672 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.674 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.675 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.676 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.677 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.678 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.679 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.680 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.681 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.682 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.683 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.685 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.686 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.688 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.689 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.691 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.692 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.695 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.697 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.698 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.700 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.701 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.703 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.704 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.705 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.706 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.707 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.708 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.709 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.710 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.711 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.712 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.713 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.715 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.716 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.718 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.719 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.722 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.724 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.725 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.726 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.727 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.728 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.730 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.731 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.585 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.587 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.588 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.589 = private constant [3 x i8] c"fd\00" +@fld.str.590 = private constant [6 x i8] c"udata\00" +@fld.str.591 = private constant [9 x i8] c"readable\00" +@fld.str.592 = private constant [9 x i8] c"writable\00" +@fld.str.593 = private constant [4 x i8] c"eof\00" +@fld.str.594 = private constant [4 x i8] c"err\00" +@fld.str.595 = private constant [7 x i8] c"nbytes\00" +@field_names.596 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 2 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 8 }, { ptr, i64 } { ptr @fld.str.592, i64 8 }, { ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.602 = private constant [3 x i8] c"kq\00" +@field_names.603 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 2 }] +@str.604 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.607 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.608 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.609 = private constant [5 x i8] c"port\00" +@fld.str.610 = private constant [8 x i8] c"backlog\00" +@fld.str.611 = private constant [9 x i8] c"max_conn\00" +@fld.str.612 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.613 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.614 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.615 = private constant [14 x i8] c"request_count\00" +@field_names.616 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 4 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }, { ptr, i64 } { ptr @fld.str.611, i64 8 }, { ptr, i64 } { ptr @fld.str.612, i64 12 }, { ptr, i64 } { ptr @fld.str.613, i64 18 }, { ptr, i64 } { ptr @fld.str.614, i64 20 }, { ptr, i64 } { ptr @fld.str.615, i64 13 }] +@str.617 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.618 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.619 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.620 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.621 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.622 = private constant [7 x i8] c"method\00" +@fld.str.623 = private constant [5 x i8] c"path\00" +@fld.str.624 = private constant [8 x i8] c"version\00" +@fld.str.625 = private constant [12 x i8] c"headers_raw\00" +@fld.str.626 = private constant [5 x i8] c"body\00" +@fld.str.627 = private constant [11 x i8] c"keep_alive\00" +@field_names.628 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 4 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }, { ptr, i64 } { ptr @fld.str.625, i64 11 }, { ptr, i64 } { ptr @fld.str.626, i64 4 }, { ptr, i64 } { ptr @fld.str.627, i64 10 }] +@str.629 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.630 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.631 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.632 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.633 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.634 = private constant [7 x i8] c"status\00" +@fld.str.635 = private constant [13 x i8] c"content_type\00" +@fld.str.636 = private constant [14 x i8] c"extra_headers\00" +@fld.str.637 = private constant [5 x i8] c"body\00" +@field_names.638 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.634, i64 6 }, { ptr, i64 } { ptr @fld.str.635, i64 12 }, { ptr, i64 } { ptr @fld.str.636, i64 13 }, { ptr, i64 } { ptr @fld.str.637, i64 4 }] +@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.640 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.641 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.642 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.644 = private constant [3 x i8] c"fd\00" +@fld.str.645 = private constant [6 x i8] c"state\00" +@fld.str.646 = private constant [9 x i8] c"read_buf\00" +@fld.str.647 = private constant [9 x i8] c"read_len\00" +@fld.str.648 = private constant [8 x i8] c"out_buf\00" +@fld.str.649 = private constant [8 x i8] c"out_len\00" +@fld.str.650 = private constant [9 x i8] c"out_sent\00" +@fld.str.651 = private constant [9 x i8] c"deadline\00" +@fld.str.652 = private constant [7 x i8] c"served\00" +@fld.str.653 = private constant [12 x i8] c"close_after\00" +@fld.str.654 = private constant [12 x i8] c"write_armed\00" +@field_names.655 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 2 }, { ptr, i64 } { ptr @fld.str.645, i64 5 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 8 }, { ptr, i64 } { ptr @fld.str.648, i64 7 }, { ptr, i64 } { ptr @fld.str.649, i64 7 }, { ptr, i64 } { ptr @fld.str.650, i64 8 }, { ptr, i64 } { ptr @fld.str.651, i64 8 }, { ptr, i64 } { ptr @fld.str.652, i64 6 }, { ptr, i64 } { ptr @fld.str.653, i64 11 }, { ptr, i64 } { ptr @fld.str.654, i64 11 }] +@str.656 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.657 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.661 = private constant [4 x i8] c"cfg\00" +@fld.str.662 = private constant [5 x i8] c"loop\00" +@fld.str.663 = private constant [4 x i8] c"lfd\00" +@fld.str.664 = private constant [6 x i8] c"conns\00" +@fld.str.665 = private constant [10 x i8] c"own_alloc\00" +@fld.str.666 = private constant [8 x i8] c"handler\00" +@field_names.667 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.661, i64 3 }, { ptr, i64 } { ptr @fld.str.662, i64 4 }, { ptr, i64 } { ptr @fld.str.663, i64 3 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 9 }, { ptr, i64 } { ptr @fld.str.666, i64 7 }] +@str.668 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.670 = private constant [5 x i8] c"read\00" +@fld.str.671 = private constant [6 x i8] c"write\00" +@fld.str.672 = private constant [7 x i8] c"append\00" +@fld.str.673 = private constant [11 x i8] c"read_write\00" +@field_names.674 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 4 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 6 }, { ptr, i64 } { ptr @fld.str.673, i64 10 }] +@str.675 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.678 = private constant [4 x i8] c"set\00" +@fld.str.679 = private constant [8 x i8] c"current\00" +@fld.str.680 = private constant [4 x i8] c"end\00" +@field_names.681 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 7 }, { ptr, i64 } { ptr @fld.str.680, i64 3 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [6 x i8] c"null_\00" +@fld.str.686 = private constant [6 x i8] c"bool_\00" +@fld.str.687 = private constant [5 x i8] c"int_\00" +@fld.str.688 = private constant [4 x i8] c"str\00" +@fld.str.689 = private constant [6 x i8] c"array\00" +@fld.str.690 = private constant [7 x i8] c"object\00" +@field_names.691 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 5 }, { ptr, i64 } { ptr @fld.str.686, i64 5 }, { ptr, i64 } { ptr @fld.str.687, i64 4 }, { ptr, i64 } { ptr @fld.str.688, i64 3 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 6 }] +@str.692 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.694 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.695 = private constant [6 x i8] c"macos\00" +@fld.str.696 = private constant [6 x i8] c"linux\00" +@fld.str.697 = private constant [8 x i8] c"windows\00" +@fld.str.698 = private constant [5 x i8] c"wasm\00" +@fld.str.699 = private constant [4 x i8] c"ios\00" +@fld.str.700 = private constant [8 x i8] c"android\00" +@fld.str.701 = private constant [8 x i8] c"unknown\00" +@field_names.702 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 5 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 7 }, { ptr, i64 } { ptr @fld.str.698, i64 4 }, { ptr, i64 } { ptr @fld.str.699, i64 3 }, { ptr, i64 } { ptr @fld.str.700, i64 7 }, { ptr, i64 } { ptr @fld.str.701, i64 7 }] +@str.703 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.706 = private constant [8 x i8] c"aarch64\00" +@fld.str.707 = private constant [7 x i8] c"x86_64\00" +@fld.str.708 = private constant [7 x i8] c"wasm32\00" +@fld.str.709 = private constant [7 x i8] c"wasm64\00" +@fld.str.710 = private constant [8 x i8] c"unknown\00" +@field_names.711 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.706, i64 7 }, { ptr, i64 } { ptr @fld.str.707, i64 6 }, { ptr, i64 } { ptr @fld.str.708, i64 6 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }, { ptr, i64 } { ptr @fld.str.710, i64 7 }] +@str.712 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.716 = private unnamed_addr constant [3 x i8] c", \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 +@str.720 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.725 = private unnamed_addr constant [3 x i8] c", \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 +@str.729 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.734 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.737 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.740 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.743 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.746 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.749 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.751 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.754 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.757 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.760 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.763 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.766 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.769 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.772 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.775 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.778 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.781 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.784 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.787 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.790 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.793 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.796 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.799 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.802 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.808 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.811 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.814 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.817 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.820 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.823 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.826 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.829 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.832 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.835 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.838 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.841 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.844 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.847 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.850 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.853 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.863 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.866 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1144,38 +1240,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 -while.hdr.411: ; preds = %if.merge.416, %entry +while.hdr.445: ; preds = %if.merge.450, %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.412, label %while.exit.413 + br i1 %icmp, label %while.body.446, label %while.exit.447 -while.body.412: ; preds = %while.hdr.411 +while.body.446: ; preds = %while.hdr.445 %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.414, label %if.else.415 + br i1 %icmpN, label %if.then.448, label %if.else.449 -while.exit.413: ; preds = %while.hdr.411 +while.exit.447: ; preds = %while.hdr.445 ret void -if.then.414: ; preds = %while.body.412 +if.then.448: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.416 + br label %if.merge.450 -if.else.415: ; preds = %while.body.412 +if.else.449: ; preds = %while.body.446 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.416 + br label %if.merge.450 -if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi i64 [ %addN, %if.then.414 ], [ %addN, %if.else.415 ] +if.merge.450: ; preds = %if.else.449, %if.then.448 + %bp = phi i64 [ %addN, %if.then.448 ], [ %addN, %if.else.449 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1188,7 +1284,7 @@ if.merge.416: ; preds = %if.else.415, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.411 + br label %while.hdr.445 } ; Function Attrs: nounwind @@ -1301,12 +1397,12 @@ entry: 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.409, label %if.merge.410 + br i1 %icmp, label %if.then.443, label %if.merge.444 -if.then.409: ; preds = %entry +if.then.443: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.410: ; preds = %entry +if.merge.444: ; 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 @@ -1329,14 +1425,14 @@ if.merge.410: ; preds = %entry %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.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.421, %if.merge.410 +while.hdr.451: ; preds = %if.merge.455, %if.merge.444 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.418, label %while.exit.419 + br i1 %icmpN, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1344,9 +1440,9 @@ while.body.418: ; preds = %while.hdr.417 %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.420, label %if.merge.421 + br i1 %icmpN, label %if.then.454, label %if.merge.455 -while.exit.419: ; preds = %if.then.420, %while.hdr.417 +while.exit.453: ; preds = %if.then.454, %while.hdr.451 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1354,14 +1450,14 @@ while.exit.419: ; preds = %if.then.420, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.420: ; preds = %while.body.418 - br label %while.exit.419 +if.then.454: ; preds = %while.body.452 + br label %while.exit.453 -if.merge.421: ; preds = %while.body.418 +if.merge.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1509,6 +1605,11 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1519,18 +1620,19 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 114, label %match.arm.47 + i64 126, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 112, label %match.arm.48 + i64 124, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1557,15 +1659,19 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, label %match.arm.49 - i64 111, label %match.arm.49 - i64 113, label %match.arm.49 - i64 115, label %match.arm.49 + i64 114, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 118, label %match.arm.49 - i64 119, label %match.arm.49 - i64 120, label %match.arm.49 + i64 121, label %match.arm.49 + i64 122, label %match.arm.49 + i64 123, label %match.arm.49 + i64 125, label %match.arm.49 + i64 127, label %match.arm.49 + i64 128, label %match.arm.49 + i64 129, label %match.arm.49 + i64 130, label %match.arm.49 + i64 131, label %match.arm.49 + i64 132, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1574,7 +1680,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.524, %dispatch.merge.369, %dispatch.merge.331, %dispatch.merge.293, %dispatch.merge.276, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.570, %dispatch.merge.399, %dispatch.merge.361, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1588,7 +1694,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [185 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [203 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1616,7 +1722,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1651,28 +1757,33 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 38, label %dispatch.case.278 - i64 39, label %dispatch.case.279 - i64 58, label %dispatch.case.280 - i64 74, label %dispatch.case.281 - i64 75, label %dispatch.case.282 + switch i64 %ua.raw20, label %dispatch.default.307 [ + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 58, label %dispatch.case.310 + i64 74, label %dispatch.case.311 + i64 75, label %dispatch.case.312 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1684,80 +1795,84 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 23, label %dispatch.case.295 - i64 85, label %dispatch.case.296 - i64 91, label %dispatch.case.297 - i64 92, label %dispatch.case.298 - i64 96, label %dispatch.case.299 - i64 114, label %dispatch.case.300 + switch i64 %ua.raw29, label %dispatch.default.324 [ + i64 23, label %dispatch.case.325 + i64 85, label %dispatch.case.326 + i64 91, label %dispatch.case.327 + i64 92, label %dispatch.case.328 + i64 96, label %dispatch.case.329 + i64 126, label %dispatch.case.330 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.332 [ - i64 24, label %dispatch.case.333 - i64 64, label %dispatch.case.334 - i64 81, label %dispatch.case.335 - i64 89, label %dispatch.case.336 - i64 109, label %dispatch.case.337 - i64 112, label %dispatch.case.338 + switch i64 %ua.raw33, label %dispatch.default.362 [ + i64 24, label %dispatch.case.363 + i64 64, label %dispatch.case.364 + i64 81, label %dispatch.case.365 + i64 89, label %dispatch.case.366 + i64 109, label %dispatch.case.367 + i64 124, label %dispatch.case.368 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 19, label %dispatch.case.371 - i64 26, label %dispatch.case.372 - i64 28, label %dispatch.case.373 - i64 30, label %dispatch.case.374 - i64 32, label %dispatch.case.375 - i64 33, label %dispatch.case.376 - i64 35, label %dispatch.case.377 - i64 37, label %dispatch.case.378 - i64 41, label %dispatch.case.379 - i64 48, label %dispatch.case.380 - i64 50, label %dispatch.case.381 - i64 51, label %dispatch.case.382 - i64 60, label %dispatch.case.383 - i64 61, label %dispatch.case.384 - i64 62, label %dispatch.case.385 - i64 63, label %dispatch.case.386 - i64 66, label %dispatch.case.387 - i64 71, label %dispatch.case.388 - i64 78, label %dispatch.case.389 - i64 87, label %dispatch.case.390 - i64 90, label %dispatch.case.391 - i64 94, label %dispatch.case.392 - i64 98, label %dispatch.case.393 - i64 101, label %dispatch.case.394 - i64 102, label %dispatch.case.395 - i64 107, label %dispatch.case.396 - i64 110, label %dispatch.case.397 - i64 111, label %dispatch.case.398 - i64 113, label %dispatch.case.399 - i64 115, label %dispatch.case.400 - i64 116, label %dispatch.case.401 - i64 117, label %dispatch.case.402 - i64 118, label %dispatch.case.403 - i64 119, label %dispatch.case.404 - i64 120, label %dispatch.case.405 + switch i64 %ua.raw37, label %dispatch.default.400 [ + i64 19, label %dispatch.case.401 + i64 26, label %dispatch.case.402 + i64 28, label %dispatch.case.403 + i64 30, label %dispatch.case.404 + i64 32, label %dispatch.case.405 + i64 33, label %dispatch.case.406 + i64 35, label %dispatch.case.407 + i64 37, label %dispatch.case.408 + i64 41, label %dispatch.case.409 + i64 48, label %dispatch.case.410 + i64 50, label %dispatch.case.411 + i64 51, label %dispatch.case.412 + i64 60, label %dispatch.case.413 + i64 61, label %dispatch.case.414 + i64 62, label %dispatch.case.415 + i64 63, label %dispatch.case.416 + i64 66, label %dispatch.case.417 + i64 71, label %dispatch.case.418 + i64 78, label %dispatch.case.419 + i64 87, label %dispatch.case.420 + i64 90, label %dispatch.case.421 + i64 94, label %dispatch.case.422 + i64 98, label %dispatch.case.423 + i64 101, label %dispatch.case.424 + i64 102, label %dispatch.case.425 + i64 107, label %dispatch.case.426 + i64 114, label %dispatch.case.427 + i64 116, label %dispatch.case.428 + i64 117, label %dispatch.case.429 + i64 121, label %dispatch.case.430 + i64 122, label %dispatch.case.431 + i64 123, label %dispatch.case.432 + i64 125, label %dispatch.case.433 + i64 127, label %dispatch.case.434 + i64 128, label %dispatch.case.435 + i64 129, label %dispatch.case.436 + i64 130, label %dispatch.case.437 + i64 131, label %dispatch.case.438 + i64 132, label %dispatch.case.439 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.525 [ - i64 42, label %dispatch.case.526 - i64 43, label %dispatch.case.527 - i64 45, label %dispatch.case.528 - i64 47, label %dispatch.case.529 - i64 95, label %dispatch.case.530 + switch i64 %ua.raw41, label %dispatch.default.571 [ + i64 42, label %dispatch.case.572 + i64 43, label %dispatch.case.573 + i64 45, label %dispatch.case.574 + i64 47, label %dispatch.case.575 + i64 95, label %dispatch.case.576 ] match.arm.51: ; preds = %entry @@ -1766,7 +1881,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [185 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [203 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1811,13 +1926,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.286, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2060,462 +2175,530 @@ dispatch.case.125: ; preds = %match.arm.43 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.276: ; preds = %dispatch.case.282, %dispatch.case.281, %dispatch.case.280, %dispatch.case.279, %dispatch.case.278, %dispatch.default.277 +dispatch.case.126: ; preds = %match.arm.43 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.277: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.287, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.276 +dispatch.default.307: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.306 -dispatch.case.278: ; preds = %match.arm.44 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.308: ; preds = %match.arm.44 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.279: ; preds = %match.arm.44 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.309: ; preds = %match.arm.44 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.280: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.310: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.281: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.311: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.case.282: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.312: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.276 + br label %dispatch.merge.306 -dispatch.merge.293: ; preds = %dispatch.case.300, %dispatch.case.299, %dispatch.case.298, %dispatch.case.297, %dispatch.case.296, %dispatch.case.295, %dispatch.default.294 +dispatch.merge.323: ; preds = %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.294: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.293 +dispatch.default.324: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.323 -dispatch.case.295: ; preds = %match.arm.47 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.296: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.297: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.298: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.299: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 - -dispatch.case.300: ; preds = %match.arm.47 +dispatch.case.325: ; preds = %match.arm.47 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.293 + br label %dispatch.merge.323 -dispatch.merge.331: ; preds = %dispatch.case.338, %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.default.332 +dispatch.case.326: ; preds = %match.arm.47 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.327: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.328: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.329: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.case.330: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.323 + +dispatch.merge.361: ; preds = %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.default.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.332: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.331 +dispatch.default.362: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.361 -dispatch.case.333: ; preds = %match.arm.48 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.334: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.335: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.336: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.337: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 - -dispatch.case.338: ; preds = %match.arm.48 +dispatch.case.363: ; preds = %match.arm.48 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.331 + br label %dispatch.merge.361 -dispatch.merge.369: ; preds = %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.default.370 +dispatch.case.364: ; preds = %match.arm.48 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.365: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.366: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.367: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.case.368: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.361 + +dispatch.merge.399: ; preds = %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.default.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.370: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.371: ; preds = %match.arm.49 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.372: ; preds = %match.arm.49 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.373: ; preds = %match.arm.49 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.374: ; preds = %match.arm.49 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.375: ; preds = %match.arm.49 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.376: ; preds = %match.arm.49 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 +dispatch.default.400: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.399 dispatch.case.401: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.402: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.403: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.404: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 dispatch.case.405: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.369 + br label %dispatch.merge.399 -dispatch.merge.524: ; preds = %dispatch.case.530, %dispatch.case.529, %dispatch.case.528, %dispatch.case.527, %dispatch.case.526, %dispatch.default.525 +dispatch.case.406: ; preds = %match.arm.49 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.407: ; preds = %match.arm.49 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.408: ; preds = %match.arm.49 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.409: ; preds = %match.arm.49 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.410: ; preds = %match.arm.49 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.411: ; preds = %match.arm.49 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.399 + +dispatch.merge.570: ; preds = %dispatch.case.576, %dispatch.case.575, %dispatch.case.574, %dispatch.case.573, %dispatch.case.572, %dispatch.default.571 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.525: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.524 +dispatch.default.571: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.570 -dispatch.case.526: ; preds = %match.arm.50 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.572: ; preds = %match.arm.50 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.527: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.573: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.528: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.574: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.529: ; preds = %match.arm.50 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.575: ; preds = %match.arm.50 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 -dispatch.case.530: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.576: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.524 + br label %dispatch.merge.570 } ; Function Attrs: nounwind @@ -2524,7 +2707,7 @@ 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.292, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2620,7 +2803,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, 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 @@ -2628,7 +2811,7 @@ if.then.12: ; preds = %if.then.9 %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.294, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, 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 @@ -2638,13 +2821,13 @@ if.then.12: ; preds = %if.then.9 %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.295, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, 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 @@ -2652,7 +2835,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.297, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2666,7 +2849,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2674,7 +2857,7 @@ if.then.23: ; preds = %if.else.10 %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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2685,7 +2868,7 @@ if.then.23: ; preds = %if.else.10 %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.300, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2742,7 +2925,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, 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 @@ -2750,7 +2933,7 @@ if.then.32: ; preds = %if.then.29 %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.302, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2761,7 +2944,7 @@ if.then.32: ; preds = %if.then.29 %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.303, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2781,7 +2964,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2789,7 +2972,7 @@ if.then.35: ; preds = %while.exit.2 %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.305, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2800,7 +2983,7 @@ if.then.35: ; preds = %while.exit.2 %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.306, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3633,18 +3816,66 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: %call = call { ptr, i64 } @show__pack_i64(ptr @__sx_default_context, i64 42) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %call) - %callN = call { ptr, i64 } @show__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.307, i64 2 }) + %callN = call { ptr, i64 } @show__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.327, i64 2 }) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %callN) %callN = call { ptr, i64 } @show__pack_f64(ptr @__sx_default_context, double 3.140000e+00) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %callN) %callN = call { ptr, i64 } @describe__pack_i64(ptr @__sx_default_context, i64 42) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %callN) - %callN = call { ptr, i64 } @describe__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.308, i64 5 }) + %callN = call { ptr, i64 } @describe__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.328, i64 5 }) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %callN) %callN = call { ptr, i64 } @describe__pack_bool(ptr @__sx_default_context, i1 true) call void @print__ct_sbc6305862a3a863d__pack_string(ptr @__sx_default_context, { ptr, i64 } %callN) @@ -3683,14 +3914,14 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.309, i64 3 } + ret { ptr, i64 } { ptr @str.329, i64 3 } } ; Function Attrs: nounwind define internal void @print__ct_sbc6305862a3a863d__pack_string(ptr %0, { ptr, i64 } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.310, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.330, i64 3 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3708,7 +3939,7 @@ entry: %gepN = getelementptr inbounds { 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.311, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.331, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %ba.tmp9 = alloca { ptr, i64 }, align 8 @@ -3733,7 +3964,7 @@ entry: ; 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.312, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.332, i64 3 }) ret { ptr, i64 } %call } @@ -3756,7 +3987,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.313, i64 6 } + ret { ptr, i64 } { ptr @str.333, i64 6 } } ; Function Attrs: nounwind @@ -3776,7 +4007,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.314, i64 3 } + ret { ptr, i64 } { ptr @str.334, i64 3 } } ; Function Attrs: nounwind @@ -3795,7 +4026,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.315, i64 7 } + ret { ptr, i64 } { ptr @str.335, i64 7 } } ; Function Attrs: nounwind @@ -3817,7 +4048,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.316, i64 10 } + ret { ptr, i64 } { ptr @str.336, i64 10 } } ; Function Attrs: nounwind @@ -3837,7 +4068,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.317, i64 8 } + ret { ptr, i64 } { ptr @str.337, i64 8 } } ; Function Attrs: nounwind @@ -3857,7 +4088,7 @@ entry: store ptr %igp.ptr3, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 1, ptr %gepN, align 8 - ret { ptr, i64 } { ptr @str.318, i64 9 } + ret { ptr, i64 } { ptr @str.338, i64 9 } } ; Function Attrs: nounwind @@ -3867,35 +4098,35 @@ entry: %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.319, i64 15 }, { ptr, i64 } { ptr @str.320, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.339, i64 15 }, { ptr, i64 } { ptr @str.340, 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.126 + br label %while.hdr.131 -while.hdr.126: ; preds = %fv.merge, %entry +while.hdr.131: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.127, label %while.exit.128 + br i1 %icmp, label %while.body.132, label %while.exit.133 -while.body.127: ; preds = %while.hdr.126 +while.body.132: ; preds = %while.hdr.131 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.129, label %if.merge.130 + br i1 %icmpN, label %if.then.134, label %if.merge.135 -while.exit.128: ; preds = %while.hdr.126 +while.exit.133: ; preds = %while.hdr.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 1 }) ret { ptr, i64 } %callN -if.then.129: ; preds = %while.body.127 +if.then.134: ; preds = %while.body.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.130 + br label %if.merge.135 -if.merge.130: ; preds = %if.then.129, %while.body.127 +if.merge.135: ; preds = %if.then.134, %while.body.132 %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 @@ -3903,7 +4134,7 @@ if.merge.130: ; preds = %if.then.129, %while %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.326, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, 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 @@ -3923,31 +4154,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.126 + br label %while.hdr.131 -fv.default: ; preds = %if.merge.130 +fv.default: ; preds = %if.merge.135 br label %fv.merge -fv.case: ; preds = %if.merge.130 +fv.case: ; preds = %if.merge.135 %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.130 +fv.case17: ; preds = %if.merge.135 %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.130 +fv.case20: ; preds = %if.merge.135 %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.130 +fv.case24: ; preds = %if.merge.135 %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 @@ -3960,43 +4191,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.327, i64 9 }, { ptr, i64 } { ptr @str.328, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.347, i64 9 }, { ptr, i64 } { ptr @str.348, 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.131 + br label %while.hdr.136 -while.hdr.131: ; preds = %fv.merge, %entry +while.hdr.136: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.132, label %while.exit.133 + br i1 %icmp, label %while.body.137, label %while.exit.138 -while.body.132: ; preds = %while.hdr.131 +while.body.137: ; preds = %while.hdr.136 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.134, label %if.merge.135 + br i1 %icmpN, label %if.then.139, label %if.merge.140 -while.exit.133: ; preds = %while.hdr.131 +while.exit.138: ; preds = %while.hdr.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 1 }) ret { ptr, i64 } %callN -if.then.134: ; preds = %while.body.132 +if.then.139: ; preds = %while.body.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.135 + br label %if.merge.140 -if.merge.135: ; preds = %if.then.134, %while.body.132 +if.merge.140: ; preds = %if.then.139, %while.body.137 %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.334, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.354, 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.335, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, 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 @@ -4015,24 +4246,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.131 + br label %while.hdr.136 -fv.default: ; preds = %if.merge.135 +fv.default: ; preds = %if.merge.140 br label %fv.merge -fv.case: ; preds = %if.merge.135 +fv.case: ; preds = %if.merge.140 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.135 +fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.135 +fv.case21: ; preds = %if.merge.140 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4045,43 +4276,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.336, i64 7 }, { ptr, i64 } { ptr @str.337, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.356, i64 7 }, { ptr, i64 } { ptr @str.357, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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.342, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.362, 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.343, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, 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 %alloca, align 8 @@ -4099,19 +4330,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.140 +fv.case17: ; preds = %if.merge.145 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4123,43 +4354,43 @@ 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.344, i64 10 }, { ptr, i64 } { ptr @str.345, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.364, i64 10 }, { ptr, i64 } { ptr @str.365, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %if.merge.145, %entry +while.hdr.146: ; preds = %if.merge.150, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4170,7 +4401,7 @@ if.merge.145: ; preds = %if.then.144, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 } ; Function Attrs: nounwind @@ -4178,43 +4409,43 @@ 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.350, i64 3 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 3 }, { ptr, i64 } { ptr @str.371, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, 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 @@ -4231,12 +4462,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4247,43 +4478,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.357, i64 10 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 10 }, { ptr, i64 } { ptr @str.378, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %fv.merge, %entry +while.hdr.156: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.383, 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.364, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, 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 @@ -4301,18 +4532,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 -fv.default: ; preds = %if.merge.155 +fv.default: ; preds = %if.merge.160 br label %fv.merge -fv.case: ; preds = %if.merge.155 +fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.155 +fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4324,91 +4555,7 @@ 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.365, i64 5 }, { ptr, i64 } { ptr @str.366, 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.156 - -while.hdr.156: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.157, label %while.exit.158 - -while.body.157: ; preds = %while.hdr.156 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 - -while.exit.158: ; preds = %while.hdr.156 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 1 }) - ret { ptr, i64 } %callN - -if.then.159: ; preds = %while.body.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 - -if.merge.160: ; preds = %if.then.159, %while.body.157 - %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.372, 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.373, 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.156 - -fv.default: ; preds = %if.merge.160 - br label %fv.merge - -fv.case: ; preds = %if.merge.160 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.160 - %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.160 - %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 21, 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.374, i64 8 }, { ptr, i64 } { ptr @str.375, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.385, i64 5 }, { ptr, i64 } { ptr @str.386, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4427,27 +4574,27 @@ while.body.162: ; preds = %while.hdr.161 while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) ret { ptr, i64 } %callN if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.165 if.merge.165: ; preds = %if.then.164, %while.body.162 %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.381, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.392, 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.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, 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 { 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 @@ -4469,17 +4616,101 @@ fv.default: ; preds = %if.merge.165 br label %fv.merge fv.case: ; preds = %if.merge.165 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.165 + %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.165 + %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 21, 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.394, i64 8 }, { ptr, i64 } { ptr @str.395, 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.166 + +while.hdr.166: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.167, label %while.exit.168 + +while.body.167: ; preds = %while.hdr.166 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.169, label %if.merge.170 + +while.exit.168: ; preds = %while.hdr.166 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) + ret { ptr, i64 } %callN + +if.then.169: ; preds = %while.body.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.170 + +if.merge.170: ; preds = %if.then.169, %while.body.167 + %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.401, 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.402, 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.166 + +fv.default: ; preds = %if.merge.170 + br label %fv.merge + +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %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.165 +fv.case20: ; preds = %if.merge.170 %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 @@ -4491,43 +4722,43 @@ 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.383, i64 17 }, { ptr, i64 } { ptr @str.384, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.403, i64 17 }, { ptr, i64 } { ptr @str.404, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.411, 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.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, 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 @@ -4547,29 +4778,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %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.170 +fv.case20: ; preds = %if.merge.175 %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.170 +fv.case23: ; preds = %if.merge.175 %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 @@ -4580,43 +4811,43 @@ 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.393, i64 4 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 4 }, { ptr, i64 } { ptr @str.414, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %fv.merge, %entry +while.hdr.176: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4633,12 +4864,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 -fv.default: ; preds = %if.merge.175 +fv.default: ; preds = %if.merge.180 br label %fv.merge -fv.case: ; preds = %if.merge.175 +fv.case: ; preds = %if.merge.180 %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 @@ -4653,43 +4884,43 @@ entry: %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.400, i64 10 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 10 }, { ptr, i64 } { ptr @str.421, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.429, 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.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, 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 @@ -4710,38 +4941,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case24: ; preds = %if.merge.185 %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.180 +fv.case29: ; preds = %if.merge.185 %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 @@ -4755,43 +4986,43 @@ 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.411, i64 13 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 13 }, { ptr, i64 } { ptr @str.432, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.417, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.437, 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.418, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, 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 @@ -4809,18 +5040,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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.185 +fv.case17: ; preds = %if.merge.190 %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 @@ -4833,43 +5064,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.419, i64 8 }, { ptr, i64 } { ptr @str.420, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.439, i64 8 }, { ptr, i64 } { ptr @str.440, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.428, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.448, 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.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, 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 @@ -4890,36 +5121,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case21: ; preds = %if.merge.195 %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.190 +fv.case25: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4930,89 +5161,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.430, i64 5 }, { ptr, i64 } { ptr @str.431, 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.191 - -while.hdr.191: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.192, label %while.exit.193 - -while.body.192: ; preds = %while.hdr.191 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 - -while.exit.193: ; preds = %while.hdr.191 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 1 }) - ret { ptr, i64 } %callN - -if.then.194: ; preds = %while.body.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 - -if.merge.195: ; preds = %if.then.194, %while.body.192 - %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.437, 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.438, 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.191 - -fv.default: ; preds = %if.merge.195 - br label %fv.merge - -fv.case: ; preds = %if.merge.195 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.195 - %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.195 - %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.439, i64 6 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 5 }, { ptr, i64 } { ptr @str.451, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5031,24 +5180,24 @@ while.body.197: ; preds = %while.hdr.196 while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 1 }) ret { ptr, i64 } %callN if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.200 if.merge.200: ; preds = %if.then.199, %while.body.197 %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.446, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.457, 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.447, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, 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 @@ -5075,7 +5224,7 @@ fv.default: ; preds = %if.merge.200 fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -5090,13 +5239,11 @@ fv.case20: ; preds = %if.merge.200 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.448, i64 6 }, { ptr, i64 } { ptr @str.449, i64 1 }) + %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.459, i64 6 }, { ptr, i64 } { ptr @str.460, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5105,7 +5252,7 @@ entry: while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.202, label %while.exit.203 while.body.202: ; preds = %while.hdr.201 @@ -5115,24 +5262,108 @@ while.body.202: ; preds = %while.hdr.201 while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 1 }) ret { ptr, i64 } %callN if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.462, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.205 if.merge.205: ; preds = %if.then.204, %while.body.202 %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.454, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.466, 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.455, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, 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.201 + +fv.default: ; preds = %if.merge.205 + br label %fv.merge + +fv.case: ; preds = %if.merge.205 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.205 + %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.205 + %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.468, i64 6 }, { ptr, i64 } { ptr @str.469, 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.206 + +while.hdr.206: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.207, label %while.exit.208 + +while.body.207: ; preds = %while.hdr.206 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.209, label %if.merge.210 + +while.exit.208: ; preds = %while.hdr.206 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 1 }) + ret { ptr, i64 } %callN + +if.then.209: ; preds = %while.body.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.210 + +if.merge.210: ; preds = %if.then.209, %while.body.207 + %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.474, 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.475, 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 @@ -5150,19 +5381,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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.205 +fv.case17: ; preds = %if.merge.210 %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 @@ -5176,93 +5407,7 @@ 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.456, i64 4 }, { ptr, i64 } { ptr @str.457, 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.206 - -while.hdr.206: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.207, label %while.exit.208 - -while.body.207: ; preds = %while.hdr.206 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 - -while.exit.208: ; preds = %while.hdr.206 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 1 }) - ret { ptr, i64 } %callN - -if.then.209: ; preds = %while.body.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 - -if.merge.210: ; preds = %if.then.209, %while.body.207 - %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.463, 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.464, 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.206 - -fv.default: ; preds = %if.merge.210 - br label %fv.merge - -fv.case: ; preds = %if.merge.210 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.210 - %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.210 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.465, i64 6 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.476, i64 4 }, { ptr, i64 } { ptr @str.477, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5281,24 +5426,110 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.483, 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.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.485, i64 6 }, { ptr, i64 } { ptr @str.486, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.492, 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.493, 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 @@ -5317,24 +5548,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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.215 +fv.case20: ; preds = %if.merge.220 %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 @@ -5347,43 +5578,43 @@ 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.474, i64 12 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.494, i64 12 }, { ptr, i64 } { ptr @str.495, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %if.merge.220, %entry +while.hdr.221: ; preds = %if.merge.225, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.478, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.498, 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.479, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5394,7 +5625,7 @@ if.merge.220: ; preds = %if.then.219, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 } ; Function Attrs: nounwind @@ -5403,95 +5634,7 @@ 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.480, i64 8 }, { ptr, i64 } { ptr @str.481, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.487, 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.488, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %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.225 - %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.225 - %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.489, i64 7 }, { ptr, i64 } { ptr @str.490, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.500, i64 8 }, { ptr, i64 } { ptr @str.501, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5510,24 +5653,112 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.496, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.507, 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.497, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, 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.226 + +fv.default: ; preds = %if.merge.230 + br label %fv.merge + +fv.case: ; preds = %if.merge.230 + %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.230 + %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.230 + %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.509, i64 7 }, { ptr, i64 } { ptr @str.510, 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.231 + +while.hdr.231: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.232, label %while.exit.233 + +while.body.232: ; preds = %while.hdr.231 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.234, label %if.merge.235 + +while.exit.233: ; preds = %while.hdr.231 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) + ret { ptr, i64 } %callN + +if.then.234: ; preds = %while.body.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.235 + +if.merge.235: ; preds = %if.then.234, %while.body.232 + %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.516, 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.517, 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 @@ -5546,26 +5777,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 -fv.default: ; preds = %if.merge.230 +fv.default: ; preds = %if.merge.235 br label %fv.merge -fv.case: ; preds = %if.merge.230 +fv.case: ; preds = %if.merge.235 %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.230 +fv.case17: ; preds = %if.merge.235 %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.230 +fv.case22: ; preds = %if.merge.235 %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 @@ -5579,86 +5810,7 @@ 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.498, i64 9 }, { ptr, i64 } { ptr @str.499, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.504, 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.505, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.506, i64 4 }, { ptr, i64 } { ptr @str.507, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.518, i64 9 }, { ptr, i64 } { ptr @str.519, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5677,27 +5829,27 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.512, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.524, 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.513, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, 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 { 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 @@ -5718,11 +5870,90 @@ fv.default: ; preds = %if.merge.240 br label %fv.merge fv.case: ; preds = %if.merge.240 + %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.240 + %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.526, i64 4 }, { ptr, i64 } { ptr @str.527, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.532, 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.533, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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 @@ -5740,43 +5971,43 @@ entry: %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.514, i64 6 }, { ptr, i64 } { ptr @str.515, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 6 }, { ptr, i64 } { ptr @str.535, 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.241 + br label %while.hdr.246 -while.hdr.241: ; preds = %fv.merge, %entry +while.hdr.246: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.242, label %while.exit.243 + br i1 %icmp, label %while.body.247, label %while.exit.248 -while.body.242: ; preds = %while.hdr.241 +while.body.247: ; preds = %while.hdr.246 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 + br i1 %icmpN, label %if.then.249, label %if.merge.250 -while.exit.243: ; preds = %while.hdr.241 +while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) ret { ptr, i64 } %callN -if.then.244: ; preds = %while.body.242 +if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 + br label %if.merge.250 -if.merge.245: ; preds = %if.then.244, %while.body.242 +if.merge.250: ; preds = %if.then.249, %while.body.247 %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.525, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.545, 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.526, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, 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 @@ -5799,51 +6030,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case22: ; preds = %if.merge.250 %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.245 +fv.case25: ; preds = %if.merge.250 %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.245 +fv.case28: ; preds = %if.merge.250 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.245 +fv.case33: ; preds = %if.merge.250 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.245 +fv.case38: ; preds = %if.merge.250 %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 @@ -5858,43 +6089,43 @@ entry: %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.527, i64 6 }, { ptr, i64 } { ptr @str.528, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 6 }, { ptr, i64 } { ptr @str.548, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %fv.merge, %entry +while.hdr.251: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.535, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.555, 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.536, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, 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 @@ -5914,31 +6145,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 -fv.default: ; preds = %if.merge.250 +fv.default: ; preds = %if.merge.255 br label %fv.merge -fv.case: ; preds = %if.merge.250 +fv.case: ; preds = %if.merge.255 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.250 +fv.case17: ; preds = %if.merge.255 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.250 +fv.case22: ; preds = %if.merge.255 %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.250 +fv.case25: ; preds = %if.merge.255 %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 @@ -5949,82 +6180,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.537, i64 8 }, { ptr, i64 } { ptr @str.538, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.543, 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.544, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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__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.545, i64 6 }, { ptr, i64 } { ptr @str.546, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, i64 8 }, { ptr, i64 } { ptr @str.558, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6033,7 +6189,7 @@ entry: while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.257, label %while.exit.258 while.body.257: ; preds = %while.hdr.256 @@ -6043,118 +6199,16 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 - %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.555, 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.556, 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.256 - -fv.default: ; preds = %if.merge.260 - br label %fv.merge - -fv.case: ; preds = %if.merge.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.260 - %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.557, i64 10 }, { ptr, i64 } { ptr @str.558, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 %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.563, i64 0, i64 %loadN @@ -6180,17 +6234,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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__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.565, i64 6 }, { ptr, i64 } { ptr @str.566, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.575, 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.576, 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.261 fv.default: ; preds = %if.merge.265 br label %fv.merge fv.case: ; preds = %if.merge.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.265 + %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.577, i64 10 }, { ptr, i64 } { ptr @str.578, 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.266 + +while.hdr.266: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.267, label %while.exit.268 + +while.body.267: ; preds = %while.hdr.266 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.269, label %if.merge.270 + +while.exit.268: ; preds = %while.hdr.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + ret { ptr, i64 } %callN + +if.then.269: ; preds = %while.body.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.270 + +if.merge.270: ; preds = %if.then.269, %while.body.267 + %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.583, 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.584, 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.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 %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.265 +fv.case17: ; preds = %if.merge.270 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6201,43 +6432,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.565, i64 5 }, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 5 }, { ptr, i64 } { ptr @str.586, 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.266 + br label %while.hdr.271 -while.hdr.266: ; preds = %fv.merge, %entry +while.hdr.271: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.267, label %while.exit.268 + br i1 %icmp, label %while.body.272, label %while.exit.273 -while.body.267: ; preds = %while.hdr.266 +while.body.272: ; preds = %while.hdr.271 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.269, label %if.merge.270 + br i1 %icmpN, label %if.then.274, label %if.merge.275 -while.exit.268: ; preds = %while.hdr.266 +while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %callN -if.then.269: ; preds = %while.body.267 +if.then.274: ; preds = %while.body.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.270 + br label %if.merge.275 -if.merge.270: ; preds = %if.then.269, %while.body.267 +if.merge.275: ; preds = %if.then.274, %while.body.272 %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.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.596, 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.577, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.597, 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, i64 }, ptr %alloca, align 8 @@ -6260,47 +6491,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.266 + br label %while.hdr.271 -fv.default: ; preds = %if.merge.270 +fv.default: ; preds = %if.merge.275 br label %fv.merge -fv.case: ; preds = %if.merge.270 +fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { i32, i64, 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.270 +fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { i32, i64, 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.270 +fv.case20: ; preds = %if.merge.275 %fv.field21 = extractvalue { i32, i64, 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.270 +fv.case23: ; preds = %if.merge.275 %fv.field24 = extractvalue { i32, i64, 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.270 +fv.case27: ; preds = %if.merge.275 %fv.field28 = extractvalue { i32, i64, 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.270 +fv.case31: ; preds = %if.merge.275 %fv.field32 = extractvalue { i32, i64, 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.270 +fv.case35: ; preds = %if.merge.275 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6311,43 +6542,43 @@ 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.578, i64 4 }, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 4 }, { ptr, i64 } { ptr @str.599, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.603, 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.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, 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 @@ -6364,18 +6595,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } { ptr @str.606, 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.281 + +while.hdr.281: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.282, label %while.exit.283 + +while.body.282: ; preds = %while.hdr.281 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.284, label %if.merge.285 + +while.exit.283: ; preds = %while.hdr.281 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) + ret { ptr, i64 } %callN + +if.then.284: ; preds = %while.body.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.285 + +if.merge.285: ; preds = %if.then.284, %while.body.282 + %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.616, 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.617, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.281 + +fv.default: ; preds = %if.merge.285 + br label %fv.merge + +fv.case: ; preds = %if.merge.285 + %fv.field = extractvalue { i64, i32, 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.285 + %fv.field18 = extractvalue { i64, i32, 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.285 + %fv.field21 = extractvalue { i64, i32, 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.285 + %fv.field24 = extractvalue { i64, i32, 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.285 + %fv.field27 = extractvalue { i64, i32, 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.285 + %fv.field30 = extractvalue { i64, i32, 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.285 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.618, i64 7 }, { ptr, i64 } { ptr @str.619, 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.286 + +while.hdr.286: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.287, label %while.exit.288 + +while.body.287: ; preds = %while.hdr.286 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.289, label %if.merge.290 + +while.exit.288: ; preds = %while.hdr.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + ret { ptr, i64 } %callN + +if.then.289: ; preds = %while.body.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.290 + +if.merge.290: ; preds = %if.then.289, %while.body.287 + %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.628, 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.629, 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.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.290 + %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.630, i64 8 }, { ptr, i64 } { ptr @str.631, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.638, 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.639, 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } { ptr @str.641, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.655, 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.656, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.300 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.300 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.300 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.300 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.300 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.300 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.300 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.300 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.300 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } { ptr @str.658, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.667, 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.668, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.305 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.305 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.305 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.305 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.305 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6385,9 +7179,9 @@ entry: %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.674, 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.585, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, 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 @@ -6401,18 +7195,18 @@ entry: %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.283, label %if.merge.284 + br i1 %icmp, label %if.then.313, label %if.merge.314 -if.then.283: ; preds = %entry +if.then.313: ; 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.592, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, 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.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %entry +if.merge.314: ; preds = %if.then.313, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6426,9 +7220,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.681, 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.593, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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 @@ -6442,18 +7236,18 @@ entry: %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.285, label %if.merge.286 + br i1 %icmp, label %if.then.315, label %if.merge.316 -if.then.285: ; preds = %entry +if.then.315: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.286 + br label %if.merge.316 -if.merge.286: ; preds = %if.then.285, %entry +if.merge.316: ; preds = %if.then.315, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6478,9 +7272,9 @@ entry: %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.607, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.691, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6494,16 +7288,16 @@ entry: i64 5, label %fv.case24 ] -if.then.287: ; preds = %fv.merge +if.then.317: ; 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.609, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, 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.288 + br label %if.merge.318 -if.merge.288: ; preds = %if.then.287, %fv.merge +if.merge.318: ; preds = %if.then.317, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6516,7 +7310,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.287, label %if.merge.288 + br i1 %icmp, label %if.then.317, label %if.merge.318 fv.default: ; preds = %entry br label %fv.merge @@ -6576,9 +7370,9 @@ entry: %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.618, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.702, 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.610, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, 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 @@ -6592,18 +7386,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.620, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6617,9 +7411,9 @@ entry: %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.627, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.711, 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.621, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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 @@ -6633,18 +7427,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.629, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6656,33 +7450,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.714, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 -while.hdr.301: ; preds = %if.merge.305, %entry +while.hdr.331: ; preds = %if.merge.335, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.302, label %while.exit.303 + br i1 %icmp, label %while.body.332, label %while.exit.333 -while.body.302: ; preds = %while.hdr.301 +while.body.332: ; preds = %while.hdr.331 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.304, label %if.merge.305 + br i1 %icmpN, label %if.then.334, label %if.merge.335 -while.exit.303: ; preds = %while.hdr.301 +while.exit.333: ; preds = %while.hdr.331 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %call -if.then.304: ; preds = %while.body.302 +if.then.334: ; preds = %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.305 + br label %if.merge.335 -if.merge.305: ; preds = %if.then.304, %while.body.302 +if.merge.335: ; preds = %if.then.334, %while.body.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6696,7 +7490,7 @@ if.merge.305: ; preds = %if.then.304, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.331 } ; Function Attrs: nounwind @@ -6707,33 +7501,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.633, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.717, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 -while.hdr.306: ; preds = %if.merge.310, %entry +while.hdr.336: ; preds = %if.merge.340, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.307, label %while.exit.308 + br i1 %icmp, label %while.body.337, label %while.exit.338 -while.body.307: ; preds = %while.hdr.306 +while.body.337: ; preds = %while.hdr.336 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.309, label %if.merge.310 + br i1 %icmpN, label %if.then.339, label %if.merge.340 -while.exit.308: ; preds = %while.hdr.306 +while.exit.338: ; preds = %while.hdr.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) ret { ptr, i64 } %call -if.then.309: ; preds = %while.body.307 +if.then.339: ; preds = %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + %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.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %while.body.307 +if.merge.340: ; preds = %if.then.339, %while.body.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6749,7 +7543,7 @@ if.merge.310: ; preds = %if.then.309, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.306 + br label %while.hdr.336 } ; Function Attrs: nounwind @@ -6759,33 +7553,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.636, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.720, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 -while.hdr.311: ; preds = %if.merge.315, %entry +while.hdr.341: ; preds = %if.merge.345, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.312, label %while.exit.313 + br i1 %icmp, label %while.body.342, label %while.exit.343 -while.body.312: ; preds = %while.hdr.311 +while.body.342: ; preds = %while.hdr.341 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.314, label %if.merge.315 + br i1 %icmpN, label %if.then.344, label %if.merge.345 -while.exit.313: ; preds = %while.hdr.311 +while.exit.343: ; preds = %while.hdr.341 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) ret { ptr, i64 } %call -if.then.314: ; preds = %while.body.312 +if.then.344: ; preds = %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %while.body.312 +if.merge.345: ; preds = %if.then.344, %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6799,7 +7593,7 @@ if.merge.315: ; preds = %if.then.314, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 } ; Function Attrs: nounwind @@ -6809,33 +7603,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.639, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.723, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 -while.hdr.316: ; preds = %if.merge.320, %entry +while.hdr.346: ; preds = %if.merge.350, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.317, label %while.exit.318 + br i1 %icmp, label %while.body.347, label %while.exit.348 -while.body.317: ; preds = %while.hdr.316 +while.body.347: ; preds = %while.hdr.346 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.319, label %if.merge.320 + br i1 %icmpN, label %if.then.349, label %if.merge.350 -while.exit.318: ; preds = %while.hdr.316 +while.exit.348: ; preds = %while.hdr.346 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 1 }) ret { ptr, i64 } %call -if.then.319: ; preds = %while.body.317 +if.then.349: ; preds = %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %while.body.317 +if.merge.350: ; preds = %if.then.349, %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6850,7 +7644,7 @@ if.merge.320: ; preds = %if.then.319, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 } ; Function Attrs: nounwind @@ -6860,33 +7654,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.642, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.726, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %if.merge.325, %entry +while.hdr.351: ; preds = %if.merge.355, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 }) ret { ptr, i64 } %call -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 2 }) + %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.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6900,7 +7694,7 @@ if.merge.325: ; preds = %if.then.324, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 } ; Function Attrs: nounwind @@ -6911,33 +7705,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.645, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.729, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6953,7 +7747,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -6963,35 +7757,35 @@ entry: %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.648, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.732, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 -while.hdr.339: ; preds = %if.merge.343, %entry +while.hdr.369: ; preds = %if.merge.373, %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.340, label %while.exit.341 + br i1 %icmp, label %while.body.370, label %while.exit.371 -while.body.340: ; preds = %while.hdr.339 +while.body.370: ; preds = %while.hdr.369 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.342, label %if.merge.343 + br i1 %icmpN, label %if.then.372, label %if.merge.373 -while.exit.341: ; preds = %while.hdr.339 +while.exit.371: ; preds = %while.hdr.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 1 }) ret { ptr, i64 } %call -if.then.342: ; preds = %while.body.340 +if.then.372: ; preds = %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.343 + br label %if.merge.373 -if.merge.343: ; preds = %if.then.342, %while.body.340 +if.merge.373: ; preds = %if.then.372, %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7007,7 +7801,7 @@ if.merge.343: ; preds = %if.then.342, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 } ; Function Attrs: nounwind @@ -7016,35 +7810,35 @@ 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.651, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.735, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %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.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.736, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7059,7 +7853,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -7069,35 +7863,35 @@ entry: %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.654, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.738, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 -while.hdr.349: ; preds = %if.merge.353, %entry +while.hdr.379: ; preds = %if.merge.383, %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.350, label %while.exit.351 + br i1 %icmp, label %while.body.380, label %while.exit.381 -while.body.350: ; preds = %while.hdr.349 +while.body.380: ; preds = %while.hdr.379 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.352, label %if.merge.353 + br i1 %icmpN, label %if.then.382, label %if.merge.383 -while.exit.351: ; preds = %while.hdr.349 +while.exit.381: ; preds = %while.hdr.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 1 }) ret { ptr, i64 } %call -if.then.352: ; preds = %while.body.350 +if.then.382: ; preds = %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.353 + br label %if.merge.383 -if.merge.353: ; preds = %if.then.352, %while.body.350 +if.merge.383: ; preds = %if.then.382, %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7113,7 +7907,7 @@ if.merge.353: ; preds = %if.then.352, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 } ; Function Attrs: nounwind @@ -7123,35 +7917,35 @@ entry: %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.657, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.741, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 -while.hdr.354: ; preds = %if.merge.358, %entry +while.hdr.384: ; preds = %if.merge.388, %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.355, label %while.exit.356 + br i1 %icmp, label %while.body.385, label %while.exit.386 -while.body.355: ; preds = %while.hdr.354 +while.body.385: ; preds = %while.hdr.384 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.357, label %if.merge.358 + br i1 %icmpN, label %if.then.387, label %if.merge.388 -while.exit.356: ; preds = %while.hdr.354 +while.exit.386: ; preds = %while.hdr.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 1 }) ret { ptr, i64 } %call -if.then.357: ; preds = %while.body.355 +if.then.387: ; preds = %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.358 + br label %if.merge.388 -if.merge.358: ; preds = %if.then.357, %while.body.355 +if.merge.388: ; preds = %if.then.387, %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7167,7 +7961,7 @@ if.merge.358: ; preds = %if.then.357, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 } ; Function Attrs: nounwind @@ -7177,35 +7971,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.660, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.744, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 -while.hdr.359: ; preds = %if.merge.363, %entry +while.hdr.389: ; preds = %if.merge.393, %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.360, label %while.exit.361 + br i1 %icmp, label %while.body.390, label %while.exit.391 -while.body.360: ; preds = %while.hdr.359 +while.body.390: ; preds = %while.hdr.389 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.362, label %if.merge.363 + br i1 %icmpN, label %if.then.392, label %if.merge.393 -while.exit.361: ; preds = %while.hdr.359 +while.exit.391: ; preds = %while.hdr.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 1 }) ret { ptr, i64 } %call -if.then.362: ; preds = %while.body.360 +if.then.392: ; preds = %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.363 + br label %if.merge.393 -if.merge.363: ; preds = %if.then.362, %while.body.360 +if.merge.393: ; preds = %if.then.392, %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7221,7 +8015,7 @@ if.merge.363: ; preds = %if.then.362, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 } ; Function Attrs: nounwind @@ -7231,35 +8025,35 @@ entry: %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.663, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.747, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 -while.hdr.364: ; preds = %if.merge.368, %entry +while.hdr.394: ; preds = %if.merge.398, %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.365, label %while.exit.366 + br i1 %icmp, label %while.body.395, label %while.exit.396 -while.body.365: ; preds = %while.hdr.364 +while.body.395: ; preds = %while.hdr.394 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.367, label %if.merge.368 + br i1 %icmpN, label %if.then.397, label %if.merge.398 -while.exit.366: ; preds = %while.hdr.364 +while.exit.396: ; preds = %while.hdr.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 1 }) ret { ptr, i64 } %call -if.then.367: ; preds = %while.body.365 +if.then.397: ; preds = %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.368 + br label %if.merge.398 -if.merge.368: ; preds = %if.then.367, %while.body.365 +if.merge.398: ; preds = %if.then.397, %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7275,206 +8069,11 @@ if.merge.368: ; preds = %if.then.367, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 } ; 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.406, label %if.else.407 - -if.then.406: ; preds = %entry - br label %if.merge.408 - -if.else.407: ; 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.408 - -if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] - 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.422, label %if.else.423 - -if.then.422: ; preds = %entry - br label %if.merge.424 - -if.else.423: ; 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.424 - -if.merge.424: ; preds = %if.else.423, %if.then.422 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] - 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.425, label %if.else.426 - -if.then.425: ; preds = %entry - br label %if.merge.427 - -if.else.426: ; 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.427 - -if.merge.427: ; preds = %if.else.426, %if.then.425 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - ret { ptr, i64 } %bp -} - -; 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - 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 @@ -7492,12 +8091,207 @@ if.then.440: ; preds = %entry if.else.441: ; 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 5 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + 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.456, label %if.else.457 + +if.then.456: ; preds = %entry + br label %if.merge.458 + +if.else.457: ; 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.755, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.458 + +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + 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.459, label %if.else.460 + +if.then.459: ; preds = %entry + br label %if.merge.461 + +if.else.460: ; 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.758, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.461 + +if.merge.461: ; preds = %if.else.460, %if.then.459 + %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.761, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.764, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + ret { ptr, i64 } %bp +} + +; 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.767, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.770, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.773, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } @@ -7512,20 +8306,20 @@ entry: 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.443, label %if.else.444 + br i1 %icmp, label %if.then.477, label %if.else.478 -if.then.443: ; preds = %entry - br label %if.merge.445 +if.then.477: ; preds = %entry + br label %if.merge.479 -if.else.444: ; preds = %entry +if.else.478: ; 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.692, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.445 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.479 -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } @@ -7540,20 +8334,20 @@ entry: 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.446, label %if.else.447 + br i1 %icmp, label %if.then.480, label %if.else.481 -if.then.446: ; preds = %entry - br label %if.merge.448 +if.then.480: ; preds = %entry + br label %if.merge.482 -if.else.447: ; preds = %entry +if.else.481: ; 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.448 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.482 -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7568,20 +8362,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7596,20 +8390,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7623,20 +8417,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7651,20 +8445,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7678,20 +8472,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7706,20 +8500,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7734,20 +8528,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7762,20 +8556,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7790,20 +8584,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7818,20 +8612,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7846,20 +8640,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7874,20 +8668,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7902,20 +8696,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7930,20 +8724,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7958,20 +8752,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7986,20 +8780,131 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] + 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.531, label %if.else.532 + +if.then.531: ; preds = %entry + br label %if.merge.533 + +if.else.532: ; 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.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.533 + +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] + 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.534, label %if.else.535 + +if.then.534: ; preds = %entry + br label %if.merge.536 + +if.else.535: ; 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.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 + +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -8014,20 +8919,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.498: ; preds = %entry +if.else.544: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -8042,20 +8947,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.501: ; preds = %entry +if.else.547: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -8070,20 +8975,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8098,20 +9003,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8126,20 +9031,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8154,20 +9059,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8182,20 +9087,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8210,20 +9115,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.767, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.861, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8238,20 +9143,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.770, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.864, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8264,12 +9169,12 @@ entry: %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.531, label %if.merge.532 + br i1 %lnot, label %if.then.577, label %if.merge.578 -if.then.531: ; preds = %entry - ret { ptr, i64 } { ptr @str.771, i64 4 } +if.then.577: ; preds = %entry + ret { ptr, i64 } { ptr @str.867, i64 4 } -if.merge.532: ; preds = %entry +if.merge.578: ; 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 @@ -8288,12 +9193,12 @@ entry: %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.533, label %if.merge.534 + br i1 %lnot, label %if.then.579, label %if.merge.580 -if.then.533: ; preds = %entry - ret { ptr, i64 } { ptr @str.772, i64 4 } +if.then.579: ; preds = %entry + ret { ptr, i64 } { ptr @str.868, i64 4 } -if.merge.534: ; preds = %entry +if.merge.580: ; 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 @@ -8311,12 +9216,12 @@ entry: %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.535, label %if.merge.536 + br i1 %lnot, label %if.then.581, label %if.merge.582 -if.then.535: ; preds = %entry - ret { ptr, i64 } { ptr @str.773, i64 4 } +if.then.581: ; preds = %entry + ret { ptr, i64 } { ptr @str.869, i64 4 } -if.merge.536: ; preds = %entry +if.merge.582: ; 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 @@ -8333,12 +9238,12 @@ entry: %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.537, label %if.merge.538 + br i1 %lnot, label %if.then.583, label %if.merge.584 -if.then.537: ; preds = %entry - ret { ptr, i64 } { ptr @str.774, i64 4 } +if.then.583: ; preds = %entry + ret { ptr, i64 } { ptr @str.870, i64 4 } -if.merge.538: ; preds = %entry +if.merge.584: ; 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 @@ -8357,12 +9262,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.775, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.871, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 diff --git a/examples/expected/0528-packs-protocol-pack-methods.ir b/examples/expected/0528-packs-protocol-pack-methods.ir index 1065014..bfc330c 100644 --- a/examples/expected/0528-packs-protocol-pack-methods.ir +++ b/examples/expected/0528-packs-protocol-pack-methods.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [201 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] +@__sx_type_is_unsigned = private constant [219 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,480 +28,480 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [8 x i8] c"Greeter\00" -@tn.str.212 = private constant [18 x i8] c"__Greeter__Vtable\00" -@tn.str.213 = private constant [4 x i8] c"Dog\00" -@tn.str.214 = private constant [4 x i8] c"Cat\00" -@tn.str.215 = private constant [5 x i8] c"*Dog\00" -@tn.str.216 = private constant [5 x i8] c"*Cat\00" -@tn.str.217 = private constant [10 x i8] c"[]Greeter\00" -@tn.str.218 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.219 = private constant [7 x i8] c"**void\00" -@tn.str.220 = private constant [6 x i8] c"[]Any\00" -@tn.str.221 = private constant [5 x i8] c"*Any\00" -@tn.str.222 = private constant [7 x i8] c"[2]Any\00" -@tn.str.223 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.224 = private constant [7 x i8] c"*[]Any\00" -@tn.str.225 = private constant [6 x i8] c"**Dog\00" -@tn.str.226 = private constant [6 x i8] c"**Cat\00" -@tn.str.227 = private constant [8 x i8] c"*string\00" -@tn.str.228 = private constant [7 x i8] c"[1]Any\00" -@tn.str.229 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.230 = private constant [4 x i8] c"*u8\00" -@tn.str.231 = private constant [6 x i8] c"*bool\00" -@tn.str.232 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.233 = private constant [5 x i8] c"*f64\00" -@tn.str.234 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.235 = private constant [11 x i8] c"*Allocator\00" -@tn.str.236 = private constant [9 x i8] c"*Context\00" -@tn.str.237 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.238 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.239 = private constant [8 x i8] c"*Member\00" -@tn.str.240 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.241 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.242 = private constant [9 x i8] c"*Command\00" -@tn.str.243 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.244 = private constant [7 x i8] c"*Event\00" -@tn.str.245 = private constant [9 x i8] c"*Greeter\00" -@tn.str.246 = private constant [19 x i8] c"*__Greeter__Vtable\00" -@tn.str.247 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.248 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.249 = private constant [7 x i8] c"*Value\00" -@tn.str.250 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.251 = private constant [14 x i8] c"*Architecture\00" -@tn.str.252 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.253 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.254 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.255 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.256 = private constant [10 x i8] c"*[]string\00" -@tn.str.257 = private constant [6 x i8] c"*[]u8\00" -@tn.str.258 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.259 = private constant [11 x i8] c"*[]Command\00" -@tn.str.260 = private constant [9 x i8] c"*[]Event\00" -@tn.str.261 = private constant [11 x i8] c"*[]Greeter\00" -@tn.str.262 = private constant [6 x i8] c"**GPA\00" -@tn.str.263 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.264 = private constant [8 x i8] c"**Arena\00" -@tn.str.265 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.266 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.267 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.268 = private constant [7 x i8] c"**File\00" -@tn.str.269 = private constant [6 x i8] c"**i32\00" -@tn.str.270 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.271 = private constant [6 x i8] c"**u32\00" -@tn.str.272 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.273 = private constant [8 x i8] c"**Array\00" -@tn.str.274 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.275 = private constant [9 x i8] c"**Object\00" -@tn.str.276 = private constant [7 x i8] c"**Sink\00" -@tn.str.277 = private constant [9 x i8] c"**Parser\00" -@tn.str.278 = private constant [6 x i8] c"**i64\00" -@tn.str.279 = private constant [9 x i8] c"**Parsed\00" -@tn.str.280 = private constant [7 x i8] c"**Diag\00" -@tn.str.281 = private constant [9 x i8] c"**Sha256\00" -@tn.str.282 = private constant [11 x i8] c"**Timespec\00" -@tn.str.283 = private constant [9 x i8] c"**Kevent\00" -@tn.str.284 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.285 = private constant [7 x i8] c"**Loop\00" -@tn.str.286 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.287 = private constant [8 x i8] c"***void\00" -@tn.str.288 = private constant [6 x i8] c"**Any\00" -@tn.str.289 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.290 = private constant [8 x i8] c"**[]Any\00" -@tn.str.291 = private constant [7 x i8] c"***Dog\00" -@tn.str.292 = private constant [7 x i8] c"***Cat\00" -@tn.str.293 = private constant [9 x i8] c"**string\00" -@tn.str.294 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.295 = private constant [5 x i8] c"**u8\00" -@tn.str.296 = private constant [7 x i8] c"**bool\00" -@tn.str.297 = private constant [7 x i8] c"*?File\00" -@tn.str.298 = private constant [9 x i8] c"*?string\00" -@tn.str.299 = private constant [10 x i8] c"*?cstring\00" -@tn.str.300 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.301 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [201 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 17 }, { ptr, i64 } { ptr @tn.str.213, i64 3 }, { ptr, i64 } { ptr @tn.str.214, i64 3 }, { ptr, i64 } { ptr @tn.str.215, i64 4 }, { ptr, i64 } { ptr @tn.str.216, i64 4 }, { ptr, i64 } { ptr @tn.str.217, i64 9 }, { ptr, i64 } { ptr @tn.str.218, i64 12 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 5 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 3 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 16 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 11 }, { ptr, i64 } { ptr @tn.str.238, i64 14 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 13 }, { ptr, i64 } { ptr @tn.str.241, i64 9 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 10 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 18 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 16 }, { ptr, i64 } { ptr @tn.str.251, i64 13 }, { ptr, i64 } { ptr @tn.str.252, i64 14 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 9 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 11 }, { ptr, i64 } { ptr @tn.str.259, i64 10 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 10 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 12 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 19 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 5 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 5 }, { ptr, i64 } { ptr @tn.str.272, i64 9 }, { ptr, i64 } { ptr @tn.str.273, i64 7 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 6 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 12 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 13 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 5 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 7 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 6 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 8 }, { ptr, i64 } { ptr @tn.str.295, i64 4 }, { ptr, i64 } { ptr @tn.str.296, i64 6 }, { ptr, i64 } { ptr @tn.str.297, i64 6 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 9 }, { ptr, i64 } { ptr @tn.str.300, i64 15 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }] -@str.302 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.303 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.304 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.305 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.308 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.309 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.311 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.312 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.313 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.314 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.315 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.316 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.317 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.319 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.320 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.321 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.322 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.323 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [8 x i8] c"Greeter\00" +@tn.str.226 = private constant [18 x i8] c"__Greeter__Vtable\00" +@tn.str.227 = private constant [4 x i8] c"Dog\00" +@tn.str.228 = private constant [4 x i8] c"Cat\00" +@tn.str.229 = private constant [5 x i8] c"*Dog\00" +@tn.str.230 = private constant [5 x i8] c"*Cat\00" +@tn.str.231 = private constant [10 x i8] c"[]Greeter\00" +@tn.str.232 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.233 = private constant [7 x i8] c"**void\00" +@tn.str.234 = private constant [6 x i8] c"[]Any\00" +@tn.str.235 = private constant [5 x i8] c"*Any\00" +@tn.str.236 = private constant [7 x i8] c"[2]Any\00" +@tn.str.237 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.238 = private constant [7 x i8] c"*[]Any\00" +@tn.str.239 = private constant [6 x i8] c"**Dog\00" +@tn.str.240 = private constant [6 x i8] c"**Cat\00" +@tn.str.241 = private constant [8 x i8] c"*string\00" +@tn.str.242 = private constant [7 x i8] c"[1]Any\00" +@tn.str.243 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.244 = private constant [4 x i8] c"*u8\00" +@tn.str.245 = private constant [6 x i8] c"*bool\00" +@tn.str.246 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.247 = private constant [5 x i8] c"*f64\00" +@tn.str.248 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.249 = private constant [11 x i8] c"*Allocator\00" +@tn.str.250 = private constant [9 x i8] c"*Context\00" +@tn.str.251 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.252 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.253 = private constant [8 x i8] c"*Member\00" +@tn.str.254 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.255 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.256 = private constant [9 x i8] c"*Command\00" +@tn.str.257 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.258 = private constant [7 x i8] c"*Event\00" +@tn.str.259 = private constant [8 x i8] c"*Config\00" +@tn.str.260 = private constant [6 x i8] c"*Conn\00" +@tn.str.261 = private constant [9 x i8] c"*Greeter\00" +@tn.str.262 = private constant [19 x i8] c"*__Greeter__Vtable\00" +@tn.str.263 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.264 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.265 = private constant [7 x i8] c"*Value\00" +@tn.str.266 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.267 = private constant [14 x i8] c"*Architecture\00" +@tn.str.268 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.269 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.270 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.271 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.272 = private constant [10 x i8] c"*[]string\00" +@tn.str.273 = private constant [6 x i8] c"*[]u8\00" +@tn.str.274 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.275 = private constant [11 x i8] c"*[]Command\00" +@tn.str.276 = private constant [9 x i8] c"*[]Event\00" +@tn.str.277 = private constant [11 x i8] c"*[]Greeter\00" +@tn.str.278 = private constant [6 x i8] c"**GPA\00" +@tn.str.279 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.280 = private constant [8 x i8] c"**Arena\00" +@tn.str.281 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.282 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.283 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.284 = private constant [7 x i8] c"**File\00" +@tn.str.285 = private constant [6 x i8] c"**i32\00" +@tn.str.286 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.287 = private constant [6 x i8] c"**u32\00" +@tn.str.288 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.289 = private constant [8 x i8] c"**Array\00" +@tn.str.290 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.291 = private constant [9 x i8] c"**Object\00" +@tn.str.292 = private constant [7 x i8] c"**Sink\00" +@tn.str.293 = private constant [9 x i8] c"**Parser\00" +@tn.str.294 = private constant [6 x i8] c"**i64\00" +@tn.str.295 = private constant [9 x i8] c"**Parsed\00" +@tn.str.296 = private constant [7 x i8] c"**Diag\00" +@tn.str.297 = private constant [9 x i8] c"**Sha256\00" +@tn.str.298 = private constant [11 x i8] c"**Timespec\00" +@tn.str.299 = private constant [9 x i8] c"**Kevent\00" +@tn.str.300 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.301 = private constant [7 x i8] c"**Loop\00" +@tn.str.302 = private constant [10 x i8] c"**Request\00" +@tn.str.303 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.304 = private constant [11 x i8] c"**Response\00" +@tn.str.305 = private constant [9 x i8] c"**Server\00" +@tn.str.306 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.307 = private constant [8 x i8] c"***void\00" +@tn.str.308 = private constant [6 x i8] c"**Any\00" +@tn.str.309 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.310 = private constant [8 x i8] c"**[]Any\00" +@tn.str.311 = private constant [7 x i8] c"***Dog\00" +@tn.str.312 = private constant [7 x i8] c"***Cat\00" +@tn.str.313 = private constant [9 x i8] c"**string\00" +@tn.str.314 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.315 = private constant [5 x i8] c"**u8\00" +@tn.str.316 = private constant [7 x i8] c"**bool\00" +@tn.str.317 = private constant [7 x i8] c"*?File\00" +@tn.str.318 = private constant [9 x i8] c"*?string\00" +@tn.str.319 = private constant [10 x i8] c"*?cstring\00" +@tn.str.320 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.321 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [219 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 17 }, { ptr, i64 } { ptr @tn.str.227, i64 3 }, { ptr, i64 } { ptr @tn.str.228, i64 3 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 4 }, { ptr, i64 } { ptr @tn.str.231, i64 9 }, { ptr, i64 } { ptr @tn.str.232, i64 12 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 3 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 4 }, { ptr, i64 } { ptr @tn.str.248, i64 16 }, { ptr, i64 } { ptr @tn.str.249, i64 10 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 11 }, { ptr, i64 } { ptr @tn.str.252, i64 14 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 13 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 10 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 18 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 16 }, { ptr, i64 } { ptr @tn.str.267, i64 13 }, { ptr, i64 } { ptr @tn.str.268, i64 14 }, { ptr, i64 } { ptr @tn.str.269, i64 7 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 9 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 11 }, { ptr, i64 } { ptr @tn.str.275, i64 10 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 10 }, { ptr, i64 } { ptr @tn.str.278, i64 5 }, { ptr, i64 } { ptr @tn.str.279, i64 12 }, { ptr, i64 } { ptr @tn.str.280, i64 7 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 19 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 5 }, { ptr, i64 } { ptr @tn.str.286, i64 10 }, { ptr, i64 } { ptr @tn.str.287, i64 5 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 7 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 6 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 6 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 10 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 12 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 9 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 10 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 13 }, { ptr, i64 } { ptr @tn.str.307, i64 7 }, { ptr, i64 } { ptr @tn.str.308, i64 5 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }, { ptr, i64 } { ptr @tn.str.310, i64 7 }, { ptr, i64 } { ptr @tn.str.311, i64 6 }, { ptr, i64 } { ptr @tn.str.312, i64 6 }, { ptr, i64 } { ptr @tn.str.313, i64 8 }, { ptr, i64 } { ptr @tn.str.314, i64 8 }, { ptr, i64 } { ptr @tn.str.315, i64 4 }, { ptr, i64 } { ptr @tn.str.316, i64 6 }, { ptr, i64 } { ptr @tn.str.317, i64 6 }, { ptr, i64 } { ptr @tn.str.318, i64 8 }, { ptr, i64 } { ptr @tn.str.319, i64 9 }, { ptr, i64 } { ptr @tn.str.320, i64 15 }, { ptr, i64 } { ptr @tn.str.321, i64 8 }] +@str.322 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.323 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.324 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.325 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 -@str.326 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 +@str.325 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.326 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.327 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.328 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 -@str.329 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 -@str.330 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.331 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 -@str.332 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.333 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.334 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.328 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.329 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.331 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.332 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.333 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.334 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.335 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.336 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.337 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.338 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.339 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.340 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.342 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.343 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 +@str.344 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.345 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 +@str.346 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 +@str.347 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.348 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 +@str.349 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 +@str.350 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.351 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 +@str.352 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.353 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.354 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.355 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.336 = private constant [5 x i8] c"line\00" -@fld.str.337 = private constant [4 x i8] c"col\00" -@fld.str.338 = 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.336, i64 4 }, { ptr, i64 } { ptr @fld.str.337, i64 3 }, { ptr, i64 } { ptr @fld.str.338, i64 4 }] -@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.340 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.341 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.342 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.343 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.344 = private constant [4 x i8] c"ctx\00" -@fld.str.345 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.346 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.347 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 11 }, { ptr, i64 } { ptr @fld.str.346, i64 13 }] -@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.349 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.353 = private constant [10 x i8] c"allocator\00" -@fld.str.354 = private constant [5 x i8] c"data\00" -@field_names.355 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 9 }, { ptr, i64 } { ptr @fld.str.354, i64 4 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.361 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.363 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.367 = private constant [12 x i8] c"alloc_count\00" -@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 11 }] -@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.370 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.374 = private constant [5 x i8] c"next\00" -@fld.str.375 = private constant [4 x i8] c"cap\00" -@field_names.376 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 3 }] -@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.378 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.379 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.380 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.381 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.382 = private constant [6 x i8] c"first\00" -@fld.str.383 = private constant [10 x i8] c"end_index\00" -@fld.str.384 = private constant [7 x i8] c"parent\00" -@field_names.385 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 5 }, { ptr, i64 } { ptr @fld.str.383, i64 9 }, { ptr, i64 } { ptr @fld.str.384, i64 6 }] -@str.386 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.387 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.388 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.390 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.391 = private constant [4 x i8] c"buf\00" -@fld.str.392 = private constant [4 x i8] c"len\00" -@fld.str.393 = private constant [4 x i8] c"pos\00" -@field_names.394 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 3 }, { ptr, i64 } { ptr @fld.str.392, i64 3 }, { ptr, i64 } { ptr @fld.str.393, i64 3 }] -@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.396 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.397 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.398 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.399 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.400 = private constant [7 x i8] c"parent\00" -@fld.str.401 = private constant [12 x i8] c"alloc_count\00" -@fld.str.402 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.403 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.404 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 6 }, { ptr, i64 } { ptr @fld.str.401, i64 11 }, { ptr, i64 } { ptr @fld.str.402, i64 13 }, { ptr, i64 } { ptr @fld.str.403, i64 17 }] -@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.406 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.407 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.408 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.409 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.410 = private constant [3 x i8] c"fd\00" -@field_names.411 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 2 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.417 = private constant [5 x i8] c"file\00" -@fld.str.418 = private constant [5 x i8] c"line\00" -@fld.str.419 = private constant [4 x i8] c"col\00" -@fld.str.420 = private constant [5 x i8] c"func\00" -@fld.str.421 = private constant [10 x i8] c"line_text\00" -@field_names.422 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 4 }, { ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 4 }, { ptr, i64 } { ptr @fld.str.421, i64 9 }] -@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.424 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.428 = private constant [10 x i8] c"exit_code\00" -@fld.str.429 = private constant [7 x i8] c"stdout\00" -@field_names.430 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 9 }, { ptr, i64 } { ptr @fld.str.429, i64 6 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.433 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.434 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.435 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.436 = private constant [8 x i8] c"sin_len\00" -@fld.str.437 = private constant [11 x i8] c"sin_family\00" -@fld.str.438 = private constant [9 x i8] c"sin_port\00" -@fld.str.439 = private constant [9 x i8] c"sin_addr\00" -@fld.str.440 = private constant [9 x i8] c"sin_zero\00" -@field_names.441 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 7 }, { ptr, i64 } { ptr @fld.str.437, i64 10 }, { ptr, i64 } { ptr @fld.str.438, i64 8 }, { ptr, i64 } { ptr @fld.str.439, i64 8 }, { ptr, i64 } { ptr @fld.str.440, i64 8 }] -@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.443 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.444 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.445 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.446 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.447 = private constant [6 x i8] c"items\00" -@fld.str.448 = private constant [4 x i8] c"len\00" -@fld.str.449 = private constant [4 x i8] c"cap\00" -@field_names.450 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 5 }, { ptr, i64 } { ptr @fld.str.448, i64 3 }, { ptr, i64 } { ptr @fld.str.449, i64 3 }] +@fld.str.356 = private constant [5 x i8] c"line\00" +@fld.str.357 = private constant [4 x i8] c"col\00" +@fld.str.358 = 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.356, i64 4 }, { ptr, i64 } { ptr @fld.str.357, i64 3 }, { ptr, i64 } { ptr @fld.str.358, i64 4 }] +@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.360 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.361 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.362 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.363 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.364 = private constant [4 x i8] c"ctx\00" +@fld.str.365 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.366 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.367 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 3 }, { ptr, i64 } { ptr @fld.str.365, i64 11 }, { ptr, i64 } { ptr @fld.str.366, i64 13 }] +@str.368 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.369 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.370 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.372 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.373 = private constant [10 x i8] c"allocator\00" +@fld.str.374 = private constant [5 x i8] c"data\00" +@field_names.375 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.373, i64 9 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.381 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.383 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.387 = private constant [12 x i8] c"alloc_count\00" +@field_names.388 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 11 }] +@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.390 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.391 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.393 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.394 = private constant [5 x i8] c"next\00" +@fld.str.395 = private constant [4 x i8] c"cap\00" +@field_names.396 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.394, i64 4 }, { ptr, i64 } { ptr @fld.str.395, i64 3 }] +@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.398 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.399 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.400 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.401 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.402 = private constant [6 x i8] c"first\00" +@fld.str.403 = private constant [10 x i8] c"end_index\00" +@fld.str.404 = private constant [7 x i8] c"parent\00" +@field_names.405 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.402, i64 5 }, { ptr, i64 } { ptr @fld.str.403, i64 9 }, { ptr, i64 } { ptr @fld.str.404, i64 6 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.408 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.410 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.411 = private constant [4 x i8] c"buf\00" +@fld.str.412 = private constant [4 x i8] c"len\00" +@fld.str.413 = private constant [4 x i8] c"pos\00" +@field_names.414 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 3 }, { ptr, i64 } { ptr @fld.str.412, i64 3 }, { ptr, i64 } { ptr @fld.str.413, i64 3 }] +@str.415 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.416 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.417 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.418 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.419 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.420 = private constant [7 x i8] c"parent\00" +@fld.str.421 = private constant [12 x i8] c"alloc_count\00" +@fld.str.422 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.423 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.424 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 6 }, { ptr, i64 } { ptr @fld.str.421, i64 11 }, { ptr, i64 } { ptr @fld.str.422, i64 13 }, { ptr, i64 } { ptr @fld.str.423, i64 17 }] +@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.426 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.427 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.428 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.429 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.430 = private constant [3 x i8] c"fd\00" +@field_names.431 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.430, i64 2 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.434 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.435 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.436 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.437 = private constant [5 x i8] c"file\00" +@fld.str.438 = private constant [5 x i8] c"line\00" +@fld.str.439 = private constant [4 x i8] c"col\00" +@fld.str.440 = private constant [5 x i8] c"func\00" +@fld.str.441 = private constant [10 x i8] c"line_text\00" +@field_names.442 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 4 }, { ptr, i64 } { ptr @fld.str.438, i64 4 }, { ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 4 }, { ptr, i64 } { ptr @fld.str.441, i64 9 }] +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.445 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.446 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.447 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.448 = private constant [10 x i8] c"exit_code\00" +@fld.str.449 = private constant [7 x i8] c"stdout\00" +@field_names.450 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 9 }, { ptr, i64 } { ptr @fld.str.449, i64 6 }] @str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.452 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.452 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.453 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.454 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.455 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.456 = private constant [6 x i8] c"items\00" -@fld.str.457 = private constant [4 x i8] c"len\00" -@fld.str.458 = private constant [4 x i8] c"cap\00" -@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 5 }, { ptr, i64 } { ptr @fld.str.457, i64 3 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }] -@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.461 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.462 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.463 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.464 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.465 = private constant [4 x i8] c"key\00" -@fld.str.466 = private constant [4 x i8] c"val\00" -@field_names.467 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 3 }, { ptr, i64 } { ptr @fld.str.466, i64 3 }] -@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.469 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.470 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.471 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.472 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.473 = private constant [4 x i8] c"dst\00" -@fld.str.474 = private constant [4 x i8] c"pos\00" -@fld.str.475 = private constant [5 x i8] c"file\00" -@field_names.476 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 3 }, { ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 4 }] -@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.478 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.479 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.480 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.481 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.482 = private constant [4 x i8] c"src\00" -@fld.str.483 = private constant [4 x i8] c"pos\00" -@fld.str.484 = private constant [6 x i8] c"alloc\00" -@field_names.485 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 5 }] -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.491 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.492 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.493 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.494 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.495 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.496 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.497 = private constant [5 x i8] c"name\00" -@fld.str.498 = private constant [12 x i8] c"takes_value\00" -@fld.str.499 = private constant [9 x i8] c"required\00" -@field_names.500 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 11 }, { ptr, i64 } { ptr @fld.str.499, i64 8 }] -@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.502 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.506 = private constant [6 x i8] c"group\00" -@fld.str.507 = private constant [8 x i8] c"command\00" -@fld.str.508 = private constant [6 x i8] c"flags\00" -@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }] -@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.511 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.515 = private constant [4 x i8] c"set\00" -@fld.str.516 = private constant [6 x i8] c"value\00" -@field_names.517 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }] -@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.519 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.520 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.522 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.523 = private constant [6 x i8] c"index\00" -@fld.str.524 = private constant [6 x i8] c"token\00" -@field_names.525 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }] -@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.527 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.531 = private constant [6 x i8] c"group\00" -@fld.str.532 = private constant [8 x i8] c"command\00" -@fld.str.533 = private constant [10 x i8] c"cmd_index\00" -@fld.str.534 = private constant [5 x i8] c"json\00" -@fld.str.535 = private constant [5 x i8] c"rest\00" -@fld.str.536 = private constant [5 x i8] c"spec\00" -@fld.str.537 = private constant [7 x i8] c"values\00" -@field_names.538 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 9 }, { ptr, i64 } { ptr @fld.str.534, i64 4 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }] -@str.539 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.540 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.541 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.542 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.544 = private constant [2 x i8] c"h\00" -@fld.str.545 = private constant [4 x i8] c"buf\00" -@fld.str.546 = private constant [8 x i8] c"buf_len\00" -@fld.str.547 = private constant [10 x i8] c"total_len\00" -@field_names.548 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 1 }, { ptr, i64 } { ptr @fld.str.545, i64 3 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 9 }] -@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.554 = private constant [4 x i8] c"sec\00" -@fld.str.555 = private constant [5 x i8] c"nsec\00" -@field_names.556 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 3 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }] -@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.559 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.560 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.561 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.562 = private constant [6 x i8] c"ident\00" -@fld.str.563 = private constant [7 x i8] c"filter\00" -@fld.str.564 = private constant [6 x i8] c"flags\00" -@fld.str.565 = private constant [7 x i8] c"fflags\00" -@fld.str.566 = private constant [5 x i8] c"data\00" -@fld.str.567 = private constant [6 x i8] c"udata\00" -@field_names.568 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 5 }, { ptr, i64 } { ptr @fld.str.563, i64 6 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 6 }, { ptr, i64 } { ptr @fld.str.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }] +@fld.str.456 = private constant [8 x i8] c"sin_len\00" +@fld.str.457 = private constant [11 x i8] c"sin_family\00" +@fld.str.458 = private constant [9 x i8] c"sin_port\00" +@fld.str.459 = private constant [9 x i8] c"sin_addr\00" +@fld.str.460 = private constant [9 x i8] c"sin_zero\00" +@field_names.461 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 7 }, { ptr, i64 } { ptr @fld.str.457, i64 10 }, { ptr, i64 } { ptr @fld.str.458, i64 8 }, { ptr, i64 } { ptr @fld.str.459, i64 8 }, { ptr, i64 } { ptr @fld.str.460, i64 8 }] +@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.463 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.467 = private constant [6 x i8] c"items\00" +@fld.str.468 = private constant [4 x i8] c"len\00" +@fld.str.469 = private constant [4 x i8] c"cap\00" +@field_names.470 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 5 }, { ptr, i64 } { ptr @fld.str.468, i64 3 }, { ptr, i64 } { ptr @fld.str.469, i64 3 }] +@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.472 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.473 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.474 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.475 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.476 = private constant [6 x i8] c"items\00" +@fld.str.477 = private constant [4 x i8] c"len\00" +@fld.str.478 = private constant [4 x i8] c"cap\00" +@field_names.479 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 5 }, { ptr, i64 } { ptr @fld.str.477, i64 3 }, { ptr, i64 } { ptr @fld.str.478, i64 3 }] +@str.480 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.481 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.482 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.483 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.484 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.485 = private constant [4 x i8] c"key\00" +@fld.str.486 = private constant [4 x i8] c"val\00" +@field_names.487 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 3 }, { ptr, i64 } { ptr @fld.str.486, i64 3 }] +@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.489 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.490 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.491 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.492 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.493 = private constant [4 x i8] c"dst\00" +@fld.str.494 = private constant [4 x i8] c"pos\00" +@fld.str.495 = private constant [5 x i8] c"file\00" +@field_names.496 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.493, i64 3 }, { ptr, i64 } { ptr @fld.str.494, i64 3 }, { ptr, i64 } { ptr @fld.str.495, i64 4 }] +@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.498 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.499 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.501 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.502 = private constant [4 x i8] c"src\00" +@fld.str.503 = private constant [4 x i8] c"pos\00" +@fld.str.504 = private constant [6 x i8] c"alloc\00" +@field_names.505 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 3 }, { ptr, i64 } { ptr @fld.str.504, i64 5 }] +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.511 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.513 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.517 = private constant [5 x i8] c"name\00" +@fld.str.518 = private constant [12 x i8] c"takes_value\00" +@fld.str.519 = private constant [9 x i8] c"required\00" +@field_names.520 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 4 }, { ptr, i64 } { ptr @fld.str.518, i64 11 }, { ptr, i64 } { ptr @fld.str.519, i64 8 }] +@str.521 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.522 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.523 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.524 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.525 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.526 = private constant [6 x i8] c"group\00" +@fld.str.527 = private constant [8 x i8] c"command\00" +@fld.str.528 = private constant [6 x i8] c"flags\00" +@field_names.529 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 7 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }] +@str.530 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.531 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.532 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.533 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.534 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.535 = private constant [4 x i8] c"set\00" +@fld.str.536 = private constant [6 x i8] c"value\00" +@field_names.537 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 3 }, { ptr, i64 } { ptr @fld.str.536, i64 5 }] +@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.539 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.540 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.542 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.543 = private constant [6 x i8] c"index\00" +@fld.str.544 = private constant [6 x i8] c"token\00" +@field_names.545 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 5 }, { ptr, i64 } { ptr @fld.str.544, i64 5 }] +@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.547 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.550 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.551 = private constant [6 x i8] c"group\00" +@fld.str.552 = private constant [8 x i8] c"command\00" +@fld.str.553 = private constant [10 x i8] c"cmd_index\00" +@fld.str.554 = private constant [5 x i8] c"json\00" +@fld.str.555 = private constant [5 x i8] c"rest\00" +@fld.str.556 = private constant [5 x i8] c"spec\00" +@fld.str.557 = private constant [7 x i8] c"values\00" +@field_names.558 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 7 }, { ptr, i64 } { ptr @fld.str.553, i64 9 }, { ptr, i64 } { ptr @fld.str.554, i64 4 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }, { ptr, i64 } { ptr @fld.str.557, i64 6 }] +@str.559 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.560 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.561 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.562 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.563 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.564 = private constant [2 x i8] c"h\00" +@fld.str.565 = private constant [4 x i8] c"buf\00" +@fld.str.566 = private constant [8 x i8] c"buf_len\00" +@fld.str.567 = private constant [10 x i8] c"total_len\00" +@field_names.568 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.564, i64 1 }, { ptr, i64 } { ptr @fld.str.565, i64 3 }, { ptr, i64 } { ptr @fld.str.566, i64 7 }, { ptr, i64 } { ptr @fld.str.567, i64 9 }] @str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.570 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.570 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -509,264 +509,360 @@ @fld.str.575 = private constant [5 x i8] c"nsec\00" @field_names.576 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }] @str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.578 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.582 = private constant [3 x i8] c"fd\00" -@fld.str.583 = private constant [6 x i8] c"udata\00" -@fld.str.584 = private constant [9 x i8] c"readable\00" -@fld.str.585 = private constant [9 x i8] c"writable\00" -@fld.str.586 = private constant [4 x i8] c"eof\00" -@fld.str.587 = private constant [4 x i8] c"err\00" -@fld.str.588 = private constant [7 x i8] c"nbytes\00" -@field_names.589 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }, { ptr, i64 } { ptr @fld.str.583, i64 5 }, { ptr, i64 } { ptr @fld.str.584, i64 8 }, { ptr, i64 } { ptr @fld.str.585, i64 8 }, { ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }] -@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.591 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.595 = private constant [3 x i8] c"kq\00" -@field_names.596 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 2 }] +@fld.str.582 = private constant [6 x i8] c"ident\00" +@fld.str.583 = private constant [7 x i8] c"filter\00" +@fld.str.584 = private constant [6 x i8] c"flags\00" +@fld.str.585 = private constant [7 x i8] c"fflags\00" +@fld.str.586 = private constant [5 x i8] c"data\00" +@fld.str.587 = private constant [6 x i8] c"udata\00" +@field_names.588 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 6 }, { ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 6 }, { ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }] +@str.589 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.590 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.591 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.593 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.594 = private constant [4 x i8] c"sec\00" +@fld.str.595 = private constant [5 x i8] c"nsec\00" +@field_names.596 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 4 }] @str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.598 = private unnamed_addr constant [8 x i8] c"Greeter\00", align 1 +@str.598 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.602 = private constant [4 x i8] c"ctx\00" -@fld.str.603 = private constant [9 x i8] c"__vtable\00" -@field_names.604 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 3 }, { ptr, i64 } { ptr @fld.str.603, i64 8 }] -@str.605 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.606 = private unnamed_addr constant [18 x i8] c"__Greeter__Vtable\00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.608 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.609 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.610 = private constant [6 x i8] c"greet\00" -@field_names.611 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 5 }] -@str.612 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.613 = private unnamed_addr constant [4 x i8] c"Dog\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.616 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.617 = private constant [4 x i8] c"age\00" -@field_names.618 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 3 }] -@str.619 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.620 = private unnamed_addr constant [4 x i8] c"Cat\00", align 1 -@str.621 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.623 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.624 = private constant [6 x i8] c"lives\00" -@field_names.625 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 5 }] -@str.626 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.628 = private constant [5 x i8] c"read\00" -@fld.str.629 = private constant [6 x i8] c"write\00" -@fld.str.630 = private constant [7 x i8] c"append\00" -@fld.str.631 = private constant [11 x i8] c"read_write\00" -@field_names.632 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.628, i64 4 }, { ptr, i64 } { ptr @fld.str.629, i64 5 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 10 }] -@str.633 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.636 = private constant [4 x i8] c"set\00" -@fld.str.637 = private constant [8 x i8] c"current\00" -@fld.str.638 = private constant [4 x i8] c"end\00" -@field_names.639 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.636, i64 3 }, { ptr, i64 } { ptr @fld.str.637, i64 7 }, { ptr, i64 } { ptr @fld.str.638, i64 3 }] -@str.640 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.643 = private constant [6 x i8] c"null_\00" -@fld.str.644 = private constant [6 x i8] c"bool_\00" -@fld.str.645 = private constant [5 x i8] c"int_\00" -@fld.str.646 = private constant [4 x i8] c"str\00" -@fld.str.647 = private constant [6 x i8] c"array\00" -@fld.str.648 = private constant [7 x i8] c"object\00" -@field_names.649 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.643, i64 5 }, { ptr, i64 } { ptr @fld.str.644, i64 5 }, { ptr, i64 } { ptr @fld.str.645, i64 4 }, { ptr, i64 } { ptr @fld.str.646, i64 3 }, { ptr, i64 } { ptr @fld.str.647, i64 5 }, { ptr, i64 } { ptr @fld.str.648, i64 6 }] -@str.650 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.653 = private constant [6 x i8] c"macos\00" -@fld.str.654 = private constant [6 x i8] c"linux\00" -@fld.str.655 = private constant [8 x i8] c"windows\00" -@fld.str.656 = private constant [5 x i8] c"wasm\00" -@fld.str.657 = private constant [4 x i8] c"ios\00" -@fld.str.658 = private constant [8 x i8] c"android\00" -@fld.str.659 = private constant [8 x i8] c"unknown\00" -@field_names.660 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.653, i64 5 }, { ptr, i64 } { ptr @fld.str.654, i64 5 }, { ptr, i64 } { ptr @fld.str.655, i64 7 }, { ptr, i64 } { ptr @fld.str.656, i64 4 }, { ptr, i64 } { ptr @fld.str.657, i64 3 }, { ptr, i64 } { ptr @fld.str.658, i64 7 }, { ptr, i64 } { ptr @fld.str.659, i64 7 }] -@str.661 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.664 = private constant [8 x i8] c"aarch64\00" -@fld.str.665 = private constant [7 x i8] c"x86_64\00" -@fld.str.666 = private constant [7 x i8] c"wasm32\00" -@fld.str.667 = private constant [7 x i8] c"wasm64\00" -@fld.str.668 = private constant [8 x i8] c"unknown\00" -@field_names.669 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.664, i64 7 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }, { ptr, i64 } { ptr @fld.str.666, i64 6 }, { ptr, i64 } { ptr @fld.str.667, i64 6 }, { ptr, i64 } { ptr @fld.str.668, i64 7 }] -@str.670 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.672 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.673 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.674 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.675 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.676 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.677 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.678 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.679 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.680 = private unnamed_addr constant [3 x i8] c", \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 -@str.684 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.685 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.686 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.687 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.688 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.689 = private unnamed_addr constant [3 x i8] c", \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 -@str.693 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.694 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.695 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.697 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.698 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.699 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.700 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.701 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.702 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.703 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.704 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@fld.str.602 = private constant [3 x i8] c"fd\00" +@fld.str.603 = private constant [6 x i8] c"udata\00" +@fld.str.604 = private constant [9 x i8] c"readable\00" +@fld.str.605 = private constant [9 x i8] c"writable\00" +@fld.str.606 = private constant [4 x i8] c"eof\00" +@fld.str.607 = private constant [4 x i8] c"err\00" +@fld.str.608 = private constant [7 x i8] c"nbytes\00" +@field_names.609 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 2 }, { ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 8 }, { ptr, i64 } { ptr @fld.str.605, i64 8 }, { ptr, i64 } { ptr @fld.str.606, i64 3 }, { ptr, i64 } { ptr @fld.str.607, i64 3 }, { ptr, i64 } { ptr @fld.str.608, i64 6 }] +@str.610 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.611 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.612 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.614 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.615 = private constant [3 x i8] c"kq\00" +@field_names.616 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 2 }] +@str.617 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.618 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.619 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.620 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.621 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.622 = private constant [5 x i8] c"port\00" +@fld.str.623 = private constant [8 x i8] c"backlog\00" +@fld.str.624 = private constant [9 x i8] c"max_conn\00" +@fld.str.625 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.626 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.627 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.628 = private constant [14 x i8] c"request_count\00" +@field_names.629 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 4 }, { ptr, i64 } { ptr @fld.str.623, i64 7 }, { ptr, i64 } { ptr @fld.str.624, i64 8 }, { ptr, i64 } { ptr @fld.str.625, i64 12 }, { ptr, i64 } { ptr @fld.str.626, i64 18 }, { ptr, i64 } { ptr @fld.str.627, i64 20 }, { ptr, i64 } { ptr @fld.str.628, i64 13 }] +@str.630 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.631 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.632 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.633 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.635 = private constant [7 x i8] c"method\00" +@fld.str.636 = private constant [5 x i8] c"path\00" +@fld.str.637 = private constant [8 x i8] c"version\00" +@fld.str.638 = private constant [12 x i8] c"headers_raw\00" +@fld.str.639 = private constant [5 x i8] c"body\00" +@fld.str.640 = private constant [11 x i8] c"keep_alive\00" +@field_names.641 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.635, i64 6 }, { ptr, i64 } { ptr @fld.str.636, i64 4 }, { ptr, i64 } { ptr @fld.str.637, i64 7 }, { ptr, i64 } { ptr @fld.str.638, i64 11 }, { ptr, i64 } { ptr @fld.str.639, i64 4 }, { ptr, i64 } { ptr @fld.str.640, i64 10 }] +@str.642 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.643 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.644 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.645 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.647 = private constant [7 x i8] c"status\00" +@fld.str.648 = private constant [13 x i8] c"content_type\00" +@fld.str.649 = private constant [14 x i8] c"extra_headers\00" +@fld.str.650 = private constant [5 x i8] c"body\00" +@field_names.651 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.647, i64 6 }, { ptr, i64 } { ptr @fld.str.648, i64 12 }, { ptr, i64 } { ptr @fld.str.649, i64 13 }, { ptr, i64 } { ptr @fld.str.650, i64 4 }] +@str.652 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.653 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.654 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.655 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.657 = private constant [3 x i8] c"fd\00" +@fld.str.658 = private constant [6 x i8] c"state\00" +@fld.str.659 = private constant [9 x i8] c"read_buf\00" +@fld.str.660 = private constant [9 x i8] c"read_len\00" +@fld.str.661 = private constant [8 x i8] c"out_buf\00" +@fld.str.662 = private constant [8 x i8] c"out_len\00" +@fld.str.663 = private constant [9 x i8] c"out_sent\00" +@fld.str.664 = private constant [9 x i8] c"deadline\00" +@fld.str.665 = private constant [7 x i8] c"served\00" +@fld.str.666 = private constant [12 x i8] c"close_after\00" +@fld.str.667 = private constant [12 x i8] c"write_armed\00" +@field_names.668 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.657, i64 2 }, { ptr, i64 } { ptr @fld.str.658, i64 5 }, { ptr, i64 } { ptr @fld.str.659, i64 8 }, { ptr, i64 } { ptr @fld.str.660, i64 8 }, { ptr, i64 } { ptr @fld.str.661, i64 7 }, { ptr, i64 } { ptr @fld.str.662, i64 7 }, { ptr, i64 } { ptr @fld.str.663, i64 8 }, { ptr, i64 } { ptr @fld.str.664, i64 8 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }, { ptr, i64 } { ptr @fld.str.666, i64 11 }, { ptr, i64 } { ptr @fld.str.667, i64 11 }] +@str.669 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.670 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.671 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.672 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.673 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.674 = private constant [4 x i8] c"cfg\00" +@fld.str.675 = private constant [5 x i8] c"loop\00" +@fld.str.676 = private constant [4 x i8] c"lfd\00" +@fld.str.677 = private constant [6 x i8] c"conns\00" +@fld.str.678 = private constant [10 x i8] c"own_alloc\00" +@fld.str.679 = private constant [8 x i8] c"handler\00" +@field_names.680 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.674, i64 3 }, { ptr, i64 } { ptr @fld.str.675, i64 4 }, { ptr, i64 } { ptr @fld.str.676, i64 3 }, { ptr, i64 } { ptr @fld.str.677, i64 5 }, { ptr, i64 } { ptr @fld.str.678, i64 9 }, { ptr, i64 } { ptr @fld.str.679, i64 7 }] +@str.681 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.682 = private unnamed_addr constant [8 x i8] c"Greeter\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.685 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.686 = private constant [4 x i8] c"ctx\00" +@fld.str.687 = private constant [9 x i8] c"__vtable\00" +@field_names.688 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.686, i64 3 }, { ptr, i64 } { ptr @fld.str.687, i64 8 }] +@str.689 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.690 = private unnamed_addr constant [18 x i8] c"__Greeter__Vtable\00", align 1 +@str.691 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.692 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.693 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.694 = private constant [6 x i8] c"greet\00" +@field_names.695 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.694, i64 5 }] +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [4 x i8] c"Dog\00", align 1 +@str.698 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.699 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.700 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.701 = private constant [4 x i8] c"age\00" +@field_names.702 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.701, i64 3 }] +@str.703 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.704 = private unnamed_addr constant [4 x i8] c"Cat\00", align 1 +@str.705 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.707 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.708 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.710 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.711 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.712 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.713 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.715 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.716 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.718 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.719 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.722 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.724 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.725 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.726 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.727 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.728 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.730 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.731 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.778 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.781 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.784 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.787 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.790 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.793 = private unnamed_addr constant [5 x i8] c"*Dog\00", align 1 -@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.796 = private unnamed_addr constant [5 x i8] c"*Cat\00", align 1 -@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.708 = private constant [6 x i8] c"lives\00" +@field_names.709 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.708, i64 5 }] +@str.710 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.712 = private constant [5 x i8] c"read\00" +@fld.str.713 = private constant [6 x i8] c"write\00" +@fld.str.714 = private constant [7 x i8] c"append\00" +@fld.str.715 = private constant [11 x i8] c"read_write\00" +@field_names.716 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.712, i64 4 }, { ptr, i64 } { ptr @fld.str.713, i64 5 }, { ptr, i64 } { ptr @fld.str.714, i64 6 }, { ptr, i64 } { ptr @fld.str.715, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.720 = private constant [4 x i8] c"set\00" +@fld.str.721 = private constant [8 x i8] c"current\00" +@fld.str.722 = private constant [4 x i8] c"end\00" +@field_names.723 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.720, i64 3 }, { ptr, i64 } { ptr @fld.str.721, i64 7 }, { ptr, i64 } { ptr @fld.str.722, i64 3 }] +@str.724 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.727 = private constant [6 x i8] c"null_\00" +@fld.str.728 = private constant [6 x i8] c"bool_\00" +@fld.str.729 = private constant [5 x i8] c"int_\00" +@fld.str.730 = private constant [4 x i8] c"str\00" +@fld.str.731 = private constant [6 x i8] c"array\00" +@fld.str.732 = private constant [7 x i8] c"object\00" +@field_names.733 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.727, i64 5 }, { ptr, i64 } { ptr @fld.str.728, i64 5 }, { ptr, i64 } { ptr @fld.str.729, i64 4 }, { ptr, i64 } { ptr @fld.str.730, i64 3 }, { ptr, i64 } { ptr @fld.str.731, i64 5 }, { ptr, i64 } { ptr @fld.str.732, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.737 = private constant [6 x i8] c"macos\00" +@fld.str.738 = private constant [6 x i8] c"linux\00" +@fld.str.739 = private constant [8 x i8] c"windows\00" +@fld.str.740 = private constant [5 x i8] c"wasm\00" +@fld.str.741 = private constant [4 x i8] c"ios\00" +@fld.str.742 = private constant [8 x i8] c"android\00" +@fld.str.743 = private constant [8 x i8] c"unknown\00" +@field_names.744 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.737, i64 5 }, { ptr, i64 } { ptr @fld.str.738, i64 5 }, { ptr, i64 } { ptr @fld.str.739, i64 7 }, { ptr, i64 } { ptr @fld.str.740, i64 4 }, { ptr, i64 } { ptr @fld.str.741, i64 3 }, { ptr, i64 } { ptr @fld.str.742, i64 7 }, { ptr, i64 } { ptr @fld.str.743, i64 7 }] +@str.745 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.748 = private constant [8 x i8] c"aarch64\00" +@fld.str.749 = private constant [7 x i8] c"x86_64\00" +@fld.str.750 = private constant [7 x i8] c"wasm32\00" +@fld.str.751 = private constant [7 x i8] c"wasm64\00" +@fld.str.752 = private constant [8 x i8] c"unknown\00" +@field_names.753 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.748, i64 7 }, { ptr, i64 } { ptr @fld.str.749, i64 6 }, { ptr, i64 } { ptr @fld.str.750, i64 6 }, { ptr, i64 } { ptr @fld.str.751, i64 6 }, { ptr, i64 } { ptr @fld.str.752, i64 7 }] +@str.754 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.755 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.756 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.757 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.758 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.759 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.760 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.761 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.764 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.765 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.766 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.767 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.768 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.769 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.770 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.773 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.774 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.775 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.776 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.777 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.778 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.779 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.782 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.783 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.784 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.785 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.786 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.788 = private unnamed_addr constant [3 x i8] c", \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 +@str.792 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.794 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.795 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.796 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.797 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.799 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.799 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.802 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.802 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.805 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.808 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 +@str.808 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.811 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.811 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.814 = private unnamed_addr constant [6 x i8] c"**Dog\00", align 1 +@str.814 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.817 = private unnamed_addr constant [6 x i8] c"**Cat\00", align 1 +@str.817 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.820 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.820 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.823 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.823 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.826 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.826 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.829 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.829 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.832 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.835 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.838 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.841 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.844 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.847 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.850 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.853 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.863 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.866 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.872 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.873 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.874 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.875 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.878 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.879 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.880 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.881 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.882 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.883 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.884 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.885 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.886 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.887 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.888 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.889 = private unnamed_addr constant [5 x i8] c"*Dog\00", align 1 +@str.890 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.891 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.892 = private unnamed_addr constant [5 x i8] c"*Cat\00", align 1 +@str.893 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.894 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.895 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.896 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.897 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.898 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.899 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.900 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.901 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.902 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.903 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.904 = private unnamed_addr constant [8 x i8] c"*[2]Any\00", align 1 +@str.905 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.906 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.907 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.908 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.909 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.910 = private unnamed_addr constant [6 x i8] c"**Dog\00", align 1 +@str.911 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.912 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.913 = private unnamed_addr constant [6 x i8] c"**Cat\00", align 1 +@str.914 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.915 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.916 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.917 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.918 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.919 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.920 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.921 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.922 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.923 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.924 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.925 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.926 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.927 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.928 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.929 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.930 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.931 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1204,38 +1300,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.451 + br label %while.hdr.485 -while.hdr.451: ; preds = %if.merge.456, %entry +while.hdr.485: ; preds = %if.merge.490, %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.452, label %while.exit.453 + br i1 %icmp, label %while.body.486, label %while.exit.487 -while.body.452: ; preds = %while.hdr.451 +while.body.486: ; preds = %while.hdr.485 %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.454, label %if.else.455 + br i1 %icmpN, label %if.then.488, label %if.else.489 -while.exit.453: ; preds = %while.hdr.451 +while.exit.487: ; preds = %while.hdr.485 ret void -if.then.454: ; preds = %while.body.452 +if.then.488: ; preds = %while.body.486 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.456 + br label %if.merge.490 -if.else.455: ; preds = %while.body.452 +if.else.489: ; preds = %while.body.486 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.456 + br label %if.merge.490 -if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi i64 [ %addN, %if.then.454 ], [ %addN, %if.else.455 ] +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi i64 [ %addN, %if.then.488 ], [ %addN, %if.else.489 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1248,7 +1344,7 @@ if.merge.456: ; preds = %if.else.455, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.451 + br label %while.hdr.485 } ; Function Attrs: nounwind @@ -1361,12 +1457,12 @@ entry: 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.449, label %if.merge.450 + br i1 %icmp, label %if.then.483, label %if.merge.484 -if.then.449: ; preds = %entry +if.then.483: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.450: ; preds = %entry +if.merge.484: ; 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 @@ -1389,14 +1485,14 @@ if.merge.450: ; preds = %entry %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.457 + br label %while.hdr.491 -while.hdr.457: ; preds = %if.merge.461, %if.merge.450 +while.hdr.491: ; preds = %if.merge.495, %if.merge.484 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.458, label %while.exit.459 + br i1 %icmpN, label %while.body.492, label %while.exit.493 -while.body.458: ; preds = %while.hdr.457 +while.body.492: ; preds = %while.hdr.491 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1404,9 +1500,9 @@ while.body.458: ; preds = %while.hdr.457 %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.460, label %if.merge.461 + br i1 %icmpN, label %if.then.494, label %if.merge.495 -while.exit.459: ; preds = %if.then.460, %while.hdr.457 +while.exit.493: ; preds = %if.then.494, %while.hdr.491 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1414,14 +1510,14 @@ while.exit.459: ; preds = %if.then.460, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.460: ; preds = %while.body.458 - br label %while.exit.459 +if.then.494: ; preds = %while.body.492 + br label %while.exit.493 -if.merge.461: ; preds = %while.body.458 +if.merge.495: ; preds = %while.body.492 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.457 + br label %while.hdr.491 } ; Function Attrs: nounwind @@ -1569,10 +1665,15 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 - i64 110, label %match.arm.43 i64 111, label %match.arm.43 i64 112, label %match.arm.43 i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 122, label %match.arm.43 + i64 123, label %match.arm.43 + i64 124, label %match.arm.43 + i64 125, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1583,20 +1684,21 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 121, label %match.arm.47 - i64 127, label %match.arm.47 + i64 133, label %match.arm.47 + i64 139, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 116, label %match.arm.48 - i64 119, label %match.arm.48 + i64 128, label %match.arm.48 + i64 131, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1624,18 +1726,22 @@ entry: i64 102, label %match.arm.49 i64 107, label %match.arm.49 i64 114, label %match.arm.49 - i64 115, label %match.arm.49 + i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 118, label %match.arm.49 - i64 120, label %match.arm.49 - i64 122, label %match.arm.49 - i64 123, label %match.arm.49 - i64 124, label %match.arm.49 - i64 125, label %match.arm.49 + i64 121, label %match.arm.49 i64 126, label %match.arm.49 - i64 128, label %match.arm.49 + i64 127, label %match.arm.49 i64 129, label %match.arm.49 i64 130, label %match.arm.49 + i64 132, label %match.arm.49 + i64 134, label %match.arm.49 + i64 135, label %match.arm.49 + i64 136, label %match.arm.49 + i64 137, label %match.arm.49 + i64 138, label %match.arm.49 + i64 140, label %match.arm.49 + i64 141, label %match.arm.49 + i64 142, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1644,7 +1750,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.576, %dispatch.merge.405, %dispatch.merge.361, %dispatch.merge.317, %dispatch.merge.300, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.622, %dispatch.merge.435, %dispatch.merge.391, %dispatch.merge.347, %dispatch.merge.330, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1658,7 +1764,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [201 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [219 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1686,7 +1792,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1721,32 +1827,37 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 - i64 110, label %dispatch.case.126 - i64 111, label %dispatch.case.127 - i64 112, label %dispatch.case.128 - i64 113, label %dispatch.case.129 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 122, label %dispatch.case.131 + i64 123, label %dispatch.case.132 + i64 124, label %dispatch.case.133 + i64 125, label %dispatch.case.134 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.301 [ - i64 38, label %dispatch.case.302 - i64 39, label %dispatch.case.303 - i64 58, label %dispatch.case.304 - i64 74, label %dispatch.case.305 - i64 75, label %dispatch.case.306 + switch i64 %ua.raw20, label %dispatch.default.331 [ + i64 38, label %dispatch.case.332 + i64 39, label %dispatch.case.333 + i64 58, label %dispatch.case.334 + i64 74, label %dispatch.case.335 + i64 75, label %dispatch.case.336 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1758,86 +1869,90 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.318 [ - i64 23, label %dispatch.case.319 - i64 85, label %dispatch.case.320 - i64 91, label %dispatch.case.321 - i64 92, label %dispatch.case.322 - i64 96, label %dispatch.case.323 - i64 121, label %dispatch.case.324 - i64 127, label %dispatch.case.325 + switch i64 %ua.raw29, label %dispatch.default.348 [ + i64 23, label %dispatch.case.349 + i64 85, label %dispatch.case.350 + i64 91, label %dispatch.case.351 + i64 92, label %dispatch.case.352 + i64 96, label %dispatch.case.353 + i64 133, label %dispatch.case.354 + i64 139, label %dispatch.case.355 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.362 [ - i64 24, label %dispatch.case.363 - i64 64, label %dispatch.case.364 - i64 81, label %dispatch.case.365 - i64 89, label %dispatch.case.366 - i64 109, label %dispatch.case.367 - i64 116, label %dispatch.case.368 - i64 119, label %dispatch.case.369 + switch i64 %ua.raw33, label %dispatch.default.392 [ + i64 24, label %dispatch.case.393 + i64 64, label %dispatch.case.394 + i64 81, label %dispatch.case.395 + i64 89, label %dispatch.case.396 + i64 109, label %dispatch.case.397 + i64 128, label %dispatch.case.398 + i64 131, label %dispatch.case.399 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.406 [ - i64 19, label %dispatch.case.407 - i64 26, label %dispatch.case.408 - i64 28, label %dispatch.case.409 - i64 30, label %dispatch.case.410 - i64 32, label %dispatch.case.411 - i64 33, label %dispatch.case.412 - i64 35, label %dispatch.case.413 - i64 37, label %dispatch.case.414 - i64 41, label %dispatch.case.415 - i64 48, label %dispatch.case.416 - i64 50, label %dispatch.case.417 - i64 51, label %dispatch.case.418 - i64 60, label %dispatch.case.419 - i64 61, label %dispatch.case.420 - i64 62, label %dispatch.case.421 - i64 63, label %dispatch.case.422 - i64 66, label %dispatch.case.423 - i64 71, label %dispatch.case.424 - i64 78, label %dispatch.case.425 - i64 87, label %dispatch.case.426 - i64 90, label %dispatch.case.427 - i64 94, label %dispatch.case.428 - i64 98, label %dispatch.case.429 - i64 101, label %dispatch.case.430 - i64 102, label %dispatch.case.431 - i64 107, label %dispatch.case.432 - i64 114, label %dispatch.case.433 - i64 115, label %dispatch.case.434 - i64 117, label %dispatch.case.435 - i64 118, label %dispatch.case.436 - i64 120, label %dispatch.case.437 - i64 122, label %dispatch.case.438 - i64 123, label %dispatch.case.439 - i64 124, label %dispatch.case.440 - i64 125, label %dispatch.case.441 - i64 126, label %dispatch.case.442 - i64 128, label %dispatch.case.443 - i64 129, label %dispatch.case.444 - i64 130, label %dispatch.case.445 + switch i64 %ua.raw37, label %dispatch.default.436 [ + i64 19, label %dispatch.case.437 + i64 26, label %dispatch.case.438 + i64 28, label %dispatch.case.439 + i64 30, label %dispatch.case.440 + i64 32, label %dispatch.case.441 + i64 33, label %dispatch.case.442 + i64 35, label %dispatch.case.443 + i64 37, label %dispatch.case.444 + i64 41, label %dispatch.case.445 + i64 48, label %dispatch.case.446 + i64 50, label %dispatch.case.447 + i64 51, label %dispatch.case.448 + i64 60, label %dispatch.case.449 + i64 61, label %dispatch.case.450 + i64 62, label %dispatch.case.451 + i64 63, label %dispatch.case.452 + i64 66, label %dispatch.case.453 + i64 71, label %dispatch.case.454 + i64 78, label %dispatch.case.455 + i64 87, label %dispatch.case.456 + i64 90, label %dispatch.case.457 + i64 94, label %dispatch.case.458 + i64 98, label %dispatch.case.459 + i64 101, label %dispatch.case.460 + i64 102, label %dispatch.case.461 + i64 107, label %dispatch.case.462 + i64 114, label %dispatch.case.463 + i64 116, label %dispatch.case.464 + i64 117, label %dispatch.case.465 + i64 121, label %dispatch.case.466 + i64 126, label %dispatch.case.467 + i64 127, label %dispatch.case.468 + i64 129, label %dispatch.case.469 + i64 130, label %dispatch.case.470 + i64 132, label %dispatch.case.471 + i64 134, label %dispatch.case.472 + i64 135, label %dispatch.case.473 + i64 136, label %dispatch.case.474 + i64 137, label %dispatch.case.475 + i64 138, label %dispatch.case.476 + i64 140, label %dispatch.case.477 + i64 141, label %dispatch.case.478 + i64 142, label %dispatch.case.479 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.577 [ - i64 42, label %dispatch.case.578 - i64 43, label %dispatch.case.579 - i64 45, label %dispatch.case.580 - i64 47, label %dispatch.case.581 - i64 95, label %dispatch.case.582 + switch i64 %ua.raw41, label %dispatch.default.623 [ + i64 42, label %dispatch.case.624 + i64 43, label %dispatch.case.625 + i64 45, label %dispatch.case.626 + i64 47, label %dispatch.case.627 + i64 95, label %dispatch.case.628 ] match.arm.51: ; preds = %entry @@ -1846,7 +1961,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [201 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [219 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1891,13 +2006,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.302, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.322, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2143,535 +2258,603 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { ptr, ptr }, ptr %ua.ptr181, align 8 - %callN = call { ptr, i64 } @struct_to_string__Greeter(ptr %0, { ptr, ptr } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { ptr }, ptr %ua.ptr185, align 8 - %callN = call { ptr, i64 } @struct_to_string____Greeter__Vtable(ptr %0, { ptr } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.128: ; preds = %match.arm.43 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { i64 }, ptr %ua.ptr189, align 8 - %callN = call { ptr, i64 } @struct_to_string__Dog(ptr %0, { i64 } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.129: ; preds = %match.arm.43 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load { i64 }, ptr %ua.ptr193, align 8 - %callN = call { ptr, i64 } @struct_to_string__Cat(ptr %0, { i64 } %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.300: ; preds = %dispatch.case.306, %dispatch.case.305, %dispatch.case.304, %dispatch.case.303, %dispatch.case.302, %dispatch.default.301 +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { ptr, ptr }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__Greeter(ptr %0, { ptr, ptr } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { ptr }, ptr %ua.ptr205, align 8 + %callN = call { ptr, i64 } @struct_to_string____Greeter__Vtable(ptr %0, { ptr } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.133: ; preds = %match.arm.43 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { i64 }, ptr %ua.ptr209, align 8 + %callN = call { ptr, i64 } @struct_to_string__Dog(ptr %0, { i64 } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.134: ; preds = %match.arm.43 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load { i64 }, ptr %ua.ptr213, align 8 + %callN = call { ptr, i64 } @struct_to_string__Cat(ptr %0, { i64 } %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.330: ; preds = %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.default.331 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.301: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.303, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.300 +dispatch.default.331: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.323, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.330 -dispatch.case.302: ; preds = %match.arm.44 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw197) +dispatch.case.332: ; preds = %match.arm.44 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw217) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.303: ; preds = %match.arm.44 - %ua.raw199 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw199) +dispatch.case.333: ; preds = %match.arm.44 + %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.304: ; preds = %match.arm.44 - %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr202 = inttoptr i64 %ua.raw201 to ptr - %ua.load203 = load { i64, [24 x i8] }, ptr %ua.ptr202, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load203) +dispatch.case.334: ; preds = %match.arm.44 + %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr222 = inttoptr i64 %ua.raw221 to ptr + %ua.load223 = load { i64, [24 x i8] }, ptr %ua.ptr222, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load223) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.305: ; preds = %match.arm.44 - %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw205) +dispatch.case.335: ; preds = %match.arm.44 + %ua.raw225 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw225) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.case.306: ; preds = %match.arm.44 - %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw207) +dispatch.case.336: ; preds = %match.arm.44 + %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw227) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.300 + br label %dispatch.merge.330 -dispatch.merge.317: ; preds = %dispatch.case.325, %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.case.321, %dispatch.case.320, %dispatch.case.319, %dispatch.default.318 +dispatch.merge.347: ; preds = %dispatch.case.355, %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.case.351, %dispatch.case.350, %dispatch.case.349, %dispatch.default.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.318: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.304, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.317 +dispatch.default.348: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.324, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.347 -dispatch.case.319: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [4 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 - -dispatch.case.320: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 - -dispatch.case.321: ; preds = %match.arm.47 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [8 x i64], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 - -dispatch.case.322: ; preds = %match.arm.47 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [64 x i8], ptr %ua.ptr223, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 - -dispatch.case.323: ; preds = %match.arm.47 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [64 x i64], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 - -dispatch.case.324: ; preds = %match.arm.47 +dispatch.case.349: ; preds = %match.arm.47 %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [2 x { i64, i64 }], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load232) + %ua.load232 = load [4 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load232) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 + br label %dispatch.merge.347 -dispatch.case.325: ; preds = %match.arm.47 +dispatch.case.350: ; preds = %match.arm.47 %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr - %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + %ua.load236 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load236) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.317 + br label %dispatch.merge.347 -dispatch.merge.361: ; preds = %dispatch.case.369, %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.default.362 +dispatch.case.351: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [8 x i64], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.347 + +dispatch.case.352: ; preds = %match.arm.47 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [64 x i8], ptr %ua.ptr243, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.347 + +dispatch.case.353: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [64 x i64], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.347 + +dispatch.case.354: ; preds = %match.arm.47 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [2 x { i64, i64 }], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_2_Any(ptr %0, [2 x { i64, i64 }] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.347 + +dispatch.case.355: ; preds = %match.arm.47 + %ua.raw254 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr255 = inttoptr i64 %ua.raw254 to ptr + %ua.load256 = load [1 x { i64, i64 }], ptr %ua.ptr255, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load256) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.347 + +dispatch.merge.391: ; preds = %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.default.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.362: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.305, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.361 +dispatch.default.392: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.325, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.391 -dispatch.case.363: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.364: ; preds = %match.arm.48 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.365: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.366: ; preds = %match.arm.48 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.367: ; preds = %match.arm.48 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr - %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.368: ; preds = %match.arm.48 +dispatch.case.393: ; preds = %match.arm.48 %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 - %callN = call { ptr, i64 } @slice_to_string__Greeter(ptr %0, { ptr, i64 } %ua.load261) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load261) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 + br label %dispatch.merge.391 -dispatch.case.369: ; preds = %match.arm.48 +dispatch.case.394: ; preds = %match.arm.48 %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load265) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 + br label %dispatch.merge.391 -dispatch.merge.405: ; preds = %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 +dispatch.case.395: ; preds = %match.arm.48 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.396: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.397: ; preds = %match.arm.48 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.398: ; preds = %match.arm.48 + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr280 = inttoptr i64 %ua.raw279 to ptr + %ua.load281 = load { ptr, i64 }, ptr %ua.ptr280, align 8 + %callN = call { ptr, i64 } @slice_to_string__Greeter(ptr %0, { ptr, i64 } %ua.load281) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.399: ; preds = %match.arm.48 + %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr284 = inttoptr i64 %ua.raw283 to ptr + %ua.load285 = load { ptr, i64 }, ptr %ua.ptr284, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.merge.435: ; preds = %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.default.436 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.406: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.407: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.408: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.409: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.419: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.420: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.421: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.422: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.423: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.424: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.425: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.426: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.427: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.428: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.429: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.430: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.431: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.432: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.433: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Dog(ptr %0, ptr %iNp346) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.434: ; preds = %match.arm.49 - %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 - %iNp349 = inttoptr i64 %ua.raw348 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Cat(ptr %0, ptr %iNp349) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.435: ; preds = %match.arm.49 - %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 - %iNp352 = inttoptr i64 %ua.raw351 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp352) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.436: ; preds = %match.arm.49 - %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 - %iNp355 = inttoptr i64 %ua.raw354 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp355) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 +dispatch.default.436: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.326, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.435 dispatch.case.437: ; preds = %match.arm.49 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp358) + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.438: ; preds = %match.arm.49 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %iNp361 = inttoptr i64 %ua.raw360 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp361) + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp291) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.439: ; preds = %match.arm.49 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %iNp364 = inttoptr i64 %ua.raw363 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp364) + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp294) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.440: ; preds = %match.arm.49 - %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 - %iNp367 = inttoptr i64 %ua.raw366 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Dog(ptr %0, ptr %iNp367) + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp297) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.441: ; preds = %match.arm.49 - %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 - %iNp370 = inttoptr i64 %ua.raw369 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Cat(ptr %0, ptr %iNp370) + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp300) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.442: ; preds = %match.arm.49 - %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 - %iNp373 = inttoptr i64 %ua.raw372 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp373) + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp303) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.443: ; preds = %match.arm.49 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %iNp376 = inttoptr i64 %ua.raw375 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp376) + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp306) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.444: ; preds = %match.arm.49 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %iNp379 = inttoptr i64 %ua.raw378 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp379) + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp309) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.445: ; preds = %match.arm.49 - %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 - %iNp382 = inttoptr i64 %ua.raw381 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp382) + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp312) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 -dispatch.merge.576: ; preds = %dispatch.case.582, %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.default.577 +dispatch.case.446: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.448: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.460: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.461: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.462: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.463: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.464: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.465: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.466: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.467: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Dog(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.468: ; preds = %match.arm.49 + %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 + %iNp381 = inttoptr i64 %ua.raw380 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Cat(ptr %0, ptr %iNp381) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.469: ; preds = %match.arm.49 + %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 + %iNp384 = inttoptr i64 %ua.raw383 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp384) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.470: ; preds = %match.arm.49 + %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp387) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.471: ; preds = %match.arm.49 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp390) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.472: ; preds = %match.arm.49 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %iNp393 = inttoptr i64 %ua.raw392 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp393) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.473: ; preds = %match.arm.49 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %iNp396 = inttoptr i64 %ua.raw395 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp396) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.474: ; preds = %match.arm.49 + %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 + %iNp399 = inttoptr i64 %ua.raw398 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Dog(ptr %0, ptr %iNp399) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.475: ; preds = %match.arm.49 + %ua.raw401 = extractvalue { i64, i64 } %loadN, 1 + %iNp402 = inttoptr i64 %ua.raw401 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Cat(ptr %0, ptr %iNp402) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.476: ; preds = %match.arm.49 + %ua.raw404 = extractvalue { i64, i64 } %loadN, 1 + %iNp405 = inttoptr i64 %ua.raw404 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp405) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.477: ; preds = %match.arm.49 + %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 + %iNp408 = inttoptr i64 %ua.raw407 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp408) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.478: ; preds = %match.arm.49 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %iNp411 = inttoptr i64 %ua.raw410 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp411) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.479: ; preds = %match.arm.49 + %ua.raw413 = extractvalue { i64, i64 } %loadN, 1 + %iNp414 = inttoptr i64 %ua.raw413 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp414) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.merge.622: ; preds = %dispatch.case.628, %dispatch.case.627, %dispatch.case.626, %dispatch.case.625, %dispatch.case.624, %dispatch.default.623 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.577: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.576 +dispatch.default.623: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.327, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.622 -dispatch.case.578: ; preds = %match.arm.50 - %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr - %ua.load387 = load { { i32 }, i1 }, ptr %ua.ptr386, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load387) +dispatch.case.624: ; preds = %match.arm.50 + %ua.raw417 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr418 = inttoptr i64 %ua.raw417 to ptr + %ua.load419 = load { { i32 }, i1 }, ptr %ua.ptr418, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load419) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.576 + br label %dispatch.merge.622 -dispatch.case.579: ; preds = %match.arm.50 - %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr - %ua.load391 = load { { ptr, i64 }, i1 }, ptr %ua.ptr390, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load391) +dispatch.case.625: ; preds = %match.arm.50 + %ua.raw421 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr422 = inttoptr i64 %ua.raw421 to ptr + %ua.load423 = load { { ptr, i64 }, i1 }, ptr %ua.ptr422, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load423) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.576 + br label %dispatch.merge.622 -dispatch.case.580: ; preds = %match.arm.50 - %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 - %iNp394 = inttoptr i64 %ua.raw393 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp394) +dispatch.case.626: ; preds = %match.arm.50 + %ua.raw425 = extractvalue { i64, i64 } %loadN, 1 + %iNp426 = inttoptr i64 %ua.raw425 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp426) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.576 + br label %dispatch.merge.622 -dispatch.case.581: ; preds = %match.arm.50 - %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr - %ua.load398 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr397, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load398) +dispatch.case.627: ; preds = %match.arm.50 + %ua.raw428 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr429 = inttoptr i64 %ua.raw428 to ptr + %ua.load430 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr429, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load430) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.576 + br label %dispatch.merge.622 -dispatch.case.582: ; preds = %match.arm.50 - %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr401 = inttoptr i64 %ua.raw400 to ptr - %ua.load402 = load { [64 x i8], i1 }, ptr %ua.ptr401, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load402) +dispatch.case.628: ; preds = %match.arm.50 + %ua.raw432 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr433 = inttoptr i64 %ua.raw432 to ptr + %ua.load434 = load { [64 x i8], i1 }, ptr %ua.ptr433, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load434) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.576 + br label %dispatch.merge.622 } ; Function Attrs: nounwind @@ -2680,7 +2863,7 @@ 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.308, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.328, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2776,7 +2959,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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 @@ -2784,7 +2967,7 @@ if.then.12: ; preds = %if.then.9 %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.310, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2794,13 +2977,13 @@ if.then.12: ; preds = %if.then.9 %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.311, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.312, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, 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 @@ -2808,7 +2991,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.313, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.333, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2822,7 +3005,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, 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 @@ -2830,7 +3013,7 @@ if.then.23: ; preds = %if.else.10 %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.315, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, 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 @@ -2841,7 +3024,7 @@ if.then.23: ; preds = %if.else.10 %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.316, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2898,7 +3081,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, 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 @@ -2906,7 +3089,7 @@ if.then.32: ; preds = %if.then.29 %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.318, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, 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 @@ -2917,7 +3100,7 @@ if.then.32: ; preds = %if.then.29 %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.319, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2937,7 +3120,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, 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 @@ -2945,7 +3128,7 @@ if.then.35: ; preds = %while.exit.2 %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.321, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, 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 @@ -2956,7 +3139,7 @@ if.then.35: ; preds = %while.exit.2 %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.322, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3789,6 +3972,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i64 @Dog.greet(ptr %0, ptr %1) #0 { entry: @@ -3862,14 +4093,14 @@ entry: %ba.tmp = alloca { i64 }, align 8 store { i64 } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 124, 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 { i64 }, ptr %allocaN, align 8 %ba.tmp4 = alloca { i64 }, align 8 store { i64 } %loadN, ptr %ba.tmp4, align 8 %ba.p2i5 = ptrtoint ptr %ba.tmp4 to i64 - %ba.val6 = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i5, 1 + %ba.val6 = insertvalue { i64, i64 } { i64 125, i64 undef }, i64 %ba.p2i5, 1 %igp.ptr7 = getelementptr { i64, i64 }, ptr %allocaN, i64 1 store { i64, i64 } %ba.val6, ptr %igp.ptr7, align 8 %allocaN = alloca { ptr, i64 }, align 8 @@ -3894,7 +4125,7 @@ entry: define internal void @print__ct_sa93836785e55c522__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.323, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.343, i64 11 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3909,7 +4140,7 @@ entry: %gepN = getelementptr inbounds { 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.324, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.344, 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 8) @@ -3936,7 +4167,7 @@ entry: ; 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.325, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.345, i64 11 }) ret { ptr, i64 } %call } @@ -3952,14 +4183,14 @@ entry: %ba.tmp = alloca { i64 }, align 8 store { i64 } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 125, 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 { i64 }, ptr %allocaN, align 8 %ba.tmp4 = alloca { i64 }, align 8 store { i64 } %loadN, ptr %ba.tmp4, align 8 %ba.p2i5 = ptrtoint ptr %ba.tmp4 to i64 - %ba.val6 = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i5, 1 + %ba.val6 = insertvalue { i64, i64 } { i64 124, i64 undef }, i64 %ba.p2i5, 1 %igp.ptr7 = getelementptr { i64, i64 }, ptr %allocaN, i64 1 store { i64, i64 } %ba.val6, ptr %igp.ptr7, align 8 %allocaN = alloca { ptr, i64 }, align 8 @@ -3984,7 +4215,7 @@ entry: define internal void @print__ct_sdcda2f2aa37cf168__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.326, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.346, i64 11 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3999,7 +4230,7 @@ entry: %gepN = getelementptr inbounds { 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.327, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.347, 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 8) @@ -4026,7 +4257,7 @@ entry: ; 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.328, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.348, i64 11 }) ret { ptr, i64 } %call } @@ -4042,14 +4273,14 @@ entry: %ba.tmp = alloca { i64 }, align 8 store { i64 } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 124, 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 { i64 }, ptr %allocaN, align 8 %ba.tmp4 = alloca { i64 }, align 8 store { i64 } %loadN, ptr %ba.tmp4, align 8 %ba.p2i5 = ptrtoint ptr %ba.tmp4 to i64 - %ba.val6 = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i5, 1 + %ba.val6 = insertvalue { i64, i64 } { i64 124, i64 undef }, i64 %ba.p2i5, 1 %igp.ptr7 = getelementptr { i64, i64 }, ptr %allocaN, i64 1 store { i64, i64 } %ba.val6, ptr %igp.ptr7, align 8 %allocaN = alloca { ptr, i64 }, align 8 @@ -4074,7 +4305,7 @@ entry: define internal void @print__ct_s1a602d8c97d1af91__pack_i64(ptr %0, i64 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.329, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.349, i64 11 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4089,7 +4320,7 @@ entry: %gepN = getelementptr inbounds { 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.330, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.350, 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 8) @@ -4116,7 +4347,7 @@ entry: ; 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.331, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.351, i64 11 }) ret { ptr, i64 } %call } @@ -4127,35 +4358,35 @@ entry: %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.332, i64 15 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.352, i64 15 }, { ptr, i64 } { ptr @str.353, 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.130 + br label %while.hdr.135 -while.hdr.130: ; preds = %fv.merge, %entry +while.hdr.135: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.131, label %while.exit.132 + br i1 %icmp, label %while.body.136, label %while.exit.137 -while.body.131: ; preds = %while.hdr.130 +while.body.136: ; preds = %while.hdr.135 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.133, label %if.merge.134 + br i1 %icmpN, label %if.then.138, label %if.merge.139 -while.exit.132: ; preds = %while.hdr.130 +while.exit.137: ; preds = %while.hdr.135 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 1 }) ret { ptr, i64 } %callN -if.then.133: ; preds = %while.body.131 +if.then.138: ; preds = %while.body.136 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.134 + br label %if.merge.139 -if.merge.134: ; preds = %if.then.133, %while.body.131 +if.merge.139: ; preds = %if.then.138, %while.body.136 %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 @@ -4163,7 +4394,7 @@ if.merge.134: ; preds = %if.then.133, %while %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.339, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, 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 @@ -4183,31 +4414,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.130 + br label %while.hdr.135 -fv.default: ; preds = %if.merge.134 +fv.default: ; preds = %if.merge.139 br label %fv.merge -fv.case: ; preds = %if.merge.134 +fv.case: ; preds = %if.merge.139 %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.134 +fv.case17: ; preds = %if.merge.139 %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.134 +fv.case20: ; preds = %if.merge.139 %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.134 +fv.case24: ; preds = %if.merge.139 %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 @@ -4220,43 +4451,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.340, i64 9 }, { ptr, i64 } { ptr @str.341, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.360, i64 9 }, { ptr, i64 } { ptr @str.361, 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.135 + br label %while.hdr.140 -while.hdr.135: ; preds = %fv.merge, %entry +while.hdr.140: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.136, label %while.exit.137 + br i1 %icmp, label %while.body.141, label %while.exit.142 -while.body.136: ; preds = %while.hdr.135 +while.body.141: ; preds = %while.hdr.140 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.138, label %if.merge.139 + br i1 %icmpN, label %if.then.143, label %if.merge.144 -while.exit.137: ; preds = %while.hdr.135 +while.exit.142: ; preds = %while.hdr.140 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 1 }) ret { ptr, i64 } %callN -if.then.138: ; preds = %while.body.136 +if.then.143: ; preds = %while.body.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.139 + br label %if.merge.144 -if.merge.139: ; preds = %if.then.138, %while.body.136 +if.merge.144: ; preds = %if.then.143, %while.body.141 %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.347, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.367, 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.348, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, 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 @@ -4275,24 +4506,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.135 + br label %while.hdr.140 -fv.default: ; preds = %if.merge.139 +fv.default: ; preds = %if.merge.144 br label %fv.merge -fv.case: ; preds = %if.merge.139 +fv.case: ; preds = %if.merge.144 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.139 +fv.case17: ; preds = %if.merge.144 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.139 +fv.case21: ; preds = %if.merge.144 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4305,43 +4536,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 7 }, { ptr, i64 } { ptr @str.350, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.369, i64 7 }, { ptr, i64 } { ptr @str.370, 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.140 + br label %while.hdr.145 -while.hdr.140: ; preds = %fv.merge, %entry +while.hdr.145: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.141, label %while.exit.142 + br i1 %icmp, label %while.body.146, label %while.exit.147 -while.body.141: ; preds = %while.hdr.140 +while.body.146: ; preds = %while.hdr.145 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.143, label %if.merge.144 + br i1 %icmpN, label %if.then.148, label %if.merge.149 -while.exit.142: ; preds = %while.hdr.140 +while.exit.147: ; preds = %while.hdr.145 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 1 }) ret { ptr, i64 } %callN -if.then.143: ; preds = %while.body.141 +if.then.148: ; preds = %while.body.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.144 + br label %if.merge.149 -if.merge.144: ; preds = %if.then.143, %while.body.141 +if.merge.149: ; preds = %if.then.148, %while.body.146 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, 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 %alloca, align 8 @@ -4359,19 +4590,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.140 + br label %while.hdr.145 -fv.default: ; preds = %if.merge.144 +fv.default: ; preds = %if.merge.149 br label %fv.merge -fv.case: ; preds = %if.merge.144 +fv.case: ; preds = %if.merge.149 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.144 +fv.case17: ; preds = %if.merge.149 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4383,43 +4614,43 @@ 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.357, i64 10 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 10 }, { ptr, i64 } { ptr @str.378, 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.145 + br label %while.hdr.150 -while.hdr.145: ; preds = %if.merge.149, %entry +while.hdr.150: ; preds = %if.merge.154, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.146, label %while.exit.147 + br i1 %icmp, label %while.body.151, label %while.exit.152 -while.body.146: ; preds = %while.hdr.145 +while.body.151: ; preds = %while.hdr.150 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.148, label %if.merge.149 + br i1 %icmpN, label %if.then.153, label %if.merge.154 -while.exit.147: ; preds = %while.hdr.145 +while.exit.152: ; preds = %while.hdr.150 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.148: ; preds = %while.body.146 +if.then.153: ; preds = %while.body.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.149 + br label %if.merge.154 -if.merge.149: ; preds = %if.then.148, %while.body.146 +if.merge.154: ; preds = %if.then.153, %while.body.151 %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.361, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.381, 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.362, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4430,7 +4661,7 @@ if.merge.149: ; preds = %if.then.148, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.145 + br label %while.hdr.150 } ; Function Attrs: nounwind @@ -4438,43 +4669,43 @@ 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.363, i64 3 }, { ptr, i64 } { ptr @str.364, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 3 }, { ptr, i64 } { ptr @str.384, 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.150 + br label %while.hdr.155 -while.hdr.150: ; preds = %fv.merge, %entry +while.hdr.155: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.151, label %while.exit.152 + br i1 %icmp, label %while.body.156, label %while.exit.157 -while.body.151: ; preds = %while.hdr.150 +while.body.156: ; preds = %while.hdr.155 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.153, label %if.merge.154 + br i1 %icmpN, label %if.then.158, label %if.merge.159 -while.exit.152: ; preds = %while.hdr.150 +while.exit.157: ; preds = %while.hdr.155 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) ret { ptr, i64 } %callN -if.then.153: ; preds = %while.body.151 +if.then.158: ; preds = %while.body.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.154 + br label %if.merge.159 -if.merge.154: ; preds = %if.then.153, %while.body.151 +if.merge.159: ; preds = %if.then.158, %while.body.156 %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.368, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.388, 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.369, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, 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 @@ -4491,12 +4722,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.150 + br label %while.hdr.155 -fv.default: ; preds = %if.merge.154 +fv.default: ; preds = %if.merge.159 br label %fv.merge -fv.case: ; preds = %if.merge.154 +fv.case: ; preds = %if.merge.159 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4507,43 +4738,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.370, i64 10 }, { ptr, i64 } { ptr @str.371, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.390, i64 10 }, { ptr, i64 } { ptr @str.391, 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.155 + br label %while.hdr.160 -while.hdr.155: ; preds = %fv.merge, %entry +while.hdr.160: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.156, label %while.exit.157 + br i1 %icmp, label %while.body.161, label %while.exit.162 -while.body.156: ; preds = %while.hdr.155 +while.body.161: ; preds = %while.hdr.160 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.158, label %if.merge.159 + br i1 %icmpN, label %if.then.163, label %if.merge.164 -while.exit.157: ; preds = %while.hdr.155 +while.exit.162: ; preds = %while.hdr.160 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 1 }) ret { ptr, i64 } %callN -if.then.158: ; preds = %while.body.156 +if.then.163: ; preds = %while.body.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.159 + br label %if.merge.164 -if.merge.159: ; preds = %if.then.158, %while.body.156 +if.merge.164: ; preds = %if.then.163, %while.body.161 %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.376, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.396, 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.377, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, 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 @@ -4561,18 +4792,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.155 + br label %while.hdr.160 -fv.default: ; preds = %if.merge.159 +fv.default: ; preds = %if.merge.164 br label %fv.merge -fv.case: ; preds = %if.merge.159 +fv.case: ; preds = %if.merge.164 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.159 +fv.case17: ; preds = %if.merge.164 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4584,91 +4815,7 @@ 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.378, i64 5 }, { ptr, i64 } { ptr @str.379, 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.160 - -while.hdr.160: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.161, label %while.exit.162 - -while.body.161: ; preds = %while.hdr.160 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.163, label %if.merge.164 - -while.exit.162: ; preds = %while.hdr.160 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 1 }) - ret { ptr, i64 } %callN - -if.then.163: ; preds = %while.body.161 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.164 - -if.merge.164: ; preds = %if.then.163, %while.body.161 - %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.385, 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.386, 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.160 - -fv.default: ; preds = %if.merge.164 - br label %fv.merge - -fv.case: ; preds = %if.merge.164 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.164 - %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.164 - %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 21, 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.387, i64 8 }, { ptr, i64 } { ptr @str.388, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.398, i64 5 }, { ptr, i64 } { ptr @str.399, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4687,27 +4834,27 @@ while.body.166: ; preds = %while.hdr.165 while.exit.167: ; preds = %while.hdr.165 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 1 }) ret { ptr, i64 } %callN if.then.168: ; preds = %while.body.166 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.169 if.merge.169: ; preds = %if.then.168, %while.body.166 %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.394, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.405, 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.395, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, 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 { 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 @@ -4729,17 +4876,101 @@ fv.default: ; preds = %if.merge.169 br label %fv.merge fv.case: ; preds = %if.merge.169 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.169 + %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.169 + %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 21, 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.407, i64 8 }, { ptr, i64 } { ptr @str.408, 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.170 + +while.hdr.170: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.171, label %while.exit.172 + +while.body.171: ; preds = %while.hdr.170 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.173, label %if.merge.174 + +while.exit.172: ; preds = %while.hdr.170 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 1 }) + ret { ptr, i64 } %callN + +if.then.173: ; preds = %while.body.171 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.174 + +if.merge.174: ; preds = %if.then.173, %while.body.171 + %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.414, 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.415, 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.170 + +fv.default: ; preds = %if.merge.174 + br label %fv.merge + +fv.case: ; preds = %if.merge.174 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.169 +fv.case17: ; preds = %if.merge.174 %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.169 +fv.case20: ; preds = %if.merge.174 %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 @@ -4751,43 +4982,43 @@ 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.396, i64 17 }, { ptr, i64 } { ptr @str.397, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.416, i64 17 }, { ptr, i64 } { ptr @str.417, 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.170 + br label %while.hdr.175 -while.hdr.170: ; preds = %fv.merge, %entry +while.hdr.175: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.171, label %while.exit.172 + br i1 %icmp, label %while.body.176, label %while.exit.177 -while.body.171: ; preds = %while.hdr.170 +while.body.176: ; preds = %while.hdr.175 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.173, label %if.merge.174 + br i1 %icmpN, label %if.then.178, label %if.merge.179 -while.exit.172: ; preds = %while.hdr.170 +while.exit.177: ; preds = %while.hdr.175 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, i64 1 }) ret { ptr, i64 } %callN -if.then.173: ; preds = %while.body.171 +if.then.178: ; preds = %while.body.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.174 + br label %if.merge.179 -if.merge.174: ; preds = %if.then.173, %while.body.171 +if.merge.179: ; preds = %if.then.178, %while.body.176 %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.404, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.424, 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.405, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, 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 @@ -4807,29 +5038,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.170 + br label %while.hdr.175 -fv.default: ; preds = %if.merge.174 +fv.default: ; preds = %if.merge.179 br label %fv.merge -fv.case: ; preds = %if.merge.174 +fv.case: ; preds = %if.merge.179 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.174 +fv.case17: ; preds = %if.merge.179 %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.174 +fv.case20: ; preds = %if.merge.179 %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.174 +fv.case23: ; preds = %if.merge.179 %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 @@ -4840,43 +5071,43 @@ 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.406, i64 4 }, { ptr, i64 } { ptr @str.407, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.426, i64 4 }, { ptr, i64 } { ptr @str.427, 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.175 + br label %while.hdr.180 -while.hdr.175: ; preds = %fv.merge, %entry +while.hdr.180: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.176, label %while.exit.177 + br i1 %icmp, label %while.body.181, label %while.exit.182 -while.body.176: ; preds = %while.hdr.175 +while.body.181: ; preds = %while.hdr.180 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.178, label %if.merge.179 + br i1 %icmpN, label %if.then.183, label %if.merge.184 -while.exit.177: ; preds = %while.hdr.175 +while.exit.182: ; preds = %while.hdr.180 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 1 }) ret { ptr, i64 } %callN -if.then.178: ; preds = %while.body.176 +if.then.183: ; preds = %while.body.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.179 + br label %if.merge.184 -if.merge.179: ; preds = %if.then.178, %while.body.176 +if.merge.184: ; preds = %if.then.183, %while.body.181 %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.411, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.431, 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.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, 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 @@ -4893,12 +5124,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.175 + br label %while.hdr.180 -fv.default: ; preds = %if.merge.179 +fv.default: ; preds = %if.merge.184 br label %fv.merge -fv.case: ; preds = %if.merge.179 +fv.case: ; preds = %if.merge.184 %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 @@ -4913,43 +5144,43 @@ entry: %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.413, i64 10 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 10 }, { ptr, i64 } { ptr @str.434, 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.180 + br label %while.hdr.185 -while.hdr.180: ; preds = %fv.merge, %entry +while.hdr.185: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.181, label %while.exit.182 + br i1 %icmp, label %while.body.186, label %while.exit.187 -while.body.181: ; preds = %while.hdr.180 +while.body.186: ; preds = %while.hdr.185 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.183, label %if.merge.184 + br i1 %icmpN, label %if.then.188, label %if.merge.189 -while.exit.182: ; preds = %while.hdr.180 +while.exit.187: ; preds = %while.hdr.185 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 1 }) ret { ptr, i64 } %callN -if.then.183: ; preds = %while.body.181 +if.then.188: ; preds = %while.body.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.184 + br label %if.merge.189 -if.merge.184: ; preds = %if.then.183, %while.body.181 +if.merge.189: ; preds = %if.then.188, %while.body.186 %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.422, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.442, 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.423, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, 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 @@ -4970,38 +5201,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.180 + br label %while.hdr.185 -fv.default: ; preds = %if.merge.184 +fv.default: ; preds = %if.merge.189 br label %fv.merge -fv.case: ; preds = %if.merge.184 +fv.case: ; preds = %if.merge.189 %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.184 +fv.case17: ; preds = %if.merge.189 %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.184 +fv.case20: ; preds = %if.merge.189 %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.184 +fv.case24: ; preds = %if.merge.189 %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.184 +fv.case29: ; preds = %if.merge.189 %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 @@ -5015,43 +5246,43 @@ 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.424, i64 13 }, { ptr, i64 } { ptr @str.425, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 13 }, { ptr, i64 } { ptr @str.445, 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.185 + br label %while.hdr.190 -while.hdr.185: ; preds = %fv.merge, %entry +while.hdr.190: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.186, label %while.exit.187 + br i1 %icmp, label %while.body.191, label %while.exit.192 -while.body.186: ; preds = %while.hdr.185 +while.body.191: ; preds = %while.hdr.190 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.188, label %if.merge.189 + br i1 %icmpN, label %if.then.193, label %if.merge.194 -while.exit.187: ; preds = %while.hdr.185 +while.exit.192: ; preds = %while.hdr.190 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) ret { ptr, i64 } %callN -if.then.188: ; preds = %while.body.186 +if.then.193: ; preds = %while.body.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.189 + br label %if.merge.194 -if.merge.189: ; preds = %if.then.188, %while.body.186 +if.merge.194: ; preds = %if.then.193, %while.body.191 %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.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.450, 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.431, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, 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 @@ -5069,18 +5300,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.185 + br label %while.hdr.190 -fv.default: ; preds = %if.merge.189 +fv.default: ; preds = %if.merge.194 br label %fv.merge -fv.case: ; preds = %if.merge.189 +fv.case: ; preds = %if.merge.194 %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.189 +fv.case17: ; preds = %if.merge.194 %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 @@ -5093,43 +5324,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.432, i64 8 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.452, i64 8 }, { ptr, i64 } { ptr @str.453, 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.190 + br label %while.hdr.195 -while.hdr.190: ; preds = %fv.merge, %entry +while.hdr.195: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.191, label %while.exit.192 + br i1 %icmp, label %while.body.196, label %while.exit.197 -while.body.191: ; preds = %while.hdr.190 +while.body.196: ; preds = %while.hdr.195 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.193, label %if.merge.194 + br i1 %icmpN, label %if.then.198, label %if.merge.199 -while.exit.192: ; preds = %while.hdr.190 +while.exit.197: ; preds = %while.hdr.195 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) ret { ptr, i64 } %callN -if.then.193: ; preds = %while.body.191 +if.then.198: ; preds = %while.body.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.194 + br label %if.merge.199 -if.merge.194: ; preds = %if.then.193, %while.body.191 +if.merge.199: ; preds = %if.then.198, %while.body.196 %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.441, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.461, 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.442, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.462, 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 @@ -5150,36 +5381,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.190 + br label %while.hdr.195 -fv.default: ; preds = %if.merge.194 +fv.default: ; preds = %if.merge.199 br label %fv.merge -fv.case: ; preds = %if.merge.194 +fv.case: ; preds = %if.merge.199 %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.194 +fv.case17: ; preds = %if.merge.199 %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.194 +fv.case21: ; preds = %if.merge.199 %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.194 +fv.case25: ; preds = %if.merge.199 %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.194 +fv.case29: ; preds = %if.merge.199 %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 @@ -5190,89 +5421,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.443, i64 5 }, { ptr, i64 } { ptr @str.444, 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.195 - -while.hdr.195: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.196, label %while.exit.197 - -while.body.196: ; preds = %while.hdr.195 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.198, label %if.merge.199 - -while.exit.197: ; preds = %while.hdr.195 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, i64 1 }) - ret { ptr, i64 } %callN - -if.then.198: ; preds = %while.body.196 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.199 - -if.merge.199: ; preds = %if.then.198, %while.body.196 - %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.450, 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.451, 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.195 - -fv.default: ; preds = %if.merge.199 - br label %fv.merge - -fv.case: ; preds = %if.merge.199 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.199 - %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.199 - %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.452, i64 6 }, { ptr, i64 } { ptr @str.453, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.463, i64 5 }, { ptr, i64 } { ptr @str.464, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5291,24 +5440,24 @@ while.body.201: ; preds = %while.hdr.200 while.exit.202: ; preds = %while.hdr.200 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) ret { ptr, i64 } %callN if.then.203: ; preds = %while.body.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.204 if.merge.204: ; preds = %if.then.203, %while.body.201 %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.459, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.470, 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.460, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, 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 @@ -5335,7 +5484,7 @@ fv.default: ; preds = %if.merge.204 fv.case: ; preds = %if.merge.204 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.204 @@ -5350,13 +5499,11 @@ fv.case20: ; preds = %if.merge.204 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.461, i64 6 }, { ptr, i64 } { ptr @str.462, i64 1 }) + %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.472, i64 6 }, { ptr, i64 } { ptr @str.473, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5365,7 +5512,7 @@ entry: while.hdr.205: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.206, label %while.exit.207 while.body.206: ; preds = %while.hdr.205 @@ -5375,24 +5522,108 @@ while.body.206: ; preds = %while.hdr.205 while.exit.207: ; preds = %while.hdr.205 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 1 }) ret { ptr, i64 } %callN if.then.208: ; preds = %while.body.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.209 if.merge.209: ; preds = %if.then.208, %while.body.206 %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.467, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.479, 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.468, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, 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.205 + +fv.default: ; preds = %if.merge.209 + br label %fv.merge + +fv.case: ; preds = %if.merge.209 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.209 + %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.209 + %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.481, i64 6 }, { ptr, i64 } { ptr @str.482, 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.210 + +while.hdr.210: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.211, label %while.exit.212 + +while.body.211: ; preds = %while.hdr.210 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.213, label %if.merge.214 + +while.exit.212: ; preds = %while.hdr.210 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 1 }) + ret { ptr, i64 } %callN + +if.then.213: ; preds = %while.body.211 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.214 + +if.merge.214: ; preds = %if.then.213, %while.body.211 + %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.487, 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.488, 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 @@ -5410,19 +5641,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.205 + br label %while.hdr.210 -fv.default: ; preds = %if.merge.209 +fv.default: ; preds = %if.merge.214 br label %fv.merge -fv.case: ; preds = %if.merge.209 +fv.case: ; preds = %if.merge.214 %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.209 +fv.case17: ; preds = %if.merge.214 %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 @@ -5436,93 +5667,7 @@ 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.469, i64 4 }, { ptr, i64 } { ptr @str.470, 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.210 - -while.hdr.210: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.211, label %while.exit.212 - -while.body.211: ; preds = %while.hdr.210 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.213, label %if.merge.214 - -while.exit.212: ; preds = %while.hdr.210 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 1 }) - ret { ptr, i64 } %callN - -if.then.213: ; preds = %while.body.211 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.214 - -if.merge.214: ; preds = %if.then.213, %while.body.211 - %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.476, 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.477, 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.210 - -fv.default: ; preds = %if.merge.214 - br label %fv.merge - -fv.case: ; preds = %if.merge.214 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.214 - %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.214 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.478, i64 6 }, { ptr, i64 } { ptr @str.479, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.489, i64 4 }, { ptr, i64 } { ptr @str.490, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5541,24 +5686,110 @@ while.body.216: ; preds = %while.hdr.215 while.exit.217: ; preds = %while.hdr.215 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 1 }) ret { ptr, i64 } %callN if.then.218: ; preds = %while.body.216 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.219 if.merge.219: ; preds = %if.then.218, %while.body.216 %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.485, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.496, 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.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, 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.215 + +fv.default: ; preds = %if.merge.219 + br label %fv.merge + +fv.case: ; preds = %if.merge.219 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.219 + %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.219 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.498, i64 6 }, { ptr, i64 } { ptr @str.499, 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.220 + +while.hdr.220: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.221, label %while.exit.222 + +while.body.221: ; preds = %while.hdr.220 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.223, label %if.merge.224 + +while.exit.222: ; preds = %while.hdr.220 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 1 }) + ret { ptr, i64 } %callN + +if.then.223: ; preds = %while.body.221 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.224 + +if.merge.224: ; preds = %if.then.223, %while.body.221 + %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.505, 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.506, 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 @@ -5577,24 +5808,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.215 + br label %while.hdr.220 -fv.default: ; preds = %if.merge.219 +fv.default: ; preds = %if.merge.224 br label %fv.merge -fv.case: ; preds = %if.merge.219 +fv.case: ; preds = %if.merge.224 %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.219 +fv.case17: ; preds = %if.merge.224 %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.219 +fv.case20: ; preds = %if.merge.224 %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 @@ -5607,43 +5838,43 @@ 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.487, i64 12 }, { ptr, i64 } { ptr @str.488, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, i64 12 }, { ptr, i64 } { ptr @str.508, 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.220 + br label %while.hdr.225 -while.hdr.220: ; preds = %if.merge.224, %entry +while.hdr.225: ; preds = %if.merge.229, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.221, label %while.exit.222 + br i1 %icmp, label %while.body.226, label %while.exit.227 -while.body.221: ; preds = %while.hdr.220 +while.body.226: ; preds = %while.hdr.225 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.223, label %if.merge.224 + br i1 %icmpN, label %if.then.228, label %if.merge.229 -while.exit.222: ; preds = %while.hdr.220 +while.exit.227: ; preds = %while.hdr.225 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) ret { ptr, i64 } %callN -if.then.223: ; preds = %while.body.221 +if.then.228: ; preds = %while.body.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.224 + br label %if.merge.229 -if.merge.224: ; preds = %if.then.223, %while.body.221 +if.merge.229: ; preds = %if.then.228, %while.body.226 %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.491, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.511, 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.492, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5654,7 +5885,7 @@ if.merge.224: ; preds = %if.then.223, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.220 + br label %while.hdr.225 } ; Function Attrs: nounwind @@ -5663,95 +5894,7 @@ 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.493, i64 8 }, { ptr, i64 } { ptr @str.494, 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.225 - -while.hdr.225: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.226, label %while.exit.227 - -while.body.226: ; preds = %while.hdr.225 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.228, label %if.merge.229 - -while.exit.227: ; preds = %while.hdr.225 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) - ret { ptr, i64 } %callN - -if.then.228: ; preds = %while.body.226 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.229 - -if.merge.229: ; preds = %if.then.228, %while.body.226 - %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.500, 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.501, 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.225 - -fv.default: ; preds = %if.merge.229 - br label %fv.merge - -fv.case: ; preds = %if.merge.229 - %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.229 - %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.229 - %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.502, i64 7 }, { ptr, i64 } { ptr @str.503, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.513, i64 8 }, { ptr, i64 } { ptr @str.514, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5770,24 +5913,112 @@ while.body.231: ; preds = %while.hdr.230 while.exit.232: ; preds = %while.hdr.230 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) ret { ptr, i64 } %callN if.then.233: ; preds = %while.body.231 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.234 if.merge.234: ; preds = %if.then.233, %while.body.231 %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.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.520, 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.510, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, 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.230 + +fv.default: ; preds = %if.merge.234 + br label %fv.merge + +fv.case: ; preds = %if.merge.234 + %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.234 + %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.234 + %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.522, i64 7 }, { ptr, i64 } { ptr @str.523, 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.235 + +while.hdr.235: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.236, label %while.exit.237 + +while.body.236: ; preds = %while.hdr.235 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.238, label %if.merge.239 + +while.exit.237: ; preds = %while.hdr.235 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 1 }) + ret { ptr, i64 } %callN + +if.then.238: ; preds = %while.body.236 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.239 + +if.merge.239: ; preds = %if.then.238, %while.body.236 + %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.529, 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.530, 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 @@ -5806,26 +6037,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.230 + br label %while.hdr.235 -fv.default: ; preds = %if.merge.234 +fv.default: ; preds = %if.merge.239 br label %fv.merge -fv.case: ; preds = %if.merge.234 +fv.case: ; preds = %if.merge.239 %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.234 +fv.case17: ; preds = %if.merge.239 %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.234 +fv.case22: ; preds = %if.merge.239 %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 @@ -5839,86 +6070,7 @@ 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.511, i64 9 }, { ptr, i64 } { ptr @str.512, 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.235 - -while.hdr.235: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.236, label %while.exit.237 - -while.body.236: ; preds = %while.hdr.235 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.238, label %if.merge.239 - -while.exit.237: ; preds = %while.hdr.235 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) - ret { ptr, i64 } %callN - -if.then.238: ; preds = %while.body.236 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.239 - -if.merge.239: ; preds = %if.then.238, %while.body.236 - %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.517, 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.518, 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.235 - -fv.default: ; preds = %if.merge.239 - br label %fv.merge - -fv.case: ; preds = %if.merge.239 - %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.239 - %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.519, i64 4 }, { ptr, i64 } { ptr @str.520, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.531, i64 9 }, { ptr, i64 } { ptr @str.532, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5937,27 +6089,27 @@ while.body.241: ; preds = %while.hdr.240 while.exit.242: ; preds = %while.hdr.240 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 1 }) ret { ptr, i64 } %callN if.then.243: ; preds = %while.body.241 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.244 if.merge.244: ; preds = %if.then.243, %while.body.241 %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.525, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.537, 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.526, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, 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 { 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 @@ -5978,11 +6130,90 @@ fv.default: ; preds = %if.merge.244 br label %fv.merge fv.case: ; preds = %if.merge.244 + %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.244 + %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.539, i64 4 }, { ptr, i64 } { ptr @str.540, 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.245 + +while.hdr.245: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.246, label %while.exit.247 + +while.body.246: ; preds = %while.hdr.245 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.248, label %if.merge.249 + +while.exit.247: ; preds = %while.hdr.245 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 1 }) + ret { ptr, i64 } %callN + +if.then.248: ; preds = %while.body.246 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.249 + +if.merge.249: ; preds = %if.then.248, %while.body.246 + %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.545, 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.546, 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.245 + +fv.default: ; preds = %if.merge.249 + br label %fv.merge + +fv.case: ; preds = %if.merge.249 %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.244 +fv.case17: ; preds = %if.merge.249 %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 @@ -6000,43 +6231,43 @@ entry: %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.527, i64 6 }, { ptr, i64 } { ptr @str.528, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 6 }, { ptr, i64 } { ptr @str.548, 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.245 + br label %while.hdr.250 -while.hdr.245: ; preds = %fv.merge, %entry +while.hdr.250: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.246, label %while.exit.247 + br i1 %icmp, label %while.body.251, label %while.exit.252 -while.body.246: ; preds = %while.hdr.245 +while.body.251: ; preds = %while.hdr.250 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.248, label %if.merge.249 + br i1 %icmpN, label %if.then.253, label %if.merge.254 -while.exit.247: ; preds = %while.hdr.245 +while.exit.252: ; preds = %while.hdr.250 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %callN -if.then.248: ; preds = %while.body.246 +if.then.253: ; preds = %while.body.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.249 + br label %if.merge.254 -if.merge.249: ; preds = %if.then.248, %while.body.246 +if.merge.254: ; preds = %if.then.253, %while.body.251 %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.538, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.558, 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.539, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, 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 @@ -6059,51 +6290,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.245 + br label %while.hdr.250 -fv.default: ; preds = %if.merge.249 +fv.default: ; preds = %if.merge.254 br label %fv.merge -fv.case: ; preds = %if.merge.249 +fv.case: ; preds = %if.merge.254 %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.249 +fv.case17: ; preds = %if.merge.254 %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.249 +fv.case22: ; preds = %if.merge.254 %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.249 +fv.case25: ; preds = %if.merge.254 %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.249 +fv.case28: ; preds = %if.merge.254 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.249 +fv.case33: ; preds = %if.merge.254 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.249 +fv.case38: ; preds = %if.merge.254 %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 @@ -6118,43 +6349,43 @@ entry: %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.540, i64 6 }, { ptr, i64 } { ptr @str.541, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.560, i64 6 }, { ptr, i64 } { ptr @str.561, 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.250 + br label %while.hdr.255 -while.hdr.250: ; preds = %fv.merge, %entry +while.hdr.255: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.251, label %while.exit.252 + br i1 %icmp, label %while.body.256, label %while.exit.257 -while.body.251: ; preds = %while.hdr.250 +while.body.256: ; preds = %while.hdr.255 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.253, label %if.merge.254 + br i1 %icmpN, label %if.then.258, label %if.merge.259 -while.exit.252: ; preds = %while.hdr.250 +while.exit.257: ; preds = %while.hdr.255 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) ret { ptr, i64 } %callN -if.then.253: ; preds = %while.body.251 +if.then.258: ; preds = %while.body.256 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.254 + br label %if.merge.259 -if.merge.254: ; preds = %if.then.253, %while.body.251 +if.merge.259: ; preds = %if.then.258, %while.body.256 %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.548, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.568, 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.549, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, 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 @@ -6174,31 +6405,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.250 + br label %while.hdr.255 -fv.default: ; preds = %if.merge.254 +fv.default: ; preds = %if.merge.259 br label %fv.merge -fv.case: ; preds = %if.merge.254 +fv.case: ; preds = %if.merge.259 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.254 +fv.case17: ; preds = %if.merge.259 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.254 +fv.case22: ; preds = %if.merge.259 %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.254 +fv.case25: ; preds = %if.merge.259 %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 @@ -6209,82 +6440,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.550, i64 8 }, { ptr, i64 } { ptr @str.551, 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.255 - -while.hdr.255: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.256, label %while.exit.257 - -while.body.256: ; preds = %while.hdr.255 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.258, label %if.merge.259 - -while.exit.257: ; preds = %while.hdr.255 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) - ret { ptr, i64 } %callN - -if.then.258: ; preds = %while.body.256 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.259 - -if.merge.259: ; preds = %if.then.258, %while.body.256 - %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.556, 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.557, 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.255 - -fv.default: ; preds = %if.merge.259 - br label %fv.merge - -fv.case: ; preds = %if.merge.259 - %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.259 - %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__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.558, i64 6 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.570, i64 8 }, { ptr, i64 } { ptr @str.571, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6293,7 +6449,7 @@ entry: while.hdr.260: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.261, label %while.exit.262 while.body.261: ; preds = %while.hdr.260 @@ -6303,118 +6459,16 @@ while.body.261: ; preds = %while.hdr.260 while.exit.262: ; preds = %while.hdr.260 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) ret { ptr, i64 } %callN if.then.263: ; preds = %while.body.261 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.264 if.merge.264: ; preds = %if.then.263, %while.body.261 - %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.568, 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.569, 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.260 - -fv.default: ; preds = %if.merge.264 - br label %fv.merge - -fv.case: ; preds = %if.merge.264 - %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.264 - %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.264 - %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.264 - %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.264 - %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.264 - %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.570, i64 10 }, { ptr, i64 } { ptr @str.571, 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.265 - -while.hdr.265: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.266, label %while.exit.267 - -while.body.266: ; preds = %while.hdr.265 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.268, label %if.merge.269 - -while.exit.267: ; preds = %while.hdr.265 - %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 }) - ret { ptr, i64 } %callN - -if.then.268: ; preds = %while.body.266 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.269 - -if.merge.269: ; preds = %if.then.268, %while.body.266 %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.576, i64 0, i64 %loadN @@ -6440,17 +6494,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.260 + +fv.default: ; preds = %if.merge.264 + br label %fv.merge + +fv.case: ; preds = %if.merge.264 + %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.264 + %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__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.578, i64 6 }, { ptr, i64 } { ptr @str.579, 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.265 + +while.hdr.265: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.266, label %while.exit.267 + +while.body.266: ; preds = %while.hdr.265 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.268, label %if.merge.269 + +while.exit.267: ; preds = %while.hdr.265 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + ret { ptr, i64 } %callN + +if.then.268: ; preds = %while.body.266 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.269 + +if.merge.269: ; preds = %if.then.268, %while.body.266 + %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.588, 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.589, 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.265 fv.default: ; preds = %if.merge.269 br label %fv.merge fv.case: ; preds = %if.merge.269 + %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.269 + %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.269 + %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.269 + %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.269 + %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.269 + %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.590, i64 10 }, { ptr, i64 } { ptr @str.591, 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.270 + +while.hdr.270: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.271, label %while.exit.272 + +while.body.271: ; preds = %while.hdr.270 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.273, label %if.merge.274 + +while.exit.272: ; preds = %while.hdr.270 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 1 }) + ret { ptr, i64 } %callN + +if.then.273: ; preds = %while.body.271 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.274 + +if.merge.274: ; preds = %if.then.273, %while.body.271 + %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.596, 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.597, 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.270 + +fv.default: ; preds = %if.merge.274 + br label %fv.merge + +fv.case: ; preds = %if.merge.274 %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.269 +fv.case17: ; preds = %if.merge.274 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6461,43 +6692,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, i64 5 }, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 5 }, { ptr, i64 } { ptr @str.599, 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.270 + br label %while.hdr.275 -while.hdr.270: ; preds = %fv.merge, %entry +while.hdr.275: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.271, label %while.exit.272 + br i1 %icmp, label %while.body.276, label %while.exit.277 -while.body.271: ; preds = %while.hdr.270 +while.body.276: ; preds = %while.hdr.275 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.273, label %if.merge.274 + br i1 %icmpN, label %if.then.278, label %if.merge.279 -while.exit.272: ; preds = %while.hdr.270 +while.exit.277: ; preds = %while.hdr.275 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) ret { ptr, i64 } %callN -if.then.273: ; preds = %while.body.271 +if.then.278: ; preds = %while.body.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.274 + br label %if.merge.279 -if.merge.274: ; preds = %if.then.273, %while.body.271 +if.merge.279: ; preds = %if.then.278, %while.body.276 %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.589, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.609, 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.590, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, 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, i64 }, ptr %alloca, align 8 @@ -6520,47 +6751,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.270 + br label %while.hdr.275 -fv.default: ; preds = %if.merge.274 +fv.default: ; preds = %if.merge.279 br label %fv.merge -fv.case: ; preds = %if.merge.274 +fv.case: ; preds = %if.merge.279 %fv.field = extractvalue { i32, i64, 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.274 +fv.case17: ; preds = %if.merge.279 %fv.field18 = extractvalue { i32, i64, 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.274 +fv.case20: ; preds = %if.merge.279 %fv.field21 = extractvalue { i32, i64, 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.274 +fv.case23: ; preds = %if.merge.279 %fv.field24 = extractvalue { i32, i64, 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.274 +fv.case27: ; preds = %if.merge.279 %fv.field28 = extractvalue { i32, i64, 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.274 +fv.case31: ; preds = %if.merge.279 %fv.field32 = extractvalue { i32, i64, 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.274 +fv.case35: ; preds = %if.merge.279 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6571,43 +6802,43 @@ 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.591, i64 4 }, { ptr, i64 } { ptr @str.592, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 4 }, { ptr, i64 } { ptr @str.612, 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.275 + br label %while.hdr.280 -while.hdr.275: ; preds = %fv.merge, %entry +while.hdr.280: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.276, label %while.exit.277 + br i1 %icmp, label %while.body.281, label %while.exit.282 -while.body.276: ; preds = %while.hdr.275 +while.body.281: ; preds = %while.hdr.280 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.278, label %if.merge.279 + br i1 %icmpN, label %if.then.283, label %if.merge.284 -while.exit.277: ; preds = %while.hdr.275 +while.exit.282: ; preds = %while.hdr.280 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) ret { ptr, i64 } %callN -if.then.278: ; preds = %while.body.276 +if.then.283: ; preds = %while.body.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.279 + br label %if.merge.284 -if.merge.279: ; preds = %if.then.278, %while.body.276 +if.merge.284: ; preds = %if.then.283, %while.body.281 %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.596, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.616, 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.597, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, 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 @@ -6624,60 +6855,623 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.275 + br label %while.hdr.280 -fv.default: ; preds = %if.merge.279 +fv.default: ; preds = %if.merge.284 br label %fv.merge -fv.case: ; preds = %if.merge.279 +fv.case: ; preds = %if.merge.284 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 6 }, { ptr, i64 } { ptr @str.619, 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.285 + +while.hdr.285: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.286, label %while.exit.287 + +while.body.286: ; preds = %while.hdr.285 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.288, label %if.merge.289 + +while.exit.287: ; preds = %while.hdr.285 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + ret { ptr, i64 } %callN + +if.then.288: ; preds = %while.body.286 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.289 + +if.merge.289: ; preds = %if.then.288, %while.body.286 + %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.629, 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.630, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.285 + +fv.default: ; preds = %if.merge.289 + br label %fv.merge + +fv.case: ; preds = %if.merge.289 + %fv.field = extractvalue { i64, i32, 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.289 + %fv.field18 = extractvalue { i64, i32, 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.289 + %fv.field21 = extractvalue { i64, i32, 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.289 + %fv.field24 = extractvalue { i64, i32, 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.289 + %fv.field27 = extractvalue { i64, i32, 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.289 + %fv.field30 = extractvalue { i64, i32, 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.289 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.631, i64 7 }, { ptr, i64 } { ptr @str.632, 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.290 + +while.hdr.290: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.291, label %while.exit.292 + +while.body.291: ; preds = %while.hdr.290 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.293, label %if.merge.294 + +while.exit.292: ; preds = %while.hdr.290 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + ret { ptr, i64 } %callN + +if.then.293: ; preds = %while.body.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.294 + +if.merge.294: ; preds = %if.then.293, %while.body.291 + %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.641, 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.642, 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.290 + +fv.default: ; preds = %if.merge.294 + br label %fv.merge + +fv.case: ; preds = %if.merge.294 + %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.294 + %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.294 + %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.294 + %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.294 + %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.294 + %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.643, i64 8 }, { ptr, i64 } { ptr @str.644, 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.295 + +while.hdr.295: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.296, label %while.exit.297 + +while.body.296: ; preds = %while.hdr.295 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.298, label %if.merge.299 + +while.exit.297: ; preds = %while.hdr.295 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + ret { ptr, i64 } %callN + +if.then.298: ; preds = %while.body.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.299 + +if.merge.299: ; preds = %if.then.298, %while.body.296 + %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.651, 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.652, 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.295 + +fv.default: ; preds = %if.merge.299 + br label %fv.merge + +fv.case: ; preds = %if.merge.299 + %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.299 + %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.299 + %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.299 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 4 }, { ptr, i64 } { ptr @str.654, 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.300 + +while.hdr.300: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.301, label %while.exit.302 + +while.body.301: ; preds = %while.hdr.300 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.303, label %if.merge.304 + +while.exit.302: ; preds = %while.hdr.300 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + ret { ptr, i64 } %callN + +if.then.303: ; preds = %while.body.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.304 + +if.merge.304: ; preds = %if.then.303, %while.body.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.668, 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.669, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.300 + +fv.default: ; preds = %if.merge.304 + br label %fv.merge + +fv.case: ; preds = %if.merge.304 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.304 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.304 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.304 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.304 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.304 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.304 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.304 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.304 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.304 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.304 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 6 }, { ptr, i64 } { ptr @str.671, 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.305 + +while.hdr.305: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.306, label %while.exit.307 + +while.body.306: ; preds = %while.hdr.305 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.308, label %if.merge.309 + +while.exit.307: ; preds = %while.hdr.305 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 1 }) + ret { ptr, i64 } %callN + +if.then.308: ; preds = %while.body.306 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.309 + +if.merge.309: ; preds = %if.then.308, %while.body.306 + %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.680, 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.681, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.305 + +fv.default: ; preds = %if.merge.309 + br label %fv.merge + +fv.case: ; preds = %if.merge.309 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.309 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.309 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.309 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.309 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.309 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__Greeter(ptr %0, { ptr, ptr } %1) #0 { entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 7 }, { ptr, i64 } { ptr @str.599, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 7 }, { ptr, i64 } { ptr @str.683, 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.280 + br label %while.hdr.310 -while.hdr.280: ; preds = %fv.merge, %entry +while.hdr.310: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.281, label %while.exit.282 + br i1 %icmp, label %while.body.311, label %while.exit.312 -while.body.281: ; preds = %while.hdr.280 +while.body.311: ; preds = %while.hdr.310 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.283, label %if.merge.284 + br i1 %icmpN, label %if.then.313, label %if.merge.314 -while.exit.282: ; preds = %while.hdr.280 +while.exit.312: ; preds = %while.hdr.310 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.684, i64 1 }) ret { ptr, i64 } %callN -if.then.283: ; preds = %while.body.281 +if.then.313: ; preds = %while.body.311 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.284 + br label %if.merge.314 -if.merge.284: ; preds = %if.then.283, %while.body.281 +if.merge.314: ; preds = %if.then.313, %while.body.311 %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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.688, 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.605, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6695,18 +7489,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.280 + br label %while.hdr.310 -fv.default: ; preds = %if.merge.284 +fv.default: ; preds = %if.merge.314 br label %fv.merge -fv.case: ; preds = %if.merge.284 +fv.case: ; preds = %if.merge.314 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.284 +fv.case17: ; preds = %if.merge.314 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -6718,43 +7512,43 @@ define internal { ptr, i64 } @struct_to_string____Greeter__Vtable(ptr %0, { ptr entry: %alloca = alloca { ptr }, align 8 store { ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 17 }, { ptr, i64 } { ptr @str.607, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 17 }, { ptr, i64 } { ptr @str.691, 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.285 + br label %while.hdr.315 -while.hdr.285: ; preds = %fv.merge, %entry +while.hdr.315: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.286, label %while.exit.287 + br i1 %icmp, label %while.body.316, label %while.exit.317 -while.body.286: ; preds = %while.hdr.285 +while.body.316: ; preds = %while.hdr.315 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.288, label %if.merge.289 + br i1 %icmpN, label %if.then.318, label %if.merge.319 -while.exit.287: ; preds = %while.hdr.285 +while.exit.317: ; preds = %while.hdr.315 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 1 }) ret { ptr, i64 } %callN -if.then.288: ; preds = %while.body.286 +if.then.318: ; preds = %while.body.316 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.289 + br label %if.merge.319 -if.merge.289: ; preds = %if.then.288, %while.body.286 +if.merge.319: ; preds = %if.then.318, %while.body.316 %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.695, 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.612, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, 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 @@ -6771,12 +7565,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.285 + br label %while.hdr.315 -fv.default: ; preds = %if.merge.289 +fv.default: ; preds = %if.merge.319 br label %fv.merge -fv.case: ; preds = %if.merge.289 +fv.case: ; preds = %if.merge.319 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -6788,43 +7582,43 @@ define internal { ptr, i64 } @struct_to_string__Dog(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.613, i64 3 }, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 3 }, { ptr, i64 } { ptr @str.698, 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.290 + br label %while.hdr.320 -while.hdr.290: ; preds = %fv.merge, %entry +while.hdr.320: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.291, label %while.exit.292 + br i1 %icmp, label %while.body.321, label %while.exit.322 -while.body.291: ; preds = %while.hdr.290 +while.body.321: ; preds = %while.hdr.320 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.293, label %if.merge.294 + br i1 %icmpN, label %if.then.323, label %if.merge.324 -while.exit.292: ; preds = %while.hdr.290 +while.exit.322: ; preds = %while.hdr.320 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 1 }) ret { ptr, i64 } %callN -if.then.293: ; preds = %while.body.291 +if.then.323: ; preds = %while.body.321 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.294 + br label %if.merge.324 -if.merge.294: ; preds = %if.then.293, %while.body.291 +if.merge.324: ; preds = %if.then.323, %while.body.321 %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.618, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.702, 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.619, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, 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 @@ -6841,12 +7635,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.290 + br label %while.hdr.320 -fv.default: ; preds = %if.merge.294 +fv.default: ; preds = %if.merge.324 br label %fv.merge -fv.case: ; preds = %if.merge.294 +fv.case: ; preds = %if.merge.324 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -6857,43 +7651,43 @@ define internal { ptr, i64 } @struct_to_string__Cat(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.620, i64 3 }, { ptr, i64 } { ptr @str.621, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 3 }, { ptr, i64 } { ptr @str.705, 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.295 + br label %while.hdr.325 -while.hdr.295: ; preds = %fv.merge, %entry +while.hdr.325: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.296, label %while.exit.297 + br i1 %icmp, label %while.body.326, label %while.exit.327 -while.body.296: ; preds = %while.hdr.295 +while.body.326: ; preds = %while.hdr.325 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.298, label %if.merge.299 + br i1 %icmpN, label %if.then.328, label %if.merge.329 -while.exit.297: ; preds = %while.hdr.295 +while.exit.327: ; preds = %while.hdr.325 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) ret { ptr, i64 } %callN -if.then.298: ; preds = %while.body.296 +if.then.328: ; preds = %while.body.326 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.299 + br label %if.merge.329 -if.merge.299: ; preds = %if.then.298, %while.body.296 +if.merge.329: ; preds = %if.then.328, %while.body.326 %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.625, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.709, 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.626, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, 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 @@ -6910,12 +7704,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.295 + br label %while.hdr.325 -fv.default: ; preds = %if.merge.299 +fv.default: ; preds = %if.merge.329 br label %fv.merge -fv.case: ; preds = %if.merge.299 +fv.case: ; preds = %if.merge.329 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -6930,9 +7724,9 @@ entry: %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.632, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.716, 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.627, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, 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 @@ -6946,18 +7740,18 @@ entry: %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.307, label %if.merge.308 + br i1 %icmp, label %if.then.337, label %if.merge.338 -if.then.307: ; preds = %entry +if.then.337: ; 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.634, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, 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.308 + br label %if.merge.338 -if.merge.308: ; preds = %if.then.307, %entry +if.merge.338: ; preds = %if.then.337, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6971,9 +7765,9 @@ entry: %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.639, i64 0, i64 %loadN + %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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, 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 @@ -6987,18 +7781,18 @@ entry: %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.309, label %if.merge.310 + br i1 %icmp, label %if.then.339, label %if.merge.340 -if.then.309: ; preds = %entry +if.then.339: ; 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.641, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, 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.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %entry +if.merge.340: ; preds = %if.then.339, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7023,9 +7817,9 @@ entry: %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.649, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.733, 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.642, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, 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 @@ -7039,16 +7833,16 @@ entry: i64 5, label %fv.case24 ] -if.then.311: ; preds = %fv.merge +if.then.341: ; 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.651, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, 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.312 + br label %if.merge.342 -if.merge.312: ; preds = %if.then.311, %fv.merge +if.merge.342: ; preds = %if.then.341, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7061,7 +7855,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.311, label %if.merge.312 + br i1 %icmp, label %if.then.341, label %if.merge.342 fv.default: ; preds = %entry br label %fv.merge @@ -7121,9 +7915,9 @@ entry: %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.660, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.744, 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.652, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, 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 @@ -7137,18 +7931,18 @@ entry: %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.313, label %if.merge.314 + br i1 %icmp, label %if.then.343, label %if.merge.344 -if.then.313: ; preds = %entry +if.then.343: ; 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.662, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, 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.314 + br label %if.merge.344 -if.merge.314: ; preds = %if.then.313, %entry +if.merge.344: ; preds = %if.then.343, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7162,9 +7956,9 @@ entry: %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.669, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.753, 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.663, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, 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 @@ -7178,18 +7972,18 @@ entry: %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.315, label %if.merge.316 + br i1 %icmp, label %if.then.345, label %if.merge.346 -if.then.315: ; preds = %entry +if.then.345: ; 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.671, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, 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.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %entry +if.merge.346: ; preds = %if.then.345, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7201,33 +7995,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.672, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.756, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.674, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.758, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7241,7 +8035,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -7252,33 +8046,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.675, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.759, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 -while.hdr.331: ; preds = %if.merge.335, %entry +while.hdr.361: ; preds = %if.merge.365, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.332, label %while.exit.333 + br i1 %icmp, label %while.body.362, label %while.exit.363 -while.body.332: ; preds = %while.hdr.331 +while.body.362: ; preds = %while.hdr.361 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.334, label %if.merge.335 + br i1 %icmpN, label %if.then.364, label %if.merge.365 -while.exit.333: ; preds = %while.hdr.331 +while.exit.363: ; preds = %while.hdr.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.760, i64 1 }) ret { ptr, i64 } %call -if.then.334: ; preds = %while.body.332 +if.then.364: ; preds = %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.761, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.335 + br label %if.merge.365 -if.merge.335: ; preds = %if.then.334, %while.body.332 +if.merge.365: ; preds = %if.then.364, %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7294,7 +8088,7 @@ if.merge.335: ; preds = %if.then.334, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 } ; Function Attrs: nounwind @@ -7304,33 +8098,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.678, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.762, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 -while.hdr.336: ; preds = %if.merge.340, %entry +while.hdr.366: ; preds = %if.merge.370, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.337, label %while.exit.338 + br i1 %icmp, label %while.body.367, label %while.exit.368 -while.body.337: ; preds = %while.hdr.336 +while.body.367: ; preds = %while.hdr.366 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.339, label %if.merge.340 + br i1 %icmpN, label %if.then.369, label %if.merge.370 -while.exit.338: ; preds = %while.hdr.336 +while.exit.368: ; preds = %while.hdr.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.679, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.763, i64 1 }) ret { ptr, i64 } %call -if.then.339: ; preds = %while.body.337 +if.then.369: ; preds = %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.680, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.764, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.340 + br label %if.merge.370 -if.merge.340: ; preds = %if.then.339, %while.body.337 +if.merge.370: ; preds = %if.then.369, %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7344,7 +8138,7 @@ if.merge.340: ; preds = %if.then.339, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 } ; Function Attrs: nounwind @@ -7354,33 +8148,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.681, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.765, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.341 + br label %while.hdr.371 -while.hdr.341: ; preds = %if.merge.345, %entry +while.hdr.371: ; preds = %if.merge.375, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.342, label %while.exit.343 + br i1 %icmp, label %while.body.372, label %while.exit.373 -while.body.342: ; preds = %while.hdr.341 +while.body.372: ; preds = %while.hdr.371 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.344, label %if.merge.345 + br i1 %icmpN, label %if.then.374, label %if.merge.375 -while.exit.343: ; preds = %while.hdr.341 +while.exit.373: ; preds = %while.hdr.371 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.766, i64 1 }) ret { ptr, i64 } %call -if.then.344: ; preds = %while.body.342 +if.then.374: ; preds = %while.body.372 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.767, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.345 + br label %if.merge.375 -if.merge.345: ; preds = %if.then.344, %while.body.342 +if.merge.375: ; preds = %if.then.374, %while.body.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7395,7 +8189,7 @@ if.merge.345: ; preds = %if.then.344, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.341 + br label %while.hdr.371 } ; Function Attrs: nounwind @@ -7405,33 +8199,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.684, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.768, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.346 + br label %while.hdr.376 -while.hdr.346: ; preds = %if.merge.350, %entry +while.hdr.376: ; preds = %if.merge.380, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.347, label %while.exit.348 + br i1 %icmp, label %while.body.377, label %while.exit.378 -while.body.347: ; preds = %while.hdr.346 +while.body.377: ; preds = %while.hdr.376 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.349, label %if.merge.350 + br i1 %icmpN, label %if.then.379, label %if.merge.380 -while.exit.348: ; preds = %while.hdr.346 +while.exit.378: ; preds = %while.hdr.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.769, i64 1 }) ret { ptr, i64 } %call -if.then.349: ; preds = %while.body.347 +if.then.379: ; preds = %while.body.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.770, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.350 + br label %if.merge.380 -if.merge.350: ; preds = %if.then.349, %while.body.347 +if.merge.380: ; preds = %if.then.379, %while.body.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7445,7 +8239,7 @@ if.merge.350: ; preds = %if.then.349, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.346 + br label %while.hdr.376 } ; Function Attrs: nounwind @@ -7456,33 +8250,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [2 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.687, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.771, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 -while.hdr.351: ; preds = %if.merge.355, %entry +while.hdr.381: ; preds = %if.merge.385, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.352, label %while.exit.353 + br i1 %icmp, label %while.body.382, label %while.exit.383 -while.body.352: ; preds = %while.hdr.351 +while.body.382: ; preds = %while.hdr.381 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.354, label %if.merge.355 + br i1 %icmpN, label %if.then.384, label %if.merge.385 -while.exit.353: ; preds = %while.hdr.351 +while.exit.383: ; preds = %while.hdr.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.688, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.772, i64 1 }) ret { ptr, i64 } %call -if.then.354: ; preds = %while.body.352 +if.then.384: ; preds = %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.773, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.355 + br label %if.merge.385 -if.merge.355: ; preds = %if.then.354, %while.body.352 +if.merge.385: ; preds = %if.then.384, %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [2 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7498,7 +8292,7 @@ if.merge.355: ; preds = %if.then.354, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 } ; Function Attrs: nounwind @@ -7509,33 +8303,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.690, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.774, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 -while.hdr.356: ; preds = %if.merge.360, %entry +while.hdr.386: ; preds = %if.merge.390, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.357, label %while.exit.358 + br i1 %icmp, label %while.body.387, label %while.exit.388 -while.body.357: ; preds = %while.hdr.356 +while.body.387: ; preds = %while.hdr.386 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.359, label %if.merge.360 + br i1 %icmpN, label %if.then.389, label %if.merge.390 -while.exit.358: ; preds = %while.hdr.356 +while.exit.388: ; preds = %while.hdr.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.775, i64 1 }) ret { ptr, i64 } %call -if.then.359: ; preds = %while.body.357 +if.then.389: ; preds = %while.body.387 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.776, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.360 + br label %if.merge.390 -if.merge.360: ; preds = %if.then.359, %while.body.357 +if.merge.390: ; preds = %if.then.389, %while.body.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7551,7 +8345,7 @@ if.merge.360: ; preds = %if.then.359, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 } ; Function Attrs: nounwind @@ -7561,329 +8355,7 @@ entry: %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.693, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 - -while.hdr.370: ; preds = %if.merge.374, %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.371, label %while.exit.372 - -while.body.371: ; preds = %while.hdr.370 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 - -while.exit.372: ; preds = %while.hdr.370 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 1 }) - ret { ptr, i64 } %call - -if.then.373: ; preds = %while.body.371 - %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 - br label %if.merge.374 - -if.merge.374: ; preds = %if.then.373, %while.body.371 - %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.370 -} - -; 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.696, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.375 - -while.hdr.375: ; preds = %if.merge.379, %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.376, label %while.exit.377 - -while.body.376: ; preds = %while.hdr.375 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.378, label %if.merge.379 - -while.exit.377: ; preds = %while.hdr.375 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 1 }) - ret { ptr, i64 } %call - -if.then.378: ; preds = %while.body.376 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.379 - -if.merge.379: ; preds = %if.then.378, %while.body.376 - %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.375 -} - -; 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.699, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.380 - -while.hdr.380: ; preds = %if.merge.384, %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.381, label %while.exit.382 - -while.body.381: ; preds = %while.hdr.380 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.383, label %if.merge.384 - -while.exit.382: ; preds = %while.hdr.380 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 1 }) - ret { ptr, i64 } %call - -if.then.383: ; preds = %while.body.381 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.701, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.384 - -if.merge.384: ; preds = %if.then.383, %while.body.381 - %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 80, 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.380 -} - -; 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.702, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.385 - -while.hdr.385: ; preds = %if.merge.389, %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.386, label %while.exit.387 - -while.body.386: ; preds = %while.hdr.385 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.388, label %if.merge.389 - -while.exit.387: ; preds = %while.hdr.385 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, i64 1 }) - ret { ptr, i64 } %call - -if.then.388: ; preds = %while.body.386 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.389 - -if.merge.389: ; preds = %if.then.388, %while.body.386 - %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 82, 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.385 -} - -; 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, i64 }, align 8 - store { ptr, i64 } %1, ptr %alloca, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.705, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.390 - -while.hdr.390: ; preds = %if.merge.394, %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.391, label %while.exit.392 - -while.body.391: ; preds = %while.hdr.390 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.393, label %if.merge.394 - -while.exit.392: ; preds = %while.hdr.390 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) - ret { ptr, i64 } %call - -if.then.393: ; preds = %while.body.391 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.394 - -if.merge.394: ; preds = %if.then.393, %while.body.391 - %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, i64 }, ptr %ig.data, i64 %loadN - %ig.val = load { i32, i64, i1, i1, i1, i1, i64 }, ptr %ig.ptr, align 8 - store { i32, i64, 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 104, 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.390 -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @slice_to_string__Greeter(ptr %0, { ptr, i64 } %1) #0 { -entry: - %alloca = alloca { ptr, i64 }, align 8 - %ba.tmp = alloca { ptr, ptr }, align 8 - store { ptr, i64 } %1, ptr %alloca, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.708, i64 1 }, ptr %allocaN, align 8 - %allocaN = alloca i64, align 8 - store i64 0, ptr %allocaN, align 8 - br label %while.hdr.395 - -while.hdr.395: ; preds = %if.merge.399, %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.396, label %while.exit.397 - -while.body.396: ; preds = %while.hdr.395 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.398, label %if.merge.399 - -while.exit.397: ; preds = %while.hdr.395 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 1 }) - ret { ptr, i64 } %call - -if.then.398: ; preds = %while.body.396 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.399 - -if.merge.399: ; preds = %if.then.398, %while.body.396 - %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, ptr }, ptr %ig.data, i64 %loadN - %ig.val = load { ptr, ptr }, ptr %ig.ptr, align 8 - store { ptr, ptr } %ig.val, ptr %ba.tmp, align 8 - %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 110, 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.395 -} - -; 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.711, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.777, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.400 @@ -7902,16 +8374,338 @@ while.body.401: ; preds = %while.hdr.400 while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, i64 1 }) ret { ptr, i64 } %call if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.404 if.merge.404: ; preds = %if.then.403, %while.body.401 + %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.400 +} + +; 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.780, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.405 + +while.hdr.405: ; preds = %if.merge.409, %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.406, label %while.exit.407 + +while.body.406: ; preds = %while.hdr.405 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.408, label %if.merge.409 + +while.exit.407: ; preds = %while.hdr.405 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.781, i64 1 }) + ret { ptr, i64 } %call + +if.then.408: ; preds = %while.body.406 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.782, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.409 + +if.merge.409: ; preds = %if.then.408, %while.body.406 + %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.405 +} + +; 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.783, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.410 + +while.hdr.410: ; preds = %if.merge.414, %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.411, label %while.exit.412 + +while.body.411: ; preds = %while.hdr.410 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.413, label %if.merge.414 + +while.exit.412: ; preds = %while.hdr.410 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.784, i64 1 }) + ret { ptr, i64 } %call + +if.then.413: ; preds = %while.body.411 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.414 + +if.merge.414: ; preds = %if.then.413, %while.body.411 + %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 80, 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.410 +} + +; 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.786, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.415 + +while.hdr.415: ; preds = %if.merge.419, %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.416, label %while.exit.417 + +while.body.416: ; preds = %while.hdr.415 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.418, label %if.merge.419 + +while.exit.417: ; preds = %while.hdr.415 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.787, i64 1 }) + ret { ptr, i64 } %call + +if.then.418: ; preds = %while.body.416 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.419 + +if.merge.419: ; preds = %if.then.418, %while.body.416 + %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 82, 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.415 +} + +; 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, i64 }, align 8 + store { ptr, i64 } %1, ptr %alloca, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + store { ptr, i64 } { ptr @str.789, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.420 + +while.hdr.420: ; preds = %if.merge.424, %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.421, label %while.exit.422 + +while.body.421: ; preds = %while.hdr.420 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.423, label %if.merge.424 + +while.exit.422: ; preds = %while.hdr.420 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, i64 1 }) + ret { ptr, i64 } %call + +if.then.423: ; preds = %while.body.421 + %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.424 + +if.merge.424: ; preds = %if.then.423, %while.body.421 + %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, i64 }, ptr %ig.data, i64 %loadN + %ig.val = load { i32, i64, i1, i1, i1, i1, i64 }, ptr %ig.ptr, align 8 + store { i32, i64, 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 104, 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.420 +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @slice_to_string__Greeter(ptr %0, { ptr, i64 } %1) #0 { +entry: + %alloca = alloca { ptr, i64 }, align 8 + %ba.tmp = alloca { ptr, ptr }, align 8 + store { ptr, i64 } %1, ptr %alloca, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + store { ptr, i64 } { ptr @str.792, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.425 + +while.hdr.425: ; preds = %if.merge.429, %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.426, label %while.exit.427 + +while.body.426: ; preds = %while.hdr.425 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.428, label %if.merge.429 + +while.exit.427: ; preds = %while.hdr.425 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 1 }) + ret { ptr, i64 } %call + +if.then.428: ; preds = %while.body.426 + %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 + br label %if.merge.429 + +if.merge.429: ; preds = %if.then.428, %while.body.426 + %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, ptr }, ptr %ig.data, i64 %loadN + %ig.val = load { ptr, ptr }, ptr %ig.ptr, align 8 + store { ptr, ptr } %ig.val, ptr %ba.tmp, align 8 + %ba.p2i = ptrtoint ptr %ba.tmp to i64 + %ba.val = insertvalue { i64, i64 } { i64 122, 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.425 +} + +; 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.795, i64 1 }, ptr %allocaN, align 8 + %allocaN = alloca i64, align 8 + store i64 0, ptr %allocaN, align 8 + br label %while.hdr.430 + +while.hdr.430: ; preds = %if.merge.434, %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.431, label %while.exit.432 + +while.body.431: ; preds = %while.hdr.430 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.433, label %if.merge.434 + +while.exit.432: ; preds = %while.hdr.430 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.796, i64 1 }) + ret { ptr, i64 } %call + +if.then.433: ; preds = %while.body.431 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.434 + +if.merge.434: ; preds = %if.then.433, %while.body.431 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7927,206 +8721,11 @@ if.merge.404: ; preds = %if.then.403, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.400 + br label %while.hdr.430 } ; 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.446, label %if.else.447 - -if.then.446: ; preds = %entry - br label %if.merge.448 - -if.else.447: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.448 - -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] - 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.462, label %if.else.463 - -if.then.462: ; preds = %entry - br label %if.merge.464 - -if.else.463: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.464 - -if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] - 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.465, label %if.else.466 - -if.then.465: ; preds = %entry - br label %if.merge.467 - -if.else.466: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.467 - -if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] - 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.468, label %if.else.469 - -if.then.468: ; preds = %entry - br label %if.merge.470 - -if.else.469: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.470 - -if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] - 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.471, label %if.else.472 - -if.then.471: ; preds = %entry - br label %if.merge.473 - -if.else.472: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.473 - -if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] - ret { ptr, i64 } %bp -} - -; 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.474, label %if.else.475 - -if.then.474: ; preds = %entry - br label %if.merge.476 - -if.else.475: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.476 - -if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] - 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.477, label %if.else.478 - -if.then.477: ; preds = %entry - br label %if.merge.479 - -if.else.478: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.479 - -if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] - 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 @@ -8144,12 +8743,207 @@ if.then.480: ; preds = %entry if.else.481: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 5 }, { ptr, i64 } %callN) br label %if.merge.482 if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + 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.496, label %if.else.497 + +if.then.496: ; preds = %entry + br label %if.merge.498 + +if.else.497: ; 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.803, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.498 + +if.merge.498: ; preds = %if.else.497, %if.then.496 + %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] + 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.499, label %if.else.500 + +if.then.499: ; preds = %entry + br label %if.merge.501 + +if.else.500: ; 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.806, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.501 + +if.merge.501: ; preds = %if.else.500, %if.then.499 + %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] + 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.502, label %if.else.503 + +if.then.502: ; preds = %entry + br label %if.merge.504 + +if.else.503: ; 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.809, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.504 + +if.merge.504: ; preds = %if.else.503, %if.then.502 + %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] + 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.505, label %if.else.506 + +if.then.505: ; preds = %entry + br label %if.merge.507 + +if.else.506: ; 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.812, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.507 + +if.merge.507: ; preds = %if.else.506, %if.then.505 + %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + ret { ptr, i64 } %bp +} + +; 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.508, label %if.else.509 + +if.then.508: ; preds = %entry + br label %if.merge.510 + +if.else.509: ; 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.815, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.510 + +if.merge.510: ; preds = %if.else.509, %if.then.508 + %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] + 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.511, label %if.else.512 + +if.then.511: ; preds = %entry + br label %if.merge.513 + +if.else.512: ; 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.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.513 + +if.merge.513: ; preds = %if.else.512, %if.then.511 + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] + 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.514, label %if.else.515 + +if.then.514: ; preds = %entry + br label %if.merge.516 + +if.else.515: ; 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.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.516 + +if.merge.516: ; preds = %if.else.515, %if.then.514 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] ret { ptr, i64 } %bp } @@ -8164,20 +8958,20 @@ entry: 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.483, label %if.else.484 + br i1 %icmp, label %if.then.517, label %if.else.518 -if.then.483: ; preds = %entry - br label %if.merge.485 +if.then.517: ; preds = %entry + br label %if.merge.519 -if.else.484: ; preds = %entry +if.else.518: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.485 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.519 -if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] +if.merge.519: ; preds = %if.else.518, %if.then.517 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] ret { ptr, i64 } %bp } @@ -8192,20 +8986,20 @@ entry: 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.486, label %if.else.487 + br i1 %icmp, label %if.then.520, label %if.else.521 -if.then.486: ; preds = %entry - br label %if.merge.488 +if.then.520: ; preds = %entry + br label %if.merge.522 -if.else.487: ; preds = %entry +if.else.521: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.488 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.522 -if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] +if.merge.522: ; preds = %if.else.521, %if.then.520 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] ret { ptr, i64 } %bp } @@ -8220,20 +9014,20 @@ entry: 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.489, label %if.else.490 + br i1 %icmp, label %if.then.523, label %if.else.524 -if.then.489: ; preds = %entry - br label %if.merge.491 +if.then.523: ; preds = %entry + br label %if.merge.525 -if.else.490: ; preds = %entry +if.else.524: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.491 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.525 -if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] +if.merge.525: ; preds = %if.else.524, %if.then.523 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] ret { ptr, i64 } %bp } @@ -8248,20 +9042,20 @@ entry: 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.492, label %if.else.493 + br i1 %icmp, label %if.then.526, label %if.else.527 -if.then.492: ; preds = %entry - br label %if.merge.494 +if.then.526: ; preds = %entry + br label %if.merge.528 -if.else.493: ; preds = %entry +if.else.527: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.494 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.528 -if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] +if.merge.528: ; preds = %if.else.527, %if.then.526 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] ret { ptr, i64 } %bp } @@ -8275,20 +9069,20 @@ entry: 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.495, label %if.else.496 + br i1 %icmp, label %if.then.529, label %if.else.530 -if.then.495: ; preds = %entry - br label %if.merge.497 +if.then.529: ; preds = %entry + br label %if.merge.531 -if.else.496: ; preds = %entry +if.else.530: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.497 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.531 -if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] +if.merge.531: ; preds = %if.else.530, %if.then.529 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] ret { ptr, i64 } %bp } @@ -8303,20 +9097,20 @@ entry: 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.498, label %if.else.499 + br i1 %icmp, label %if.then.532, label %if.else.533 -if.then.498: ; preds = %entry - br label %if.merge.500 +if.then.532: ; preds = %entry + br label %if.merge.534 -if.else.499: ; preds = %entry +if.else.533: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.500 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.534 -if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] +if.merge.534: ; preds = %if.else.533, %if.then.532 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] ret { ptr, i64 } %bp } @@ -8330,20 +9124,20 @@ entry: 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.501, label %if.else.502 + br i1 %icmp, label %if.then.535, label %if.else.536 -if.then.501: ; preds = %entry - br label %if.merge.503 +if.then.535: ; preds = %entry + br label %if.merge.537 -if.else.502: ; preds = %entry +if.else.536: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.503 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.537 -if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] +if.merge.537: ; preds = %if.else.536, %if.then.535 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] ret { ptr, i64 } %bp } @@ -8358,20 +9152,20 @@ entry: 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.504, label %if.else.505 + br i1 %icmp, label %if.then.538, label %if.else.539 -if.then.504: ; preds = %entry - br label %if.merge.506 +if.then.538: ; preds = %entry + br label %if.merge.540 -if.else.505: ; preds = %entry +if.else.539: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.506 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.540 -if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] +if.merge.540: ; preds = %if.else.539, %if.then.538 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] ret { ptr, i64 } %bp } @@ -8386,20 +9180,20 @@ entry: 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.507, label %if.else.508 + br i1 %icmp, label %if.then.541, label %if.else.542 -if.then.507: ; preds = %entry - br label %if.merge.509 +if.then.541: ; preds = %entry + br label %if.merge.543 -if.else.508: ; preds = %entry +if.else.542: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.509 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.543 -if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] +if.merge.543: ; preds = %if.else.542, %if.then.541 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] ret { ptr, i64 } %bp } @@ -8414,20 +9208,20 @@ entry: 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.510, label %if.else.511 + br i1 %icmp, label %if.then.544, label %if.else.545 -if.then.510: ; preds = %entry - br label %if.merge.512 +if.then.544: ; preds = %entry + br label %if.merge.546 -if.else.511: ; preds = %entry +if.else.545: ; 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.767, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.512 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.546 -if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] +if.merge.546: ; preds = %if.else.545, %if.then.544 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] ret { ptr, i64 } %bp } @@ -8442,20 +9236,20 @@ entry: 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.513, label %if.else.514 + br i1 %icmp, label %if.then.547, label %if.else.548 -if.then.513: ; preds = %entry - br label %if.merge.515 +if.then.547: ; preds = %entry + br label %if.merge.549 -if.else.514: ; preds = %entry +if.else.548: ; 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.770, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.515 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.549 -if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] +if.merge.549: ; preds = %if.else.548, %if.then.547 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] ret { ptr, i64 } %bp } @@ -8470,20 +9264,20 @@ entry: 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.516, label %if.else.517 + br i1 %icmp, label %if.then.550, label %if.else.551 -if.then.516: ; preds = %entry - br label %if.merge.518 +if.then.550: ; preds = %entry + br label %if.merge.552 -if.else.517: ; preds = %entry +if.else.551: ; 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.773, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.518 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.552 -if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] +if.merge.552: ; preds = %if.else.551, %if.then.550 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] ret { ptr, i64 } %bp } @@ -8498,20 +9292,20 @@ entry: 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.519, label %if.else.520 + br i1 %icmp, label %if.then.553, label %if.else.554 -if.then.519: ; preds = %entry - br label %if.merge.521 +if.then.553: ; preds = %entry + br label %if.merge.555 -if.else.520: ; preds = %entry +if.else.554: ; 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.776, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.521 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.555 -if.merge.521: ; preds = %if.else.520, %if.then.519 - %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] +if.merge.555: ; preds = %if.else.554, %if.then.553 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] ret { ptr, i64 } %bp } @@ -8526,20 +9320,20 @@ entry: 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.522, label %if.else.523 + br i1 %icmp, label %if.then.556, label %if.else.557 -if.then.522: ; preds = %entry - br label %if.merge.524 +if.then.556: ; preds = %entry + br label %if.merge.558 -if.else.523: ; preds = %entry +if.else.557: ; 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.779, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.524 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.558 -if.merge.524: ; preds = %if.else.523, %if.then.522 - %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] +if.merge.558: ; preds = %if.else.557, %if.then.556 + %bp = phi { ptr, i64 } [ { ptr @str.861, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] ret { ptr, i64 } %bp } @@ -8554,20 +9348,20 @@ entry: 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.525, label %if.else.526 + br i1 %icmp, label %if.then.559, label %if.else.560 -if.then.525: ; preds = %entry - br label %if.merge.527 +if.then.559: ; preds = %entry + br label %if.merge.561 -if.else.526: ; preds = %entry +if.else.560: ; 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.782, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.527 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.561 -if.merge.527: ; preds = %if.else.526, %if.then.525 - %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] +if.merge.561: ; preds = %if.else.560, %if.then.559 + %bp = phi { ptr, i64 } [ { ptr @str.864, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] ret { ptr, i64 } %bp } @@ -8582,20 +9376,20 @@ entry: 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.528, label %if.else.529 + br i1 %icmp, label %if.then.562, label %if.else.563 -if.then.528: ; preds = %entry - br label %if.merge.530 +if.then.562: ; preds = %entry + br label %if.merge.564 -if.else.529: ; preds = %entry +if.else.563: ; 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.785, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.530 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.564 -if.merge.530: ; preds = %if.else.529, %if.then.528 - %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] +if.merge.564: ; preds = %if.else.563, %if.then.562 + %bp = phi { ptr, i64 } [ { ptr @str.867, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] ret { ptr, i64 } %bp } @@ -8610,20 +9404,20 @@ entry: 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.531, label %if.else.532 + br i1 %icmp, label %if.then.565, label %if.else.566 -if.then.531: ; preds = %entry - br label %if.merge.533 +if.then.565: ; preds = %entry + br label %if.merge.567 -if.else.532: ; preds = %entry +if.else.566: ; 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.788, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.533 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.871, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.567 -if.merge.533: ; preds = %if.else.532, %if.then.531 - %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] +if.merge.567: ; preds = %if.else.566, %if.then.565 + %bp = phi { ptr, i64 } [ { ptr @str.870, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] ret { ptr, i64 } %bp } @@ -8638,20 +9432,131 @@ entry: 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.534, label %if.else.535 + br i1 %icmp, label %if.then.568, label %if.else.569 -if.then.534: ; preds = %entry - br label %if.merge.536 +if.then.568: ; preds = %entry + br label %if.merge.570 -if.else.535: ; preds = %entry +if.else.569: ; 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.791, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.536 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.874, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.570 -if.merge.536: ; preds = %if.else.535, %if.then.534 - %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] +if.merge.570: ; preds = %if.else.569, %if.then.568 + %bp = phi { ptr, i64 } [ { ptr @str.873, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] + 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.571, label %if.else.572 + +if.then.571: ; preds = %entry + br label %if.merge.573 + +if.else.572: ; 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.878, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.877, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.573 + +if.merge.573: ; preds = %if.else.572, %if.then.571 + %bp = phi { ptr, i64 } [ { ptr @str.876, i64 4 }, %if.then.571 ], [ %callN, %if.else.572 ] + 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.574, label %if.else.575 + +if.then.574: ; preds = %entry + br label %if.merge.576 + +if.else.575: ; 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.881, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.880, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.576 + +if.merge.576: ; preds = %if.else.575, %if.then.574 + %bp = phi { ptr, i64 } [ { ptr @str.879, i64 4 }, %if.then.574 ], [ %callN, %if.else.575 ] + 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.577, label %if.else.578 + +if.then.577: ; preds = %entry + br label %if.merge.579 + +if.else.578: ; 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.884, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.883, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.579 + +if.merge.579: ; preds = %if.else.578, %if.then.577 + %bp = phi { ptr, i64 } [ { ptr @str.882, i64 4 }, %if.then.577 ], [ %callN, %if.else.578 ] + 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.580, label %if.else.581 + +if.then.580: ; preds = %entry + br label %if.merge.582 + +if.else.581: ; 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.887, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.582 + +if.merge.582: ; preds = %if.else.581, %if.then.580 + %bp = phi { ptr, i64 } [ { ptr @str.885, i64 4 }, %if.then.580 ], [ %callN, %if.else.581 ] ret { ptr, i64 } %bp } @@ -8666,20 +9571,20 @@ entry: 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.537, label %if.else.538 + br i1 %icmp, label %if.then.583, label %if.else.584 -if.then.537: ; preds = %entry - br label %if.merge.539 +if.then.583: ; preds = %entry + br label %if.merge.585 -if.else.538: ; preds = %entry +if.else.584: ; 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.794, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.539 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.889, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.585 -if.merge.539: ; preds = %if.else.538, %if.then.537 - %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] +if.merge.585: ; preds = %if.else.584, %if.then.583 + %bp = phi { ptr, i64 } [ { ptr @str.888, i64 4 }, %if.then.583 ], [ %callN, %if.else.584 ] ret { ptr, i64 } %bp } @@ -8694,20 +9599,20 @@ entry: 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.540, label %if.else.541 + br i1 %icmp, label %if.then.586, label %if.else.587 -if.then.540: ; preds = %entry - br label %if.merge.542 +if.then.586: ; preds = %entry + br label %if.merge.588 -if.else.541: ; preds = %entry +if.else.587: ; 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.797, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.542 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.892, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.588 -if.merge.542: ; preds = %if.else.541, %if.then.540 - %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] +if.merge.588: ; preds = %if.else.587, %if.then.586 + %bp = phi { ptr, i64 } [ { ptr @str.891, i64 4 }, %if.then.586 ], [ %callN, %if.else.587 ] ret { ptr, i64 } %bp } @@ -8722,20 +9627,20 @@ entry: 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.543, label %if.else.544 + br i1 %icmp, label %if.then.589, label %if.else.590 -if.then.543: ; preds = %entry - br label %if.merge.545 +if.then.589: ; preds = %entry + br label %if.merge.591 -if.else.544: ; preds = %entry +if.else.590: ; 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.800, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.545 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.895, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.591 -if.merge.545: ; preds = %if.else.544, %if.then.543 - %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] +if.merge.591: ; preds = %if.else.590, %if.then.589 + %bp = phi { ptr, i64 } [ { ptr @str.894, i64 4 }, %if.then.589 ], [ %callN, %if.else.590 ] ret { ptr, i64 } %bp } @@ -8750,20 +9655,20 @@ entry: 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.546, label %if.else.547 + br i1 %icmp, label %if.then.592, label %if.else.593 -if.then.546: ; preds = %entry - br label %if.merge.548 +if.then.592: ; preds = %entry + br label %if.merge.594 -if.else.547: ; preds = %entry +if.else.593: ; 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.803, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.548 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.898, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.594 -if.merge.548: ; preds = %if.else.547, %if.then.546 - %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] +if.merge.594: ; preds = %if.else.593, %if.then.592 + %bp = phi { ptr, i64 } [ { ptr @str.897, i64 4 }, %if.then.592 ], [ %callN, %if.else.593 ] ret { ptr, i64 } %bp } @@ -8778,20 +9683,20 @@ entry: 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.549, label %if.else.550 + br i1 %icmp, label %if.then.595, label %if.else.596 -if.then.549: ; preds = %entry - br label %if.merge.551 +if.then.595: ; preds = %entry + br label %if.merge.597 -if.else.550: ; preds = %entry +if.else.596: ; 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.806, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.551 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.901, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.597 -if.merge.551: ; preds = %if.else.550, %if.then.549 - %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] +if.merge.597: ; preds = %if.else.596, %if.then.595 + %bp = phi { ptr, i64 } [ { ptr @str.900, i64 4 }, %if.then.595 ], [ %callN, %if.else.596 ] ret { ptr, i64 } %bp } @@ -8806,20 +9711,20 @@ entry: 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.552, label %if.else.553 + br i1 %icmp, label %if.then.598, label %if.else.599 -if.then.552: ; preds = %entry - br label %if.merge.554 +if.then.598: ; preds = %entry + br label %if.merge.600 -if.else.553: ; preds = %entry +if.else.599: ; 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.809, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.554 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.905, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.904, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.600 -if.merge.554: ; preds = %if.else.553, %if.then.552 - %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] +if.merge.600: ; preds = %if.else.599, %if.then.598 + %bp = phi { ptr, i64 } [ { ptr @str.903, i64 4 }, %if.then.598 ], [ %callN, %if.else.599 ] ret { ptr, i64 } %bp } @@ -8834,20 +9739,20 @@ entry: 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.555, label %if.else.556 + br i1 %icmp, label %if.then.601, label %if.else.602 -if.then.555: ; preds = %entry - br label %if.merge.557 +if.then.601: ; preds = %entry + br label %if.merge.603 -if.else.556: ; preds = %entry +if.else.602: ; 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.812, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.557 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.907, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.603 -if.merge.557: ; preds = %if.else.556, %if.then.555 - %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] +if.merge.603: ; preds = %if.else.602, %if.then.601 + %bp = phi { ptr, i64 } [ { ptr @str.906, i64 4 }, %if.then.601 ], [ %callN, %if.else.602 ] ret { ptr, i64 } %bp } @@ -8862,20 +9767,20 @@ entry: 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.558, label %if.else.559 + br i1 %icmp, label %if.then.604, label %if.else.605 -if.then.558: ; preds = %entry - br label %if.merge.560 +if.then.604: ; preds = %entry + br label %if.merge.606 -if.else.559: ; preds = %entry +if.else.605: ; 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.815, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.560 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.606 -if.merge.560: ; preds = %if.else.559, %if.then.558 - %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] +if.merge.606: ; preds = %if.else.605, %if.then.604 + %bp = phi { ptr, i64 } [ { ptr @str.909, i64 4 }, %if.then.604 ], [ %callN, %if.else.605 ] ret { ptr, i64 } %bp } @@ -8890,20 +9795,20 @@ entry: 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.561, label %if.else.562 + br i1 %icmp, label %if.then.607, label %if.else.608 -if.then.561: ; preds = %entry - br label %if.merge.563 +if.then.607: ; preds = %entry + br label %if.merge.609 -if.else.562: ; preds = %entry +if.else.608: ; 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.818, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.563 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.913, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.609 -if.merge.563: ; preds = %if.else.562, %if.then.561 - %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] +if.merge.609: ; preds = %if.else.608, %if.then.607 + %bp = phi { ptr, i64 } [ { ptr @str.912, i64 4 }, %if.then.607 ], [ %callN, %if.else.608 ] ret { ptr, i64 } %bp } @@ -8918,20 +9823,20 @@ entry: 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.564, label %if.else.565 + br i1 %icmp, label %if.then.610, label %if.else.611 -if.then.564: ; preds = %entry - br label %if.merge.566 +if.then.610: ; preds = %entry + br label %if.merge.612 -if.else.565: ; preds = %entry +if.else.611: ; 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.821, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.566 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.916, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.612 -if.merge.566: ; preds = %if.else.565, %if.then.564 - %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] +if.merge.612: ; preds = %if.else.611, %if.then.610 + %bp = phi { ptr, i64 } [ { ptr @str.915, i64 4 }, %if.then.610 ], [ %callN, %if.else.611 ] ret { ptr, i64 } %bp } @@ -8946,20 +9851,20 @@ entry: 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.567, label %if.else.568 + br i1 %icmp, label %if.then.613, label %if.else.614 -if.then.567: ; preds = %entry - br label %if.merge.569 +if.then.613: ; preds = %entry + br label %if.merge.615 -if.else.568: ; preds = %entry +if.else.614: ; 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.824, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.569 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.919, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.615 -if.merge.569: ; preds = %if.else.568, %if.then.567 - %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] +if.merge.615: ; preds = %if.else.614, %if.then.613 + %bp = phi { ptr, i64 } [ { ptr @str.918, i64 4 }, %if.then.613 ], [ %callN, %if.else.614 ] ret { ptr, i64 } %bp } @@ -8974,20 +9879,20 @@ entry: 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.570, label %if.else.571 + br i1 %icmp, label %if.then.616, label %if.else.617 -if.then.570: ; preds = %entry - br label %if.merge.572 +if.then.616: ; preds = %entry + br label %if.merge.618 -if.else.571: ; preds = %entry +if.else.617: ; 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.827, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.572 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.922, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.618 -if.merge.572: ; preds = %if.else.571, %if.then.570 - %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] +if.merge.618: ; preds = %if.else.617, %if.then.616 + %bp = phi { ptr, i64 } [ { ptr @str.921, i64 4 }, %if.then.616 ], [ %callN, %if.else.617 ] ret { ptr, i64 } %bp } @@ -9002,20 +9907,20 @@ entry: 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.573, label %if.else.574 + br i1 %icmp, label %if.then.619, label %if.else.620 -if.then.573: ; preds = %entry - br label %if.merge.575 +if.then.619: ; preds = %entry + br label %if.merge.621 -if.else.574: ; preds = %entry +if.else.620: ; 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.830, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.575 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.621 -if.merge.575: ; preds = %if.else.574, %if.then.573 - %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] +if.merge.621: ; preds = %if.else.620, %if.then.619 + %bp = phi { ptr, i64 } [ { ptr @str.924, i64 4 }, %if.then.619 ], [ %callN, %if.else.620 ] ret { ptr, i64 } %bp } @@ -9028,12 +9933,12 @@ entry: %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.583, label %if.merge.584 + br i1 %lnot, label %if.then.629, label %if.merge.630 -if.then.583: ; preds = %entry - ret { ptr, i64 } { ptr @str.831, i64 4 } +if.then.629: ; preds = %entry + ret { ptr, i64 } { ptr @str.927, i64 4 } -if.merge.584: ; preds = %entry +if.merge.630: ; 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 @@ -9052,12 +9957,12 @@ entry: %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.585, label %if.merge.586 + br i1 %lnot, label %if.then.631, label %if.merge.632 -if.then.585: ; preds = %entry - ret { ptr, i64 } { ptr @str.832, i64 4 } +if.then.631: ; preds = %entry + ret { ptr, i64 } { ptr @str.928, i64 4 } -if.merge.586: ; preds = %entry +if.merge.632: ; 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 @@ -9075,12 +9980,12 @@ entry: %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.587, label %if.merge.588 + br i1 %lnot, label %if.then.633, label %if.merge.634 -if.then.587: ; preds = %entry - ret { ptr, i64 } { ptr @str.833, i64 4 } +if.then.633: ; preds = %entry + ret { ptr, i64 } { ptr @str.929, i64 4 } -if.merge.588: ; preds = %entry +if.merge.634: ; 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 @@ -9097,12 +10002,12 @@ entry: %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.589, label %if.merge.590 + br i1 %lnot, label %if.then.635, label %if.merge.636 -if.then.589: ; preds = %entry - ret { ptr, i64 } { ptr @str.834, i64 4 } +if.then.635: ; preds = %entry + ret { ptr, i64 } { ptr @str.930, i64 4 } -if.merge.590: ; preds = %entry +if.merge.636: ; 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 @@ -9121,12 +10026,12 @@ entry: %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.591, label %if.merge.592 + br i1 %lnot, label %if.then.637, label %if.merge.638 -if.then.591: ; preds = %entry - ret { ptr, i64 } { ptr @str.835, i64 4 } +if.then.637: ; preds = %entry + ret { ptr, i64 } { ptr @str.931, i64 4 } -if.merge.592: ; preds = %entry +if.merge.638: ; 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 diff --git a/examples/expected/0903-optionals-optional-roundtrip.ir b/examples/expected/0903-optionals-optional-roundtrip.ir index 136e04e..3226d3a 100644 --- a/examples/expected/0903-optionals-optional-roundtrip.ir +++ b/examples/expected/0903-optionals-optional-roundtrip.ir @@ -8,7 +8,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [202 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] +@__sx_type_is_unsigned = private constant [220 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -29,502 +29,502 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [5 x i8] c"?f32\00" -@tn.str.212 = private constant [13 x i8] c"ProposedSize\00" -@tn.str.213 = private constant [8 x i8] c"Sizable\00" -@tn.str.214 = private constant [18 x i8] c"__Sizable__Vtable\00" -@tn.str.215 = private constant [7 x i8] c"Widget\00" -@tn.str.216 = private constant [8 x i8] c"*Widget\00" -@tn.str.217 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.218 = private constant [7 x i8] c"**void\00" -@tn.str.219 = private constant [8 x i8] c"*string\00" -@tn.str.220 = private constant [6 x i8] c"[]Any\00" -@tn.str.221 = private constant [5 x i8] c"*Any\00" -@tn.str.222 = private constant [7 x i8] c"*[]Any\00" -@tn.str.223 = private constant [4 x i8] c"*u8\00" -@tn.str.224 = private constant [6 x i8] c"*bool\00" -@tn.str.225 = private constant [14 x i8] c"*ProposedSize\00" -@tn.str.226 = private constant [5 x i8] c"*f32\00" -@tn.str.227 = private constant [5 x i8] c"*f64\00" -@tn.str.228 = private constant [7 x i8] c"[1]Any\00" -@tn.str.229 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.230 = private constant [9 x i8] c"*Sizable\00" -@tn.str.231 = private constant [9 x i8] c"**Widget\00" -@tn.str.232 = private constant [19 x i8] c"*__Sizable__Vtable\00" -@tn.str.233 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.234 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.235 = private constant [11 x i8] c"*Allocator\00" -@tn.str.236 = private constant [9 x i8] c"*Context\00" -@tn.str.237 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.238 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.239 = private constant [8 x i8] c"*Member\00" -@tn.str.240 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.241 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.242 = private constant [9 x i8] c"*Command\00" -@tn.str.243 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.244 = private constant [7 x i8] c"*Event\00" -@tn.str.245 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.246 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.247 = private constant [7 x i8] c"*Value\00" -@tn.str.248 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.249 = private constant [14 x i8] c"*Architecture\00" -@tn.str.250 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.251 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.252 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.253 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.254 = private constant [10 x i8] c"*[]string\00" -@tn.str.255 = private constant [6 x i8] c"*[]u8\00" -@tn.str.256 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.257 = private constant [11 x i8] c"*[]Command\00" -@tn.str.258 = private constant [9 x i8] c"*[]Event\00" -@tn.str.259 = private constant [6 x i8] c"**GPA\00" -@tn.str.260 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.261 = private constant [8 x i8] c"**Arena\00" -@tn.str.262 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.263 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.264 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.265 = private constant [7 x i8] c"**File\00" -@tn.str.266 = private constant [6 x i8] c"**i32\00" -@tn.str.267 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.268 = private constant [6 x i8] c"**u32\00" -@tn.str.269 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.270 = private constant [8 x i8] c"**Array\00" -@tn.str.271 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.272 = private constant [9 x i8] c"**Object\00" -@tn.str.273 = private constant [7 x i8] c"**Sink\00" -@tn.str.274 = private constant [9 x i8] c"**Parser\00" -@tn.str.275 = private constant [6 x i8] c"**i64\00" -@tn.str.276 = private constant [9 x i8] c"**Parsed\00" -@tn.str.277 = private constant [7 x i8] c"**Diag\00" -@tn.str.278 = private constant [9 x i8] c"**Sha256\00" -@tn.str.279 = private constant [11 x i8] c"**Timespec\00" -@tn.str.280 = private constant [9 x i8] c"**Kevent\00" -@tn.str.281 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.282 = private constant [7 x i8] c"**Loop\00" -@tn.str.283 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.284 = private constant [8 x i8] c"***void\00" -@tn.str.285 = private constant [9 x i8] c"**string\00" -@tn.str.286 = private constant [6 x i8] c"**Any\00" -@tn.str.287 = private constant [8 x i8] c"**[]Any\00" -@tn.str.288 = private constant [5 x i8] c"**u8\00" -@tn.str.289 = private constant [7 x i8] c"**bool\00" -@tn.str.290 = private constant [15 x i8] c"**ProposedSize\00" -@tn.str.291 = private constant [6 x i8] c"**f32\00" -@tn.str.292 = private constant [6 x i8] c"**f64\00" -@tn.str.293 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.294 = private constant [10 x i8] c"**Sizable\00" -@tn.str.295 = private constant [10 x i8] c"***Widget\00" -@tn.str.296 = private constant [20 x i8] c"**__Sizable__Vtable\00" -@tn.str.297 = private constant [7 x i8] c"*?File\00" -@tn.str.298 = private constant [9 x i8] c"*?string\00" -@tn.str.299 = private constant [10 x i8] c"*?cstring\00" -@tn.str.300 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.301 = private constant [9 x i8] c"*?[64]u8\00" -@tn.str.302 = private constant [6 x i8] c"*?f32\00" -@__sx_type_names = private constant [202 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 12 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 17 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 12 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 3 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 13 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 4 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 8 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 18 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 16 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 11 }, { ptr, i64 } { ptr @tn.str.238, i64 14 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 13 }, { ptr, i64 } { ptr @tn.str.241, i64 9 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 10 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 16 }, { ptr, i64 } { ptr @tn.str.249, i64 13 }, { ptr, i64 } { ptr @tn.str.250, i64 14 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { 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 10 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 12 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 6 }, { ptr, i64 } { ptr @tn.str.263, i64 10 }, { ptr, i64 } { ptr @tn.str.264, i64 19 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 10 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 9 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 10 }, { ptr, i64 } { ptr @tn.str.272, i64 8 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 8 }, { ptr, i64 } { ptr @tn.str.279, i64 10 }, { ptr, i64 } { ptr @tn.str.280, i64 8 }, { ptr, i64 } { ptr @tn.str.281, i64 12 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 13 }, { ptr, i64 } { ptr @tn.str.284, i64 7 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 5 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 4 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 14 }, { ptr, i64 } { ptr @tn.str.291, i64 5 }, { ptr, i64 } { ptr @tn.str.292, i64 5 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 9 }, { ptr, i64 } { ptr @tn.str.295, i64 9 }, { ptr, i64 } { ptr @tn.str.296, i64 19 }, { ptr, i64 } { ptr @tn.str.297, i64 6 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 9 }, { ptr, i64 } { ptr @tn.str.300, i64 15 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 5 }] -@str.303 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.304 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.305 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.308 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.309 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.310 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.312 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.313 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.314 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.315 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.316 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.317 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.318 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.320 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.321 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.323 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.324 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [5 x i8] c"?f32\00" +@tn.str.226 = private constant [13 x i8] c"ProposedSize\00" +@tn.str.227 = private constant [8 x i8] c"Sizable\00" +@tn.str.228 = private constant [18 x i8] c"__Sizable__Vtable\00" +@tn.str.229 = private constant [7 x i8] c"Widget\00" +@tn.str.230 = private constant [8 x i8] c"*Widget\00" +@tn.str.231 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.232 = private constant [7 x i8] c"**void\00" +@tn.str.233 = private constant [8 x i8] c"*string\00" +@tn.str.234 = private constant [6 x i8] c"[]Any\00" +@tn.str.235 = private constant [5 x i8] c"*Any\00" +@tn.str.236 = private constant [7 x i8] c"*[]Any\00" +@tn.str.237 = private constant [4 x i8] c"*u8\00" +@tn.str.238 = private constant [6 x i8] c"*bool\00" +@tn.str.239 = private constant [14 x i8] c"*ProposedSize\00" +@tn.str.240 = private constant [5 x i8] c"*f32\00" +@tn.str.241 = private constant [5 x i8] c"*f64\00" +@tn.str.242 = private constant [7 x i8] c"[1]Any\00" +@tn.str.243 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.244 = private constant [9 x i8] c"*Sizable\00" +@tn.str.245 = private constant [9 x i8] c"**Widget\00" +@tn.str.246 = private constant [19 x i8] c"*__Sizable__Vtable\00" +@tn.str.247 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.248 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.249 = private constant [11 x i8] c"*Allocator\00" +@tn.str.250 = private constant [9 x i8] c"*Context\00" +@tn.str.251 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.252 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.253 = private constant [8 x i8] c"*Member\00" +@tn.str.254 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.255 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.256 = private constant [9 x i8] c"*Command\00" +@tn.str.257 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.258 = private constant [7 x i8] c"*Event\00" +@tn.str.259 = private constant [8 x i8] c"*Config\00" +@tn.str.260 = private constant [6 x i8] c"*Conn\00" +@tn.str.261 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.262 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.263 = private constant [7 x i8] c"*Value\00" +@tn.str.264 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.265 = private constant [14 x i8] c"*Architecture\00" +@tn.str.266 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.267 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.268 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.269 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.270 = private constant [10 x i8] c"*[]string\00" +@tn.str.271 = private constant [6 x i8] c"*[]u8\00" +@tn.str.272 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.273 = private constant [11 x i8] c"*[]Command\00" +@tn.str.274 = private constant [9 x i8] c"*[]Event\00" +@tn.str.275 = private constant [6 x i8] c"**GPA\00" +@tn.str.276 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.277 = private constant [8 x i8] c"**Arena\00" +@tn.str.278 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.279 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.280 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.281 = private constant [7 x i8] c"**File\00" +@tn.str.282 = private constant [6 x i8] c"**i32\00" +@tn.str.283 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.284 = private constant [6 x i8] c"**u32\00" +@tn.str.285 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.286 = private constant [8 x i8] c"**Array\00" +@tn.str.287 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.288 = private constant [9 x i8] c"**Object\00" +@tn.str.289 = private constant [7 x i8] c"**Sink\00" +@tn.str.290 = private constant [9 x i8] c"**Parser\00" +@tn.str.291 = private constant [6 x i8] c"**i64\00" +@tn.str.292 = private constant [9 x i8] c"**Parsed\00" +@tn.str.293 = private constant [7 x i8] c"**Diag\00" +@tn.str.294 = private constant [9 x i8] c"**Sha256\00" +@tn.str.295 = private constant [11 x i8] c"**Timespec\00" +@tn.str.296 = private constant [9 x i8] c"**Kevent\00" +@tn.str.297 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.298 = private constant [7 x i8] c"**Loop\00" +@tn.str.299 = private constant [10 x i8] c"**Request\00" +@tn.str.300 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.301 = private constant [11 x i8] c"**Response\00" +@tn.str.302 = private constant [9 x i8] c"**Server\00" +@tn.str.303 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.304 = private constant [8 x i8] c"***void\00" +@tn.str.305 = private constant [9 x i8] c"**string\00" +@tn.str.306 = private constant [6 x i8] c"**Any\00" +@tn.str.307 = private constant [8 x i8] c"**[]Any\00" +@tn.str.308 = private constant [5 x i8] c"**u8\00" +@tn.str.309 = private constant [7 x i8] c"**bool\00" +@tn.str.310 = private constant [15 x i8] c"**ProposedSize\00" +@tn.str.311 = private constant [6 x i8] c"**f32\00" +@tn.str.312 = private constant [6 x i8] c"**f64\00" +@tn.str.313 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.314 = private constant [10 x i8] c"**Sizable\00" +@tn.str.315 = private constant [10 x i8] c"***Widget\00" +@tn.str.316 = private constant [20 x i8] c"**__Sizable__Vtable\00" +@tn.str.317 = private constant [7 x i8] c"*?File\00" +@tn.str.318 = private constant [9 x i8] c"*?string\00" +@tn.str.319 = private constant [10 x i8] c"*?cstring\00" +@tn.str.320 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.321 = private constant [9 x i8] c"*?[64]u8\00" +@tn.str.322 = private constant [6 x i8] c"*?f32\00" +@__sx_type_names = private constant [220 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 4 }, { ptr, i64 } { ptr @tn.str.226, i64 12 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 17 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 12 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 3 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 13 }, { ptr, i64 } { ptr @tn.str.240, i64 4 }, { ptr, i64 } { ptr @tn.str.241, i64 4 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 18 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 16 }, { ptr, i64 } { ptr @tn.str.249, i64 10 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 11 }, { ptr, i64 } { ptr @tn.str.252, i64 14 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 13 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 10 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 9 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 16 }, { ptr, i64 } { ptr @tn.str.265, i64 13 }, { ptr, i64 } { ptr @tn.str.266, i64 14 }, { ptr, i64 } { ptr @tn.str.267, i64 7 }, { ptr, i64 } { ptr @tn.str.268, i64 7 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 9 }, { ptr, i64 } { ptr @tn.str.271, i64 5 }, { ptr, i64 } { ptr @tn.str.272, i64 11 }, { ptr, i64 } { ptr @tn.str.273, i64 10 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 12 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 6 }, { ptr, i64 } { ptr @tn.str.279, i64 10 }, { ptr, i64 } { ptr @tn.str.280, i64 19 }, { ptr, i64 } { ptr @tn.str.281, i64 6 }, { ptr, i64 } { ptr @tn.str.282, i64 5 }, { ptr, i64 } { ptr @tn.str.283, i64 10 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 9 }, { ptr, i64 } { ptr @tn.str.286, i64 7 }, { ptr, i64 } { ptr @tn.str.287, i64 10 }, { ptr, i64 } { ptr @tn.str.288, i64 8 }, { ptr, i64 } { ptr @tn.str.289, i64 6 }, { ptr, i64 } { ptr @tn.str.290, i64 8 }, { ptr, i64 } { ptr @tn.str.291, i64 5 }, { ptr, i64 } { ptr @tn.str.292, i64 8 }, { ptr, i64 } { ptr @tn.str.293, i64 6 }, { ptr, i64 } { ptr @tn.str.294, i64 8 }, { ptr, i64 } { ptr @tn.str.295, i64 10 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 12 }, { ptr, i64 } { ptr @tn.str.298, i64 6 }, { ptr, i64 } { ptr @tn.str.299, i64 9 }, { ptr, i64 } { ptr @tn.str.300, i64 8 }, { ptr, i64 } { ptr @tn.str.301, i64 10 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 13 }, { ptr, i64 } { ptr @tn.str.304, i64 7 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 5 }, { ptr, i64 } { ptr @tn.str.307, i64 7 }, { ptr, i64 } { ptr @tn.str.308, i64 4 }, { ptr, i64 } { ptr @tn.str.309, i64 6 }, { ptr, i64 } { ptr @tn.str.310, i64 14 }, { ptr, i64 } { ptr @tn.str.311, i64 5 }, { ptr, i64 } { ptr @tn.str.312, i64 5 }, { ptr, i64 } { ptr @tn.str.313, i64 8 }, { ptr, i64 } { ptr @tn.str.314, i64 9 }, { ptr, i64 } { ptr @tn.str.315, i64 9 }, { ptr, i64 } { ptr @tn.str.316, i64 19 }, { ptr, i64 } { ptr @tn.str.317, i64 6 }, { ptr, i64 } { ptr @tn.str.318, i64 8 }, { ptr, i64 } { ptr @tn.str.319, i64 9 }, { ptr, i64 } { ptr @tn.str.320, i64 15 }, { ptr, i64 } { ptr @tn.str.321, i64 8 }, { ptr, i64 } { ptr @tn.str.322, i64 5 }] +@str.323 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.324 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.325 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.326 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 -@str.327 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 +@str.326 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.327 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.328 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.329 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 -@str.330 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 -@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.332 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 -@str.333 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 -@str.334 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.335 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 -@str.336 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 -@str.337 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.338 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 -@str.339 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 -@str.340 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.341 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 -@str.342 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 -@str.343 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.344 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 -@str.345 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 -@str.346 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.347 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 -@str.348 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 -@str.349 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.350 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 -@str.351 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 -@str.352 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.353 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 -@str.354 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.355 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.356 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.329 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.330 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.332 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.333 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.334 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.335 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.336 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.337 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.338 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.339 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.340 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.341 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.342 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.343 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.344 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 +@str.345 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.346 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 +@str.347 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 +@str.348 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.349 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 +@str.350 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 +@str.351 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.352 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 +@str.353 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 +@str.354 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.355 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 +@str.356 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 +@str.357 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.358 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 +@str.359 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 +@str.360 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.361 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 +@str.362 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 +@str.363 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.364 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 +@str.365 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 +@str.366 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.367 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 +@str.368 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 +@str.369 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.370 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 +@str.371 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 +@str.372 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.373 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 +@str.374 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.375 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.376 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.377 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.358 = private constant [5 x i8] c"line\00" -@fld.str.359 = private constant [4 x i8] c"col\00" -@fld.str.360 = 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.358, i64 4 }, { ptr, i64 } { ptr @fld.str.359, i64 3 }, { ptr, i64 } { ptr @fld.str.360, i64 4 }] -@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.362 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.363 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.364 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.365 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.366 = private constant [4 x i8] c"ctx\00" -@fld.str.367 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.368 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.369 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.366, i64 3 }, { ptr, i64 } { ptr @fld.str.367, i64 11 }, { ptr, i64 } { ptr @fld.str.368, i64 13 }] -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.375 = private constant [10 x i8] c"allocator\00" -@fld.str.376 = private constant [5 x i8] c"data\00" -@field_names.377 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 9 }, { ptr, i64 } { ptr @fld.str.376, i64 4 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.383 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.389 = private constant [12 x i8] c"alloc_count\00" -@field_names.390 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 11 }] -@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.392 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.396 = private constant [5 x i8] c"next\00" -@fld.str.397 = private constant [4 x i8] c"cap\00" -@field_names.398 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 4 }, { ptr, i64 } { ptr @fld.str.397, i64 3 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [6 x i8] c"first\00" -@fld.str.405 = private constant [10 x i8] c"end_index\00" -@fld.str.406 = private constant [7 x i8] c"parent\00" -@field_names.407 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 5 }, { ptr, i64 } { ptr @fld.str.405, i64 9 }, { ptr, i64 } { ptr @fld.str.406, i64 6 }] -@str.408 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.409 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.410 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.411 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.412 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.413 = private constant [4 x i8] c"buf\00" -@fld.str.414 = private constant [4 x i8] c"len\00" -@fld.str.415 = private constant [4 x i8] c"pos\00" -@field_names.416 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.413, i64 3 }, { ptr, i64 } { ptr @fld.str.414, i64 3 }, { ptr, i64 } { ptr @fld.str.415, i64 3 }] -@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.418 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.422 = private constant [7 x i8] c"parent\00" -@fld.str.423 = private constant [12 x i8] c"alloc_count\00" -@fld.str.424 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.425 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.426 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 6 }, { ptr, i64 } { ptr @fld.str.423, i64 11 }, { ptr, i64 } { ptr @fld.str.424, i64 13 }, { ptr, i64 } { ptr @fld.str.425, i64 17 }] -@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.428 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.429 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.430 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.431 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.432 = private constant [3 x i8] c"fd\00" -@field_names.433 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.432, i64 2 }] -@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.435 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.436 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.437 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.438 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.439 = private constant [5 x i8] c"file\00" -@fld.str.440 = private constant [5 x i8] c"line\00" -@fld.str.441 = private constant [4 x i8] c"col\00" -@fld.str.442 = private constant [5 x i8] c"func\00" -@fld.str.443 = private constant [10 x i8] c"line_text\00" -@field_names.444 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 4 }, { ptr, i64 } { ptr @fld.str.440, i64 4 }, { ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 4 }, { ptr, i64 } { ptr @fld.str.443, i64 9 }] -@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.450 = private constant [10 x i8] c"exit_code\00" -@fld.str.451 = private constant [7 x i8] c"stdout\00" -@field_names.452 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 9 }, { ptr, i64 } { ptr @fld.str.451, i64 6 }] -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.455 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.457 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.458 = private constant [8 x i8] c"sin_len\00" -@fld.str.459 = private constant [11 x i8] c"sin_family\00" -@fld.str.460 = private constant [9 x i8] c"sin_port\00" -@fld.str.461 = private constant [9 x i8] c"sin_addr\00" -@fld.str.462 = private constant [9 x i8] c"sin_zero\00" -@field_names.463 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 7 }, { ptr, i64 } { ptr @fld.str.459, i64 10 }, { ptr, i64 } { ptr @fld.str.460, i64 8 }, { ptr, i64 } { ptr @fld.str.461, i64 8 }, { ptr, i64 } { ptr @fld.str.462, i64 8 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.469 = private constant [6 x i8] c"items\00" -@fld.str.470 = private constant [4 x i8] c"len\00" -@fld.str.471 = private constant [4 x i8] c"cap\00" -@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 5 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 3 }] +@fld.str.378 = private constant [5 x i8] c"line\00" +@fld.str.379 = private constant [4 x i8] c"col\00" +@fld.str.380 = 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.378, i64 4 }, { ptr, i64 } { ptr @fld.str.379, i64 3 }, { ptr, i64 } { ptr @fld.str.380, i64 4 }] +@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.382 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.383 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.384 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.385 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.386 = private constant [4 x i8] c"ctx\00" +@fld.str.387 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.388 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.389 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, i64 3 }, { ptr, i64 } { ptr @fld.str.387, i64 11 }, { ptr, i64 } { ptr @fld.str.388, i64 13 }] +@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.391 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.394 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.395 = private constant [10 x i8] c"allocator\00" +@fld.str.396 = private constant [5 x i8] c"data\00" +@field_names.397 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 9 }, { ptr, i64 } { ptr @fld.str.396, i64 4 }] +@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.399 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.400 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.402 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.403 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.404 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.405 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.406 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.407 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.408 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.409 = private constant [12 x i8] c"alloc_count\00" +@field_names.410 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 11 }] +@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.412 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.413 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.415 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.416 = private constant [5 x i8] c"next\00" +@fld.str.417 = private constant [4 x i8] c"cap\00" +@field_names.418 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 4 }, { ptr, i64 } { ptr @fld.str.417, i64 3 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [6 x i8] c"first\00" +@fld.str.425 = private constant [10 x i8] c"end_index\00" +@fld.str.426 = private constant [7 x i8] c"parent\00" +@field_names.427 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 5 }, { ptr, i64 } { ptr @fld.str.425, i64 9 }, { ptr, i64 } { ptr @fld.str.426, i64 6 }] +@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.429 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.430 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.431 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.432 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.433 = private constant [4 x i8] c"buf\00" +@fld.str.434 = private constant [4 x i8] c"len\00" +@fld.str.435 = private constant [4 x i8] c"pos\00" +@field_names.436 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.433, i64 3 }, { ptr, i64 } { ptr @fld.str.434, i64 3 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }] +@str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.438 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.439 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.440 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.441 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.442 = private constant [7 x i8] c"parent\00" +@fld.str.443 = private constant [12 x i8] c"alloc_count\00" +@fld.str.444 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.445 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.446 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 6 }, { ptr, i64 } { ptr @fld.str.443, i64 11 }, { ptr, i64 } { ptr @fld.str.444, i64 13 }, { ptr, i64 } { ptr @fld.str.445, i64 17 }] +@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.448 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.452 = private constant [3 x i8] c"fd\00" +@field_names.453 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 2 }] +@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.455 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.459 = private constant [5 x i8] c"file\00" +@fld.str.460 = private constant [5 x i8] c"line\00" +@fld.str.461 = private constant [4 x i8] c"col\00" +@fld.str.462 = private constant [5 x i8] c"func\00" +@fld.str.463 = private constant [10 x i8] c"line_text\00" +@field_names.464 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 4 }, { ptr, i64 } { ptr @fld.str.460, i64 4 }, { ptr, i64 } { ptr @fld.str.461, i64 3 }, { ptr, i64 } { ptr @fld.str.462, i64 4 }, { ptr, i64 } { ptr @fld.str.463, i64 9 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.469 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.470 = private constant [10 x i8] c"exit_code\00" +@fld.str.471 = private constant [7 x i8] c"stdout\00" +@field_names.472 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 9 }, { ptr, i64 } { ptr @fld.str.471, i64 6 }] @str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.474 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.478 = private constant [6 x i8] c"items\00" -@fld.str.479 = private constant [4 x i8] c"len\00" -@fld.str.480 = private constant [4 x i8] c"cap\00" -@field_names.481 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }] -@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.483 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.487 = private constant [4 x i8] c"key\00" -@fld.str.488 = private constant [4 x i8] c"val\00" -@field_names.489 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }] -@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.495 = private constant [4 x i8] c"dst\00" -@fld.str.496 = private constant [4 x i8] c"pos\00" -@fld.str.497 = private constant [5 x i8] c"file\00" -@field_names.498 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 4 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.504 = private constant [4 x i8] c"src\00" -@fld.str.505 = private constant [4 x i8] c"pos\00" -@fld.str.506 = private constant [6 x i8] c"alloc\00" -@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 3 }, { ptr, i64 } { ptr @fld.str.506, i64 5 }] -@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.509 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.513 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.514 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.515 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.516 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.517 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.518 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.519 = private constant [5 x i8] c"name\00" -@fld.str.520 = private constant [12 x i8] c"takes_value\00" -@fld.str.521 = private constant [9 x i8] c"required\00" -@field_names.522 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.519, i64 4 }, { ptr, i64 } { ptr @fld.str.520, i64 11 }, { ptr, i64 } { ptr @fld.str.521, i64 8 }] -@str.523 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.524 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.525 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.526 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.527 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.528 = private constant [6 x i8] c"group\00" -@fld.str.529 = private constant [8 x i8] c"command\00" -@fld.str.530 = private constant [6 x i8] c"flags\00" -@field_names.531 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }] -@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.533 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.537 = private constant [4 x i8] c"set\00" -@fld.str.538 = private constant [6 x i8] c"value\00" -@field_names.539 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 5 }] -@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.541 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.545 = private constant [6 x i8] c"index\00" -@fld.str.546 = private constant [6 x i8] c"token\00" -@field_names.547 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 5 }] -@str.548 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.549 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.550 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.551 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.552 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.553 = private constant [6 x i8] c"group\00" -@fld.str.554 = private constant [8 x i8] c"command\00" -@fld.str.555 = private constant [10 x i8] c"cmd_index\00" -@fld.str.556 = private constant [5 x i8] c"json\00" -@fld.str.557 = private constant [5 x i8] c"rest\00" -@fld.str.558 = private constant [5 x i8] c"spec\00" -@fld.str.559 = private constant [7 x i8] c"values\00" -@field_names.560 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.553, i64 5 }, { ptr, i64 } { ptr @fld.str.554, i64 7 }, { ptr, i64 } { ptr @fld.str.555, i64 9 }, { ptr, i64 } { ptr @fld.str.556, i64 4 }, { ptr, i64 } { ptr @fld.str.557, i64 4 }, { ptr, i64 } { ptr @fld.str.558, i64 4 }, { ptr, i64 } { ptr @fld.str.559, i64 6 }] -@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.562 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.563 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.564 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.565 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.566 = private constant [2 x i8] c"h\00" -@fld.str.567 = private constant [4 x i8] c"buf\00" -@fld.str.568 = private constant [8 x i8] c"buf_len\00" -@fld.str.569 = private constant [10 x i8] c"total_len\00" -@field_names.570 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 1 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 7 }, { ptr, i64 } { ptr @fld.str.569, i64 9 }] -@str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.572 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.576 = private constant [4 x i8] c"sec\00" -@fld.str.577 = private constant [5 x i8] c"nsec\00" -@field_names.578 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 4 }] -@str.579 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.580 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.581 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.582 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.583 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.584 = private constant [6 x i8] c"ident\00" -@fld.str.585 = private constant [7 x i8] c"filter\00" -@fld.str.586 = private constant [6 x i8] c"flags\00" -@fld.str.587 = private constant [7 x i8] c"fflags\00" -@fld.str.588 = private constant [5 x i8] c"data\00" -@fld.str.589 = private constant [6 x i8] c"udata\00" -@field_names.590 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 6 }, { ptr, i64 } { ptr @fld.str.586, i64 5 }, { ptr, i64 } { ptr @fld.str.587, i64 6 }, { ptr, i64 } { ptr @fld.str.588, i64 4 }, { ptr, i64 } { ptr @fld.str.589, i64 5 }] +@fld.str.478 = private constant [8 x i8] c"sin_len\00" +@fld.str.479 = private constant [11 x i8] c"sin_family\00" +@fld.str.480 = private constant [9 x i8] c"sin_port\00" +@fld.str.481 = private constant [9 x i8] c"sin_addr\00" +@fld.str.482 = private constant [9 x i8] c"sin_zero\00" +@field_names.483 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 7 }, { ptr, i64 } { ptr @fld.str.479, i64 10 }, { ptr, i64 } { ptr @fld.str.480, i64 8 }, { ptr, i64 } { ptr @fld.str.481, i64 8 }, { ptr, i64 } { ptr @fld.str.482, i64 8 }] +@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.485 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.489 = private constant [6 x i8] c"items\00" +@fld.str.490 = private constant [4 x i8] c"len\00" +@fld.str.491 = private constant [4 x i8] c"cap\00" +@field_names.492 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 5 }, { ptr, i64 } { ptr @fld.str.490, i64 3 }, { ptr, i64 } { ptr @fld.str.491, i64 3 }] +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.498 = private constant [6 x i8] c"items\00" +@fld.str.499 = private constant [4 x i8] c"len\00" +@fld.str.500 = private constant [4 x i8] c"cap\00" +@field_names.501 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 5 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }, { ptr, i64 } { ptr @fld.str.500, i64 3 }] +@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.503 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.505 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.506 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.507 = private constant [4 x i8] c"key\00" +@fld.str.508 = private constant [4 x i8] c"val\00" +@field_names.509 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 3 }, { ptr, i64 } { ptr @fld.str.508, i64 3 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.515 = private constant [4 x i8] c"dst\00" +@fld.str.516 = private constant [4 x i8] c"pos\00" +@fld.str.517 = private constant [5 x i8] c"file\00" +@field_names.518 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 4 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.524 = private constant [4 x i8] c"src\00" +@fld.str.525 = private constant [4 x i8] c"pos\00" +@fld.str.526 = private constant [6 x i8] c"alloc\00" +@field_names.527 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 3 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }] +@str.528 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.529 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.530 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.531 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.532 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.533 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.534 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.535 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.536 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.537 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.538 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.539 = private constant [5 x i8] c"name\00" +@fld.str.540 = private constant [12 x i8] c"takes_value\00" +@fld.str.541 = private constant [9 x i8] c"required\00" +@field_names.542 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.539, i64 4 }, { ptr, i64 } { ptr @fld.str.540, i64 11 }, { ptr, i64 } { ptr @fld.str.541, i64 8 }] +@str.543 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.544 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.545 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.546 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.547 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.548 = private constant [6 x i8] c"group\00" +@fld.str.549 = private constant [8 x i8] c"command\00" +@fld.str.550 = private constant [6 x i8] c"flags\00" +@field_names.551 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 5 }, { ptr, i64 } { ptr @fld.str.549, i64 7 }, { ptr, i64 } { ptr @fld.str.550, i64 5 }] +@str.552 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.553 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.554 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.555 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.556 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.557 = private constant [4 x i8] c"set\00" +@fld.str.558 = private constant [6 x i8] c"value\00" +@field_names.559 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.557, i64 3 }, { ptr, i64 } { ptr @fld.str.558, i64 5 }] +@str.560 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.561 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.562 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.563 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.564 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.565 = private constant [6 x i8] c"index\00" +@fld.str.566 = private constant [6 x i8] c"token\00" +@field_names.567 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 5 }] +@str.568 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.569 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.570 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.572 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.573 = private constant [6 x i8] c"group\00" +@fld.str.574 = private constant [8 x i8] c"command\00" +@fld.str.575 = private constant [10 x i8] c"cmd_index\00" +@fld.str.576 = private constant [5 x i8] c"json\00" +@fld.str.577 = private constant [5 x i8] c"rest\00" +@fld.str.578 = private constant [5 x i8] c"spec\00" +@fld.str.579 = private constant [7 x i8] c"values\00" +@field_names.580 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.573, i64 5 }, { ptr, i64 } { ptr @fld.str.574, i64 7 }, { ptr, i64 } { ptr @fld.str.575, i64 9 }, { ptr, i64 } { ptr @fld.str.576, i64 4 }, { ptr, i64 } { ptr @fld.str.577, i64 4 }, { ptr, i64 } { ptr @fld.str.578, i64 4 }, { ptr, i64 } { ptr @fld.str.579, i64 6 }] +@str.581 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.582 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.583 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.584 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.585 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.586 = private constant [2 x i8] c"h\00" +@fld.str.587 = private constant [4 x i8] c"buf\00" +@fld.str.588 = private constant [8 x i8] c"buf_len\00" +@fld.str.589 = private constant [10 x i8] c"total_len\00" +@field_names.590 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 1 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 7 }, { ptr, i64 } { ptr @fld.str.589, i64 9 }] @str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.592 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -532,265 +532,361 @@ @fld.str.597 = private constant [5 x i8] c"nsec\00" @field_names.598 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }] @str.599 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.600 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.600 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.601 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.602 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.603 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.604 = private constant [3 x i8] c"fd\00" -@fld.str.605 = private constant [6 x i8] c"udata\00" -@fld.str.606 = private constant [9 x i8] c"readable\00" -@fld.str.607 = private constant [9 x i8] c"writable\00" -@fld.str.608 = private constant [4 x i8] c"eof\00" -@fld.str.609 = private constant [4 x i8] c"err\00" -@fld.str.610 = private constant [7 x i8] c"nbytes\00" -@field_names.611 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 2 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 8 }, { ptr, i64 } { ptr @fld.str.607, i64 8 }, { ptr, i64 } { ptr @fld.str.608, i64 3 }, { ptr, i64 } { ptr @fld.str.609, i64 3 }, { ptr, i64 } { ptr @fld.str.610, i64 6 }] -@str.612 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.613 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.614 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.615 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.616 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.617 = private constant [3 x i8] c"kq\00" -@field_names.618 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 2 }] +@fld.str.604 = private constant [6 x i8] c"ident\00" +@fld.str.605 = private constant [7 x i8] c"filter\00" +@fld.str.606 = private constant [6 x i8] c"flags\00" +@fld.str.607 = private constant [7 x i8] c"fflags\00" +@fld.str.608 = private constant [5 x i8] c"data\00" +@fld.str.609 = private constant [6 x i8] c"udata\00" +@field_names.610 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 6 }, { ptr, i64 } { ptr @fld.str.606, i64 5 }, { ptr, i64 } { ptr @fld.str.607, i64 6 }, { ptr, i64 } { ptr @fld.str.608, i64 4 }, { ptr, i64 } { ptr @fld.str.609, i64 5 }] +@str.611 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.612 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.614 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.615 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.616 = private constant [4 x i8] c"sec\00" +@fld.str.617 = private constant [5 x i8] c"nsec\00" +@field_names.618 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 3 }, { ptr, i64 } { ptr @fld.str.617, i64 4 }] @str.619 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.620 = private unnamed_addr constant [13 x i8] c"ProposedSize\00", align 1 +@str.620 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.621 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.622 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.623 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.624 = private constant [6 x i8] c"width\00" -@fld.str.625 = private constant [7 x i8] c"height\00" -@field_names.626 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 5 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }] -@str.627 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.628 = private unnamed_addr constant [8 x i8] c"Sizable\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.632 = private constant [4 x i8] c"ctx\00" -@fld.str.633 = private constant [9 x i8] c"__vtable\00" -@field_names.634 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.632, i64 3 }, { ptr, i64 } { ptr @fld.str.633, i64 8 }] -@str.635 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.636 = private unnamed_addr constant [18 x i8] c"__Sizable__Vtable\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.639 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.640 = private constant [5 x i8] c"size\00" -@field_names.641 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.640, i64 4 }] -@str.642 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.643 = private unnamed_addr constant [7 x i8] c"Widget\00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.647 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.648 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.650 = private constant [5 x i8] c"read\00" -@fld.str.651 = private constant [6 x i8] c"write\00" -@fld.str.652 = private constant [7 x i8] c"append\00" -@fld.str.653 = private constant [11 x i8] c"read_write\00" -@field_names.654 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.650, i64 4 }, { ptr, i64 } { ptr @fld.str.651, i64 5 }, { ptr, i64 } { ptr @fld.str.652, i64 6 }, { ptr, i64 } { ptr @fld.str.653, i64 10 }] -@str.655 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.658 = private constant [4 x i8] c"set\00" -@fld.str.659 = private constant [8 x i8] c"current\00" -@fld.str.660 = private constant [4 x i8] c"end\00" -@field_names.661 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.658, i64 3 }, { ptr, i64 } { ptr @fld.str.659, i64 7 }, { ptr, i64 } { ptr @fld.str.660, i64 3 }] -@str.662 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.665 = private constant [6 x i8] c"null_\00" -@fld.str.666 = private constant [6 x i8] c"bool_\00" -@fld.str.667 = private constant [5 x i8] c"int_\00" -@fld.str.668 = private constant [4 x i8] c"str\00" -@fld.str.669 = private constant [6 x i8] c"array\00" -@fld.str.670 = private constant [7 x i8] c"object\00" -@field_names.671 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.665, i64 5 }, { ptr, i64 } { ptr @fld.str.666, i64 5 }, { ptr, i64 } { ptr @fld.str.667, i64 4 }, { ptr, i64 } { ptr @fld.str.668, i64 3 }, { ptr, i64 } { ptr @fld.str.669, i64 5 }, { ptr, i64 } { ptr @fld.str.670, i64 6 }] -@str.672 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.675 = private constant [6 x i8] c"macos\00" -@fld.str.676 = private constant [6 x i8] c"linux\00" -@fld.str.677 = private constant [8 x i8] c"windows\00" -@fld.str.678 = private constant [5 x i8] c"wasm\00" -@fld.str.679 = private constant [4 x i8] c"ios\00" -@fld.str.680 = private constant [8 x i8] c"android\00" -@fld.str.681 = private constant [8 x i8] c"unknown\00" -@field_names.682 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.675, i64 5 }, { ptr, i64 } { ptr @fld.str.676, i64 5 }, { ptr, i64 } { ptr @fld.str.677, i64 7 }, { ptr, i64 } { ptr @fld.str.678, i64 4 }, { ptr, i64 } { ptr @fld.str.679, i64 3 }, { ptr, i64 } { ptr @fld.str.680, i64 7 }, { ptr, i64 } { ptr @fld.str.681, i64 7 }] -@str.683 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.684 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.685 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.686 = private constant [8 x i8] c"aarch64\00" -@fld.str.687 = private constant [7 x i8] c"x86_64\00" -@fld.str.688 = private constant [7 x i8] c"wasm32\00" -@fld.str.689 = private constant [7 x i8] c"wasm64\00" -@fld.str.690 = private constant [8 x i8] c"unknown\00" -@field_names.691 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.686, i64 7 }, { ptr, i64 } { ptr @fld.str.687, i64 6 }, { ptr, i64 } { ptr @fld.str.688, i64 6 }, { ptr, i64 } { ptr @fld.str.689, i64 6 }, { ptr, i64 } { ptr @fld.str.690, i64 7 }] -@str.692 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.693 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.694 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.695 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.696 = private unnamed_addr constant [3 x i8] c", \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 -@str.700 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.701 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.702 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.703 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.704 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.705 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.706 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.707 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.708 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.710 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.711 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.712 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.713 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.714 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.715 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.716 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.717 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.720 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.624 = private constant [3 x i8] c"fd\00" +@fld.str.625 = private constant [6 x i8] c"udata\00" +@fld.str.626 = private constant [9 x i8] c"readable\00" +@fld.str.627 = private constant [9 x i8] c"writable\00" +@fld.str.628 = private constant [4 x i8] c"eof\00" +@fld.str.629 = private constant [4 x i8] c"err\00" +@fld.str.630 = private constant [7 x i8] c"nbytes\00" +@field_names.631 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 2 }, { ptr, i64 } { ptr @fld.str.625, i64 5 }, { ptr, i64 } { ptr @fld.str.626, i64 8 }, { ptr, i64 } { ptr @fld.str.627, i64 8 }, { ptr, i64 } { ptr @fld.str.628, i64 3 }, { ptr, i64 } { ptr @fld.str.629, i64 3 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }] +@str.632 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.633 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.635 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.636 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.637 = private constant [3 x i8] c"kq\00" +@field_names.638 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.637, i64 2 }] +@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.640 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.641 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.642 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.644 = private constant [5 x i8] c"port\00" +@fld.str.645 = private constant [8 x i8] c"backlog\00" +@fld.str.646 = private constant [9 x i8] c"max_conn\00" +@fld.str.647 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.648 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.649 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.650 = private constant [14 x i8] c"request_count\00" +@field_names.651 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 4 }, { ptr, i64 } { ptr @fld.str.645, i64 7 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 12 }, { ptr, i64 } { ptr @fld.str.648, i64 18 }, { ptr, i64 } { ptr @fld.str.649, i64 20 }, { ptr, i64 } { ptr @fld.str.650, i64 13 }] +@str.652 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.653 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.654 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.655 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.657 = private constant [7 x i8] c"method\00" +@fld.str.658 = private constant [5 x i8] c"path\00" +@fld.str.659 = private constant [8 x i8] c"version\00" +@fld.str.660 = private constant [12 x i8] c"headers_raw\00" +@fld.str.661 = private constant [5 x i8] c"body\00" +@fld.str.662 = private constant [11 x i8] c"keep_alive\00" +@field_names.663 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.657, i64 6 }, { ptr, i64 } { ptr @fld.str.658, i64 4 }, { ptr, i64 } { ptr @fld.str.659, i64 7 }, { ptr, i64 } { ptr @fld.str.660, i64 11 }, { ptr, i64 } { ptr @fld.str.661, i64 4 }, { ptr, i64 } { ptr @fld.str.662, i64 10 }] +@str.664 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.665 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.666 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.667 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.668 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.669 = private constant [7 x i8] c"status\00" +@fld.str.670 = private constant [13 x i8] c"content_type\00" +@fld.str.671 = private constant [14 x i8] c"extra_headers\00" +@fld.str.672 = private constant [5 x i8] c"body\00" +@field_names.673 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 6 }, { ptr, i64 } { ptr @fld.str.670, i64 12 }, { ptr, i64 } { ptr @fld.str.671, i64 13 }, { ptr, i64 } { ptr @fld.str.672, i64 4 }] +@str.674 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.675 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.678 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.679 = private constant [3 x i8] c"fd\00" +@fld.str.680 = private constant [6 x i8] c"state\00" +@fld.str.681 = private constant [9 x i8] c"read_buf\00" +@fld.str.682 = private constant [9 x i8] c"read_len\00" +@fld.str.683 = private constant [8 x i8] c"out_buf\00" +@fld.str.684 = private constant [8 x i8] c"out_len\00" +@fld.str.685 = private constant [9 x i8] c"out_sent\00" +@fld.str.686 = private constant [9 x i8] c"deadline\00" +@fld.str.687 = private constant [7 x i8] c"served\00" +@fld.str.688 = private constant [12 x i8] c"close_after\00" +@fld.str.689 = private constant [12 x i8] c"write_armed\00" +@field_names.690 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.679, i64 2 }, { ptr, i64 } { ptr @fld.str.680, i64 5 }, { ptr, i64 } { ptr @fld.str.681, i64 8 }, { ptr, i64 } { ptr @fld.str.682, i64 8 }, { ptr, i64 } { ptr @fld.str.683, i64 7 }, { ptr, i64 } { ptr @fld.str.684, i64 7 }, { ptr, i64 } { ptr @fld.str.685, i64 8 }, { ptr, i64 } { ptr @fld.str.686, i64 8 }, { ptr, i64 } { ptr @fld.str.687, i64 6 }, { ptr, i64 } { ptr @fld.str.688, i64 11 }, { ptr, i64 } { ptr @fld.str.689, i64 11 }] +@str.691 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.692 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.694 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.695 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.696 = private constant [4 x i8] c"cfg\00" +@fld.str.697 = private constant [5 x i8] c"loop\00" +@fld.str.698 = private constant [4 x i8] c"lfd\00" +@fld.str.699 = private constant [6 x i8] c"conns\00" +@fld.str.700 = private constant [10 x i8] c"own_alloc\00" +@fld.str.701 = private constant [8 x i8] c"handler\00" +@field_names.702 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.696, i64 3 }, { ptr, i64 } { ptr @fld.str.697, i64 4 }, { ptr, i64 } { ptr @fld.str.698, i64 3 }, { ptr, i64 } { ptr @fld.str.699, i64 5 }, { ptr, i64 } { ptr @fld.str.700, i64 9 }, { ptr, i64 } { ptr @fld.str.701, i64 7 }] +@str.703 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.704 = private unnamed_addr constant [13 x i8] c"ProposedSize\00", align 1 +@str.705 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.707 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.708 = private constant [6 x i8] c"width\00" +@fld.str.709 = private constant [7 x i8] c"height\00" +@field_names.710 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.708, i64 5 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }] +@str.711 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.712 = private unnamed_addr constant [8 x i8] c"Sizable\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.716 = private constant [4 x i8] c"ctx\00" +@fld.str.717 = private constant [9 x i8] c"__vtable\00" +@field_names.718 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.716, i64 3 }, { ptr, i64 } { ptr @fld.str.717, i64 8 }] +@str.719 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.720 = private unnamed_addr constant [18 x i8] c"__Sizable__Vtable\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.724 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.725 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.726 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.731 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.732 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.733 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.734 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.735 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.736 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.738 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.740 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.741 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.743 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.744 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.785 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.791 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.794 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.797 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.800 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.803 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.806 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.809 = private unnamed_addr constant [8 x i8] c"*Widget\00", align 1 -@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.812 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.724 = private constant [5 x i8] c"size\00" +@field_names.725 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.724, i64 4 }] +@str.726 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.727 = private unnamed_addr constant [7 x i8] c"Widget\00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.731 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.732 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.734 = private constant [5 x i8] c"read\00" +@fld.str.735 = private constant [6 x i8] c"write\00" +@fld.str.736 = private constant [7 x i8] c"append\00" +@fld.str.737 = private constant [11 x i8] c"read_write\00" +@field_names.738 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.734, i64 4 }, { ptr, i64 } { ptr @fld.str.735, i64 5 }, { ptr, i64 } { ptr @fld.str.736, i64 6 }, { ptr, i64 } { ptr @fld.str.737, i64 10 }] +@str.739 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.742 = private constant [4 x i8] c"set\00" +@fld.str.743 = private constant [8 x i8] c"current\00" +@fld.str.744 = private constant [4 x i8] c"end\00" +@field_names.745 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.742, i64 3 }, { ptr, i64 } { ptr @fld.str.743, i64 7 }, { ptr, i64 } { ptr @fld.str.744, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.749 = private constant [6 x i8] c"null_\00" +@fld.str.750 = private constant [6 x i8] c"bool_\00" +@fld.str.751 = private constant [5 x i8] c"int_\00" +@fld.str.752 = private constant [4 x i8] c"str\00" +@fld.str.753 = private constant [6 x i8] c"array\00" +@fld.str.754 = private constant [7 x i8] c"object\00" +@field_names.755 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.749, i64 5 }, { ptr, i64 } { ptr @fld.str.750, i64 5 }, { ptr, i64 } { ptr @fld.str.751, i64 4 }, { ptr, i64 } { ptr @fld.str.752, i64 3 }, { ptr, i64 } { ptr @fld.str.753, i64 5 }, { ptr, i64 } { ptr @fld.str.754, i64 6 }] +@str.756 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.757 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.758 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.759 = private constant [6 x i8] c"macos\00" +@fld.str.760 = private constant [6 x i8] c"linux\00" +@fld.str.761 = private constant [8 x i8] c"windows\00" +@fld.str.762 = private constant [5 x i8] c"wasm\00" +@fld.str.763 = private constant [4 x i8] c"ios\00" +@fld.str.764 = private constant [8 x i8] c"android\00" +@fld.str.765 = private constant [8 x i8] c"unknown\00" +@field_names.766 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.759, i64 5 }, { ptr, i64 } { ptr @fld.str.760, i64 5 }, { ptr, i64 } { ptr @fld.str.761, i64 7 }, { ptr, i64 } { ptr @fld.str.762, i64 4 }, { ptr, i64 } { ptr @fld.str.763, i64 3 }, { ptr, i64 } { ptr @fld.str.764, i64 7 }, { ptr, i64 } { ptr @fld.str.765, i64 7 }] +@str.767 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.768 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.769 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.770 = private constant [8 x i8] c"aarch64\00" +@fld.str.771 = private constant [7 x i8] c"x86_64\00" +@fld.str.772 = private constant [7 x i8] c"wasm32\00" +@fld.str.773 = private constant [7 x i8] c"wasm64\00" +@fld.str.774 = private constant [8 x i8] c"unknown\00" +@field_names.775 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.770, i64 7 }, { ptr, i64 } { ptr @fld.str.771, i64 6 }, { ptr, i64 } { ptr @fld.str.772, i64 6 }, { ptr, i64 } { ptr @fld.str.773, i64 6 }, { ptr, i64 } { ptr @fld.str.774, i64 7 }] +@str.776 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.777 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.778 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.779 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.780 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.781 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.782 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.783 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.784 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.785 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.786 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.787 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.788 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.789 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.792 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.794 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.795 = private unnamed_addr constant [3 x i8] c", \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 +@str.799 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.800 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.801 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.803 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.804 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.806 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.807 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.810 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.812 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.813 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.815 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.815 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.818 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.818 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.821 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.824 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.824 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.827 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.827 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.830 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.830 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.833 = private unnamed_addr constant [14 x i8] c"*ProposedSize\00", align 1 +@str.833 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.836 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.836 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.839 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.839 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.842 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.845 = private unnamed_addr constant [9 x i8] c"*Sizable\00", align 1 +@str.845 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.848 = private unnamed_addr constant [9 x i8] c"**Widget\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.851 = private unnamed_addr constant [19 x i8] c"*__Sizable__Vtable\00", align 1 +@str.851 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.854 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.857 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.876 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.879 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.881 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.882 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.884 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.885 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.886 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.887 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.888 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.889 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.890 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.891 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.892 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.893 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.894 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.895 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.896 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.897 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.898 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.899 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.900 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.901 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.902 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.903 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.904 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.905 = private unnamed_addr constant [8 x i8] c"*Widget\00", align 1 +@str.906 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.907 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.908 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.909 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.910 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.911 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.912 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.913 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.914 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.915 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.917 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.918 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.919 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.920 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.921 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.922 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.923 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.924 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.925 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.926 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.927 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.928 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.929 = private unnamed_addr constant [14 x i8] c"*ProposedSize\00", align 1 +@str.930 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.931 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.932 = private unnamed_addr constant [5 x i8] c"*f32\00", align 1 +@str.933 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.934 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.935 = private unnamed_addr constant [5 x i8] c"*f64\00", align 1 +@str.936 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.938 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.939 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.940 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.941 = private unnamed_addr constant [9 x i8] c"*Sizable\00", align 1 +@str.942 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.943 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.944 = private unnamed_addr constant [9 x i8] c"**Widget\00", align 1 +@str.945 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.946 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.947 = private unnamed_addr constant [19 x i8] c"*__Sizable__Vtable\00", align 1 +@str.948 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.949 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.950 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.951 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.952 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.953 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.954 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1228,38 +1324,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.453 + br label %while.hdr.487 -while.hdr.453: ; preds = %if.merge.458, %entry +while.hdr.487: ; preds = %if.merge.492, %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.454, label %while.exit.455 + br i1 %icmp, label %while.body.488, label %while.exit.489 -while.body.454: ; preds = %while.hdr.453 +while.body.488: ; preds = %while.hdr.487 %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.456, label %if.else.457 + br i1 %icmpN, label %if.then.490, label %if.else.491 -while.exit.455: ; preds = %while.hdr.453 +while.exit.489: ; preds = %while.hdr.487 ret void -if.then.456: ; preds = %while.body.454 +if.then.490: ; preds = %while.body.488 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.458 + br label %if.merge.492 -if.else.457: ; preds = %while.body.454 +if.else.491: ; preds = %while.body.488 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.458 + br label %if.merge.492 -if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi i64 [ %addN, %if.then.456 ], [ %addN, %if.else.457 ] +if.merge.492: ; preds = %if.else.491, %if.then.490 + %bp = phi i64 [ %addN, %if.then.490 ], [ %addN, %if.else.491 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1272,7 +1368,7 @@ if.merge.458: ; preds = %if.else.457, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.453 + br label %while.hdr.487 } ; Function Attrs: nounwind @@ -1385,12 +1481,12 @@ entry: 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.451, label %if.merge.452 + br i1 %icmp, label %if.then.485, label %if.merge.486 -if.then.451: ; preds = %entry +if.then.485: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.452: ; preds = %entry +if.merge.486: ; 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 @@ -1413,14 +1509,14 @@ if.merge.452: ; preds = %entry %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.459 + br label %while.hdr.493 -while.hdr.459: ; preds = %if.merge.463, %if.merge.452 +while.hdr.493: ; preds = %if.merge.497, %if.merge.486 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.460, label %while.exit.461 + br i1 %icmpN, label %while.body.494, label %while.exit.495 -while.body.460: ; preds = %while.hdr.459 +while.body.494: ; preds = %while.hdr.493 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1428,9 +1524,9 @@ while.body.460: ; preds = %while.hdr.459 %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.462, label %if.merge.463 + br i1 %icmpN, label %if.then.496, label %if.merge.497 -while.exit.461: ; preds = %if.then.462, %while.hdr.459 +while.exit.495: ; preds = %if.then.496, %while.hdr.493 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1438,14 +1534,14 @@ while.exit.461: ; preds = %if.then.462, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.462: ; preds = %while.body.460 - br label %while.exit.461 +if.then.496: ; preds = %while.body.494 + br label %while.exit.495 -if.merge.463: ; preds = %while.body.460 +if.merge.497: ; preds = %while.body.494 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.459 + br label %while.hdr.493 } ; Function Attrs: nounwind @@ -1596,7 +1692,12 @@ entry: i64 111, label %match.arm.55 i64 112, label %match.arm.55 i64 113, label %match.arm.55 - i64 114, label %match.arm.55 + i64 115, label %match.arm.55 + i64 119, label %match.arm.55 + i64 123, label %match.arm.55 + i64 124, label %match.arm.55 + i64 125, label %match.arm.55 + i64 126, label %match.arm.55 i64 38, label %match.arm.56 i64 39, label %match.arm.56 i64 58, label %match.arm.56 @@ -1607,18 +1708,19 @@ entry: i64 68, label %match.arm.57 i64 79, label %match.arm.57 i64 103, label %match.arm.57 + i64 110, label %match.arm.57 i64 23, label %match.arm.59 i64 85, label %match.arm.59 i64 91, label %match.arm.59 i64 92, label %match.arm.59 i64 96, label %match.arm.59 - i64 127, label %match.arm.59 + i64 139, label %match.arm.59 i64 24, label %match.arm.60 i64 64, label %match.arm.60 i64 81, label %match.arm.60 i64 89, label %match.arm.60 i64 109, label %match.arm.60 - i64 119, label %match.arm.60 + i64 131, label %match.arm.60 i64 19, label %match.arm.61 i64 26, label %match.arm.61 i64 28, label %match.arm.61 @@ -1645,31 +1747,35 @@ entry: i64 101, label %match.arm.61 i64 102, label %match.arm.61 i64 107, label %match.arm.61 - i64 115, label %match.arm.61 + i64 114, label %match.arm.61 i64 116, label %match.arm.61 i64 117, label %match.arm.61 - i64 118, label %match.arm.61 - i64 120, label %match.arm.61 i64 121, label %match.arm.61 - i64 122, label %match.arm.61 - i64 123, label %match.arm.61 - i64 124, label %match.arm.61 - i64 125, label %match.arm.61 - i64 126, label %match.arm.61 + i64 127, label %match.arm.61 i64 128, label %match.arm.61 i64 129, label %match.arm.61 i64 130, label %match.arm.61 - i64 131, label %match.arm.61 + i64 132, label %match.arm.61 + i64 133, label %match.arm.61 + i64 134, label %match.arm.61 + i64 135, label %match.arm.61 + i64 136, label %match.arm.61 + i64 137, label %match.arm.61 + i64 138, label %match.arm.61 + i64 140, label %match.arm.61 + i64 141, label %match.arm.61 + i64 142, label %match.arm.61 + i64 143, label %match.arm.61 i64 42, label %match.arm.62 i64 43, label %match.arm.62 i64 45, label %match.arm.62 i64 47, label %match.arm.62 i64 95, label %match.arm.62 - i64 110, label %match.arm.62 + i64 122, label %match.arm.62 i64 13, label %match.arm.63 ] -match.merge.49: ; preds = %dispatch.merge.584, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.329, %dispatch.merge.312, %dispatch.merge.106, %float.merge.95, %if.merge.67, %match.unr.64, %match.arm.63, %match.arm.57, %match.arm.53, %match.arm.52, %match.arm.50 +match.merge.49: ; preds = %dispatch.merge.630, %dispatch.merge.435, %dispatch.merge.397, %dispatch.merge.359, %dispatch.merge.342, %dispatch.merge.106, %float.merge.95, %if.merge.67, %match.unr.64, %match.arm.63, %match.arm.57, %match.arm.53, %match.arm.52, %match.arm.50 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1683,7 +1789,7 @@ match.arm.51: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [202 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [220 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.65, label %if.else.66 @@ -1711,7 +1817,7 @@ match.arm.54: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.93, label %fN.unbox.94 -match.arm.55: ; 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 +match.arm.55: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1749,29 +1855,34 @@ match.arm.55: ; preds = %entry, %entry, %ent i64 111, label %dispatch.case.138 i64 112, label %dispatch.case.139 i64 113, label %dispatch.case.140 - i64 114, label %dispatch.case.141 + i64 115, label %dispatch.case.141 + i64 119, label %dispatch.case.142 + i64 123, label %dispatch.case.143 + i64 124, label %dispatch.case.144 + i64 125, label %dispatch.case.145 + i64 126, label %dispatch.case.146 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.313 [ - i64 38, label %dispatch.case.314 - i64 39, label %dispatch.case.315 - i64 58, label %dispatch.case.316 - i64 74, label %dispatch.case.317 - i64 75, label %dispatch.case.318 + switch i64 %ua.raw20, label %dispatch.default.343 [ + i64 38, label %dispatch.case.344 + i64 39, label %dispatch.case.345 + i64 58, label %dispatch.case.346 + i64 74, label %dispatch.case.347 + i64 75, label %dispatch.case.348 ] -match.arm.57: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.57: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.49 @@ -1783,87 +1894,91 @@ match.arm.59: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.330 [ - i64 23, label %dispatch.case.331 - i64 85, label %dispatch.case.332 - i64 91, label %dispatch.case.333 - i64 92, label %dispatch.case.334 - i64 96, label %dispatch.case.335 - i64 127, label %dispatch.case.336 + switch i64 %ua.raw29, label %dispatch.default.360 [ + i64 23, label %dispatch.case.361 + i64 85, label %dispatch.case.362 + i64 91, label %dispatch.case.363 + i64 92, label %dispatch.case.364 + i64 96, label %dispatch.case.365 + i64 139, label %dispatch.case.366 ] match.arm.60: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.368 [ - i64 24, label %dispatch.case.369 - i64 64, label %dispatch.case.370 - i64 81, label %dispatch.case.371 - i64 89, label %dispatch.case.372 - i64 109, label %dispatch.case.373 - i64 119, label %dispatch.case.374 + switch i64 %ua.raw33, label %dispatch.default.398 [ + i64 24, label %dispatch.case.399 + i64 64, label %dispatch.case.400 + i64 81, label %dispatch.case.401 + i64 89, label %dispatch.case.402 + i64 109, label %dispatch.case.403 + i64 131, label %dispatch.case.404 ] -match.arm.61: ; 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 +match.arm.61: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.406 [ - i64 19, label %dispatch.case.407 - i64 26, label %dispatch.case.408 - i64 28, label %dispatch.case.409 - i64 30, label %dispatch.case.410 - i64 32, label %dispatch.case.411 - i64 33, label %dispatch.case.412 - i64 35, label %dispatch.case.413 - i64 37, label %dispatch.case.414 - i64 41, label %dispatch.case.415 - i64 48, label %dispatch.case.416 - i64 50, label %dispatch.case.417 - i64 51, label %dispatch.case.418 - i64 60, label %dispatch.case.419 - i64 61, label %dispatch.case.420 - i64 62, label %dispatch.case.421 - i64 63, label %dispatch.case.422 - i64 66, label %dispatch.case.423 - i64 71, label %dispatch.case.424 - i64 78, label %dispatch.case.425 - i64 87, label %dispatch.case.426 - i64 90, label %dispatch.case.427 - i64 94, label %dispatch.case.428 - i64 98, label %dispatch.case.429 - i64 101, label %dispatch.case.430 - i64 102, label %dispatch.case.431 - i64 107, label %dispatch.case.432 - i64 115, label %dispatch.case.433 - i64 116, label %dispatch.case.434 - i64 117, label %dispatch.case.435 - i64 118, label %dispatch.case.436 - i64 120, label %dispatch.case.437 - i64 121, label %dispatch.case.438 - i64 122, label %dispatch.case.439 - i64 123, label %dispatch.case.440 - i64 124, label %dispatch.case.441 - i64 125, label %dispatch.case.442 - i64 126, label %dispatch.case.443 - i64 128, label %dispatch.case.444 - i64 129, label %dispatch.case.445 - i64 130, label %dispatch.case.446 - i64 131, label %dispatch.case.447 + switch i64 %ua.raw37, label %dispatch.default.436 [ + i64 19, label %dispatch.case.437 + i64 26, label %dispatch.case.438 + i64 28, label %dispatch.case.439 + i64 30, label %dispatch.case.440 + i64 32, label %dispatch.case.441 + i64 33, label %dispatch.case.442 + i64 35, label %dispatch.case.443 + i64 37, label %dispatch.case.444 + i64 41, label %dispatch.case.445 + i64 48, label %dispatch.case.446 + i64 50, label %dispatch.case.447 + i64 51, label %dispatch.case.448 + i64 60, label %dispatch.case.449 + i64 61, label %dispatch.case.450 + i64 62, label %dispatch.case.451 + i64 63, label %dispatch.case.452 + i64 66, label %dispatch.case.453 + i64 71, label %dispatch.case.454 + i64 78, label %dispatch.case.455 + i64 87, label %dispatch.case.456 + i64 90, label %dispatch.case.457 + i64 94, label %dispatch.case.458 + i64 98, label %dispatch.case.459 + i64 101, label %dispatch.case.460 + i64 102, label %dispatch.case.461 + i64 107, label %dispatch.case.462 + i64 114, label %dispatch.case.463 + i64 116, label %dispatch.case.464 + i64 117, label %dispatch.case.465 + i64 121, label %dispatch.case.466 + i64 127, label %dispatch.case.467 + i64 128, label %dispatch.case.468 + i64 129, label %dispatch.case.469 + i64 130, label %dispatch.case.470 + i64 132, label %dispatch.case.471 + i64 133, label %dispatch.case.472 + i64 134, label %dispatch.case.473 + i64 135, label %dispatch.case.474 + i64 136, label %dispatch.case.475 + i64 137, label %dispatch.case.476 + i64 138, label %dispatch.case.477 + i64 140, label %dispatch.case.478 + i64 141, label %dispatch.case.479 + i64 142, label %dispatch.case.480 + i64 143, label %dispatch.case.481 ] match.arm.62: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.585 [ - i64 42, label %dispatch.case.586 - i64 43, label %dispatch.case.587 - i64 45, label %dispatch.case.588 - i64 47, label %dispatch.case.589 - i64 95, label %dispatch.case.590 - i64 110, label %dispatch.case.591 + switch i64 %ua.raw41, label %dispatch.default.631 [ + i64 42, label %dispatch.case.632 + i64 43, label %dispatch.case.633 + i64 45, label %dispatch.case.634 + i64 47, label %dispatch.case.635 + i64 95, label %dispatch.case.636 + i64 122, label %dispatch.case.637 ] match.arm.63: ; preds = %entry @@ -1872,7 +1987,7 @@ match.arm.63: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [202 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [220 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.49 @@ -1917,13 +2032,13 @@ float.merge.95: ; preds = %fN.unbox.94, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.merge.106: ; preds = %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.default.107 +dispatch.merge.106: ; preds = %dispatch.case.146, %dispatch.case.145, %dispatch.case.144, %dispatch.case.143, %dispatch.case.142, %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.default.107 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 dispatch.default.107: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.303, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.323, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.108: ; preds = %match.arm.55 @@ -2169,541 +2284,609 @@ dispatch.case.137: ; preds = %match.arm.55 dispatch.case.138: ; preds = %match.arm.55 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { { float, i1 }, { float, i1 } }, ptr %ua.ptr181, align 4 - %callN = call { ptr, i64 } @struct_to_string__ProposedSize(ptr %0, { { float, i1 }, { float, i1 } } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.139: ; preds = %match.arm.55 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { ptr, ptr }, ptr %ua.ptr185, align 8 - %callN = call { ptr, i64 } @struct_to_string__Sizable(ptr %0, { ptr, ptr } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.140: ; preds = %match.arm.55 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { ptr }, ptr %ua.ptr189, align 8 - %callN = call { ptr, i64 } @struct_to_string____Sizable__Vtable(ptr %0, { ptr } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.141: ; preds = %match.arm.55 %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr - %ua.load194 = load {}, ptr %ua.ptr193, align 1 - %callN = call { ptr, i64 } @struct_to_string__Widget(ptr %0, {} %ua.load194) + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.106 -dispatch.merge.312: ; preds = %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.default.313 +dispatch.case.142: ; preds = %match.arm.55 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.143: ; preds = %match.arm.55 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { { float, i1 }, { float, i1 } }, ptr %ua.ptr201, align 4 + %callN = call { ptr, i64 } @struct_to_string__ProposedSize(ptr %0, { { float, i1 }, { float, i1 } } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.144: ; preds = %match.arm.55 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { ptr, ptr }, ptr %ua.ptr205, align 8 + %callN = call { ptr, i64 } @struct_to_string__Sizable(ptr %0, { ptr, ptr } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.145: ; preds = %match.arm.55 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { ptr }, ptr %ua.ptr209, align 8 + %callN = call { ptr, i64 } @struct_to_string____Sizable__Vtable(ptr %0, { ptr } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.146: ; preds = %match.arm.55 + %ua.raw212 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr213 = inttoptr i64 %ua.raw212 to ptr + %ua.load214 = load {}, ptr %ua.ptr213, align 1 + %callN = call { ptr, i64 } @struct_to_string__Widget(ptr %0, {} %ua.load214) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.merge.342: ; preds = %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.default.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.313: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.304, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.312 +dispatch.default.343: ; preds = %match.arm.56 + store { ptr, i64 } { ptr @str.324, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.342 -dispatch.case.314: ; preds = %match.arm.56 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw197) +dispatch.case.344: ; preds = %match.arm.56 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw217) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.315: ; preds = %match.arm.56 - %ua.raw199 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw199) +dispatch.case.345: ; preds = %match.arm.56 + %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.316: ; preds = %match.arm.56 - %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr202 = inttoptr i64 %ua.raw201 to ptr - %ua.load203 = load { i64, [24 x i8] }, ptr %ua.ptr202, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load203) +dispatch.case.346: ; preds = %match.arm.56 + %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr222 = inttoptr i64 %ua.raw221 to ptr + %ua.load223 = load { i64, [24 x i8] }, ptr %ua.ptr222, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load223) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.317: ; preds = %match.arm.56 - %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw205) +dispatch.case.347: ; preds = %match.arm.56 + %ua.raw225 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw225) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.case.318: ; preds = %match.arm.56 - %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw207) +dispatch.case.348: ; preds = %match.arm.56 + %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw227) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.312 + br label %dispatch.merge.342 -dispatch.merge.329: ; preds = %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.default.330 +dispatch.merge.359: ; preds = %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.case.362, %dispatch.case.361, %dispatch.default.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.330: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.305, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.329 +dispatch.default.360: ; preds = %match.arm.59 + store { ptr, i64 } { ptr @str.325, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.359 -dispatch.case.331: ; preds = %match.arm.59 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [4 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.332: ; preds = %match.arm.59 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.333: ; preds = %match.arm.59 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [8 x i64], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.334: ; preds = %match.arm.59 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [64 x i8], ptr %ua.ptr223, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.335: ; preds = %match.arm.59 - %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [64 x i64], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load228) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 - -dispatch.case.336: ; preds = %match.arm.59 +dispatch.case.361: ; preds = %match.arm.59 %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [1 x { i64, i64 }], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load232) + %ua.load232 = load [4 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load232) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.329 + br label %dispatch.merge.359 -dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 +dispatch.case.362: ; preds = %match.arm.59 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.363: ; preds = %match.arm.59 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [8 x i64], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.364: ; preds = %match.arm.59 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [64 x i8], ptr %ua.ptr243, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.365: ; preds = %match.arm.59 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [64 x i64], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.case.366: ; preds = %match.arm.59 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [1 x { i64, i64 }], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.359 + +dispatch.merge.397: ; preds = %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.default.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.368: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.367 +dispatch.default.398: ; preds = %match.arm.60 + store { ptr, i64 } { ptr @str.326, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.397 -dispatch.case.369: ; preds = %match.arm.60 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.370: ; preds = %match.arm.60 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.371: ; preds = %match.arm.60 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.372: ; preds = %match.arm.60 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.373: ; preds = %match.arm.60 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 - -dispatch.case.374: ; preds = %match.arm.60 +dispatch.case.399: ; preds = %match.arm.60 %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load257) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load257) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.367 + br label %dispatch.merge.397 -dispatch.merge.405: ; preds = %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 +dispatch.case.400: ; preds = %match.arm.60 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.401: ; preds = %match.arm.60 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.402: ; preds = %match.arm.60 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.403: ; preds = %match.arm.60 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.case.404: ; preds = %match.arm.60 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.397 + +dispatch.merge.435: ; preds = %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.default.436 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.406: ; preds = %match.arm.61 - store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.407: ; preds = %match.arm.61 - %ua.raw260 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw260 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.408: ; preds = %match.arm.61 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.409: ; preds = %match.arm.61 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.410: ; preds = %match.arm.61 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.411: ; preds = %match.arm.61 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.412: ; preds = %match.arm.61 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.413: ; preds = %match.arm.61 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.414: ; preds = %match.arm.61 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.415: ; preds = %match.arm.61 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.416: ; preds = %match.arm.61 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.417: ; preds = %match.arm.61 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.418: ; preds = %match.arm.61 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.419: ; preds = %match.arm.61 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.420: ; preds = %match.arm.61 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.421: ; preds = %match.arm.61 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.422: ; preds = %match.arm.61 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.423: ; preds = %match.arm.61 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.424: ; preds = %match.arm.61 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.425: ; preds = %match.arm.61 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.426: ; preds = %match.arm.61 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.427: ; preds = %match.arm.61 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.428: ; preds = %match.arm.61 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.429: ; preds = %match.arm.61 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.430: ; preds = %match.arm.61 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.431: ; preds = %match.arm.61 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.432: ; preds = %match.arm.61 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.433: ; preds = %match.arm.61 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Widget(ptr %0, ptr %iNp338) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.434: ; preds = %match.arm.61 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp341) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.435: ; preds = %match.arm.61 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp344) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 - -dispatch.case.436: ; preds = %match.arm.61 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp347) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 +dispatch.default.436: ; preds = %match.arm.61 + store { ptr, i64 } { ptr @str.327, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.435 dispatch.case.437: ; preds = %match.arm.61 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp350) + %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw280 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.438: ; preds = %match.arm.61 - %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 - %iNp353 = inttoptr i64 %ua.raw352 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp353) + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.439: ; preds = %match.arm.61 - %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %iNp356 = inttoptr i64 %ua.raw355 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp356) + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.440: ; preds = %match.arm.61 - %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 - %iNp359 = inttoptr i64 %ua.raw358 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp359) + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.441: ; preds = %match.arm.61 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ProposedSize(ptr %0, ptr %iNp362) + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.442: ; preds = %match.arm.61 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %iNp365 = inttoptr i64 %ua.raw364 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp365) + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.443: ; preds = %match.arm.61 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %iNp368 = inttoptr i64 %ua.raw367 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp368) + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.444: ; preds = %match.arm.61 - %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 - %iNp371 = inttoptr i64 %ua.raw370 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp371) + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.445: ; preds = %match.arm.61 - %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 - %iNp374 = inttoptr i64 %ua.raw373 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sizable(ptr %0, ptr %iNp374) + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.446: ; preds = %match.arm.61 - %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 - %iNp377 = inttoptr i64 %ua.raw376 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Widget(ptr %0, ptr %iNp377) + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 dispatch.case.447: ; preds = %match.arm.61 - %ua.raw379 = extractvalue { i64, i64 } %loadN, 1 - %iNp380 = inttoptr i64 %ua.raw379 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr___Sizable__Vtable(ptr %0, ptr %iNp380) + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp310) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.405 + br label %dispatch.merge.435 -dispatch.merge.584: ; preds = %dispatch.case.591, %dispatch.case.590, %dispatch.case.589, %dispatch.case.588, %dispatch.case.587, %dispatch.case.586, %dispatch.default.585 +dispatch.case.448: ; preds = %match.arm.61 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.449: ; preds = %match.arm.61 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.450: ; preds = %match.arm.61 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.451: ; preds = %match.arm.61 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.452: ; preds = %match.arm.61 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.453: ; preds = %match.arm.61 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.454: ; preds = %match.arm.61 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.455: ; preds = %match.arm.61 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.456: ; preds = %match.arm.61 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.457: ; preds = %match.arm.61 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.458: ; preds = %match.arm.61 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.459: ; preds = %match.arm.61 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.460: ; preds = %match.arm.61 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.461: ; preds = %match.arm.61 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.462: ; preds = %match.arm.61 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.463: ; preds = %match.arm.61 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.464: ; preds = %match.arm.61 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.465: ; preds = %match.arm.61 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.466: ; preds = %match.arm.61 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.467: ; preds = %match.arm.61 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Widget(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.468: ; preds = %match.arm.61 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.469: ; preds = %match.arm.61 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.470: ; preds = %match.arm.61 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.471: ; preds = %match.arm.61 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.472: ; preds = %match.arm.61 + %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp385) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.473: ; preds = %match.arm.61 + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %iNp388 = inttoptr i64 %ua.raw387 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp388) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.474: ; preds = %match.arm.61 + %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 + %iNp391 = inttoptr i64 %ua.raw390 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp391) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.475: ; preds = %match.arm.61 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ProposedSize(ptr %0, ptr %iNp394) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.476: ; preds = %match.arm.61 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %iNp397 = inttoptr i64 %ua.raw396 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp397) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.477: ; preds = %match.arm.61 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %iNp400 = inttoptr i64 %ua.raw399 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_f64(ptr %0, ptr %iNp400) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.478: ; preds = %match.arm.61 + %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 + %iNp403 = inttoptr i64 %ua.raw402 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp403) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.479: ; preds = %match.arm.61 + %ua.raw405 = extractvalue { i64, i64 } %loadN, 1 + %iNp406 = inttoptr i64 %ua.raw405 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sizable(ptr %0, ptr %iNp406) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.480: ; preds = %match.arm.61 + %ua.raw408 = extractvalue { i64, i64 } %loadN, 1 + %iNp409 = inttoptr i64 %ua.raw408 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Widget(ptr %0, ptr %iNp409) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.case.481: ; preds = %match.arm.61 + %ua.raw411 = extractvalue { i64, i64 } %loadN, 1 + %iNp412 = inttoptr i64 %ua.raw411 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr___Sizable__Vtable(ptr %0, ptr %iNp412) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.435 + +dispatch.merge.630: ; preds = %dispatch.case.637, %dispatch.case.636, %dispatch.case.635, %dispatch.case.634, %dispatch.case.633, %dispatch.case.632, %dispatch.default.631 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.585: ; preds = %match.arm.62 - store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.584 +dispatch.default.631: ; preds = %match.arm.62 + store { ptr, i64 } { ptr @str.328, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.630 -dispatch.case.586: ; preds = %match.arm.62 - %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr384 = inttoptr i64 %ua.raw383 to ptr - %ua.load385 = load { { i32 }, i1 }, ptr %ua.ptr384, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load385) +dispatch.case.632: ; preds = %match.arm.62 + %ua.raw415 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr416 = inttoptr i64 %ua.raw415 to ptr + %ua.load417 = load { { i32 }, i1 }, ptr %ua.ptr416, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load417) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 -dispatch.case.587: ; preds = %match.arm.62 - %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr388 = inttoptr i64 %ua.raw387 to ptr - %ua.load389 = load { { ptr, i64 }, i1 }, ptr %ua.ptr388, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load389) +dispatch.case.633: ; preds = %match.arm.62 + %ua.raw419 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr420 = inttoptr i64 %ua.raw419 to ptr + %ua.load421 = load { { ptr, i64 }, i1 }, ptr %ua.ptr420, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load421) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 -dispatch.case.588: ; preds = %match.arm.62 - %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 - %iNp392 = inttoptr i64 %ua.raw391 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp392) +dispatch.case.634: ; preds = %match.arm.62 + %ua.raw423 = extractvalue { i64, i64 } %loadN, 1 + %iNp424 = inttoptr i64 %ua.raw423 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp424) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 -dispatch.case.589: ; preds = %match.arm.62 - %ua.raw394 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr395 = inttoptr i64 %ua.raw394 to ptr - %ua.load396 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr395, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load396) +dispatch.case.635: ; preds = %match.arm.62 + %ua.raw426 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr427 = inttoptr i64 %ua.raw426 to ptr + %ua.load428 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr427, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load428) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 -dispatch.case.590: ; preds = %match.arm.62 - %ua.raw398 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr399 = inttoptr i64 %ua.raw398 to ptr - %ua.load400 = load { [64 x i8], i1 }, ptr %ua.ptr399, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load400) +dispatch.case.636: ; preds = %match.arm.62 + %ua.raw430 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr431 = inttoptr i64 %ua.raw430 to ptr + %ua.load432 = load { [64 x i8], i1 }, ptr %ua.ptr431, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load432) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 -dispatch.case.591: ; preds = %match.arm.62 - %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr403 = inttoptr i64 %ua.raw402 to ptr - %ua.load404 = load { float, i1 }, ptr %ua.ptr403, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_f32(ptr %0, { float, i1 } %ua.load404) +dispatch.case.637: ; preds = %match.arm.62 + %ua.raw434 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr435 = inttoptr i64 %ua.raw434 to ptr + %ua.load436 = load { float, i1 }, ptr %ua.ptr435, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_f32(ptr %0, { float, i1 } %ua.load436) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.584 + br label %dispatch.merge.630 } ; Function Attrs: nounwind @@ -2712,7 +2895,7 @@ 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.309, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.329, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2808,7 +2991,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2816,7 +2999,7 @@ if.then.12: ; preds = %if.then.9 %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.311, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, 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 @@ -2826,13 +3009,13 @@ if.then.12: ; preds = %if.then.9 %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.312, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.333, 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 @@ -2840,7 +3023,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.314, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.334, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2854,7 +3037,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.335, 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 @@ -2862,7 +3045,7 @@ if.then.23: ; preds = %if.else.10 %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.316, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, 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 @@ -2873,7 +3056,7 @@ if.then.23: ; preds = %if.else.10 %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.317, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2930,7 +3113,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, 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 @@ -2938,7 +3121,7 @@ if.then.32: ; preds = %if.then.29 %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.319, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, 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 @@ -2949,7 +3132,7 @@ if.then.32: ; preds = %if.then.29 %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.320, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2969,7 +3152,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, 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 @@ -2977,7 +3160,7 @@ if.then.35: ; preds = %while.exit.2 %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.322, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, 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 @@ -2988,7 +3171,7 @@ if.then.35: ; preds = %while.exit.2 %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.323, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3821,6 +4004,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal float @direct_size(ptr %0, { { float, i1 }, { float, i1 } } %1) #0 { entry: @@ -4020,14 +4251,14 @@ entry: define internal void @print__ct_safaf8808e13137c9__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.324, i64 21 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.344, i64 21 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.325, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.345, i64 0 }, ptr %allocaN, align 8 %load = 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 21) @@ -4043,7 +4274,7 @@ entry: ; 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.326, i64 21 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.346, i64 21 }) ret { ptr, i64 } %call } @@ -4051,7 +4282,7 @@ entry: define internal void @print__ct_sa9ba8ae6123c77ba__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.327, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.347, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4068,7 +4299,7 @@ entry: %gepN = getelementptr inbounds { 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.328, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.348, 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) @@ -4097,7 +4328,7 @@ entry: ; 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.329, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.349, i64 8 }) ret { ptr, i64 } %call } @@ -4105,7 +4336,7 @@ entry: define internal void @print__ct_s9af257f36f17eef5__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.330, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.350, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4122,7 +4353,7 @@ entry: %gepN = getelementptr inbounds { 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.331, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.351, 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) @@ -4151,7 +4382,7 @@ entry: ; 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.332, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.352, i64 8 }) ret { ptr, i64 } %call } @@ -4159,7 +4390,7 @@ entry: define internal void @print__ct_scf4d64fa60dbbfb4__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.333, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.353, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4176,7 +4407,7 @@ entry: %gepN = getelementptr inbounds { 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.334, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.354, 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) @@ -4205,7 +4436,7 @@ entry: ; 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.335, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.355, i64 8 }) ret { ptr, i64 } %call } @@ -4213,7 +4444,7 @@ entry: define internal void @print__ct_s1c39af9abf6a4a07__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.336, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.356, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4230,7 +4461,7 @@ entry: %gepN = getelementptr inbounds { 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.337, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.357, 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) @@ -4259,7 +4490,7 @@ entry: ; 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.338, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.358, i64 8 }) ret { ptr, i64 } %call } @@ -4267,14 +4498,14 @@ entry: define internal void @print__ct_s1982bb0332b7dace__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.339, i64 26 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.359, i64 26 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.340, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.360, i64 0 }, ptr %allocaN, align 8 %load = 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 26) @@ -4290,7 +4521,7 @@ entry: ; 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.341, i64 26 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.361, i64 26 }) ret { ptr, i64 } %call } @@ -4305,7 +4536,7 @@ entry: define internal void @print__ct_s328a3cec2430526b__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.342, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.362, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4322,7 +4553,7 @@ entry: %gepN = getelementptr inbounds { 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.343, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.363, 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) @@ -4351,7 +4582,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_6(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.344, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.364, i64 8 }) ret { ptr, i64 } %call } @@ -4359,7 +4590,7 @@ entry: define internal void @print__ct_sad2d86d80b81462__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.345, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.365, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4376,7 +4607,7 @@ entry: %gepN = getelementptr inbounds { 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.346, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.366, 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) @@ -4405,7 +4636,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_7(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.347, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.367, i64 8 }) ret { ptr, i64 } %call } @@ -4413,7 +4644,7 @@ entry: define internal void @print__ct_s356f7a97ffec319e__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.348, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.368, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4430,7 +4661,7 @@ entry: %gepN = getelementptr inbounds { 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.349, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.369, 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) @@ -4459,7 +4690,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_8(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.350, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.370, i64 8 }) ret { ptr, i64 } %call } @@ -4467,7 +4698,7 @@ entry: define internal void @print__ct_sc1a70412aecae073__pack_f32(ptr %0, float %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.351, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.371, i64 8 }, ptr %alloca, align 8 %allocaN = alloca float, align 4 store float %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4484,7 +4715,7 @@ entry: %gepN = getelementptr inbounds { 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.352, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.372, 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) @@ -4513,7 +4744,7 @@ entry: ; Function Attrs: nounwind define internal { ptr, i64 } @__insert_9(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.353, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.373, i64 8 }) ret { ptr, i64 } %call } @@ -4524,35 +4755,35 @@ entry: %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.354, i64 15 }, { ptr, i64 } { ptr @str.355, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.374, i64 15 }, { ptr, i64 } { ptr @str.375, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %fv.merge, %entry +while.hdr.147: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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 @@ -4560,7 +4791,7 @@ if.merge.146: ; preds = %if.then.145, %while %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.361, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, 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 @@ -4580,31 +4811,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 -fv.default: ; preds = %if.merge.146 +fv.default: ; preds = %if.merge.151 br label %fv.merge -fv.case: ; preds = %if.merge.146 +fv.case: ; preds = %if.merge.151 %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.146 +fv.case17: ; preds = %if.merge.151 %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.146 +fv.case20: ; preds = %if.merge.151 %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.146 +fv.case24: ; preds = %if.merge.151 %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 @@ -4617,43 +4848,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.362, i64 9 }, { ptr, i64 } { ptr @str.363, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.382, i64 9 }, { ptr, i64 } { ptr @str.383, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %fv.merge, %entry +while.hdr.152: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.369, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.389, 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.370, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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 @@ -4672,24 +4903,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 -fv.default: ; preds = %if.merge.151 +fv.default: ; preds = %if.merge.156 br label %fv.merge -fv.case: ; preds = %if.merge.151 +fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.151 +fv.case17: ; preds = %if.merge.156 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.151 +fv.case21: ; preds = %if.merge.156 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4702,43 +4933,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.371, i64 7 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.391, i64 7 }, { ptr, i64 } { ptr @str.392, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %fv.merge, %entry +while.hdr.157: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.377, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.397, 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.378, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, 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 %alloca, align 8 @@ -4756,19 +4987,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 -fv.default: ; preds = %if.merge.156 +fv.default: ; preds = %if.merge.161 br label %fv.merge -fv.case: ; preds = %if.merge.156 +fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.156 +fv.case17: ; preds = %if.merge.161 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4780,43 +5011,43 @@ 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.379, i64 10 }, { ptr, i64 } { ptr @str.380, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.399, i64 10 }, { ptr, i64 } { ptr @str.400, 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.157 + br label %while.hdr.162 -while.hdr.157: ; preds = %if.merge.161, %entry +while.hdr.162: ; preds = %if.merge.166, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.158, label %while.exit.159 + br i1 %icmp, label %while.body.163, label %while.exit.164 -while.body.158: ; preds = %while.hdr.157 +while.body.163: ; preds = %while.hdr.162 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 + br i1 %icmpN, label %if.then.165, label %if.merge.166 -while.exit.159: ; preds = %while.hdr.157 +while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 1 }) ret { ptr, i64 } %callN -if.then.160: ; preds = %while.body.158 +if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 + br label %if.merge.166 -if.merge.161: ; preds = %if.then.160, %while.body.158 +if.merge.166: ; preds = %if.then.165, %while.body.163 %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.383, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.403, 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.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4827,7 +5058,7 @@ if.merge.161: ; preds = %if.then.160, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.157 + br label %while.hdr.162 } ; Function Attrs: nounwind @@ -4835,43 +5066,43 @@ 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.385, i64 3 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.405, i64 3 }, { ptr, i64 } { ptr @str.406, 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.162 + br label %while.hdr.167 -while.hdr.162: ; preds = %fv.merge, %entry +while.hdr.167: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.163, label %while.exit.164 + br i1 %icmp, label %while.body.168, label %while.exit.169 -while.body.163: ; preds = %while.hdr.162 +while.body.168: ; preds = %while.hdr.167 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.165, label %if.merge.166 + br i1 %icmpN, label %if.then.170, label %if.merge.171 -while.exit.164: ; preds = %while.hdr.162 +while.exit.169: ; preds = %while.hdr.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 1 }) ret { ptr, i64 } %callN -if.then.165: ; preds = %while.body.163 +if.then.170: ; preds = %while.body.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.166 + br label %if.merge.171 -if.merge.166: ; preds = %if.then.165, %while.body.163 +if.merge.171: ; preds = %if.then.170, %while.body.168 %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.390, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.410, 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.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, 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 @@ -4888,12 +5119,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.162 + br label %while.hdr.167 -fv.default: ; preds = %if.merge.166 +fv.default: ; preds = %if.merge.171 br label %fv.merge -fv.case: ; preds = %if.merge.166 +fv.case: ; preds = %if.merge.171 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4904,43 +5135,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.392, i64 10 }, { ptr, i64 } { ptr @str.393, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.412, i64 10 }, { ptr, i64 } { ptr @str.413, 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.167 + br label %while.hdr.172 -while.hdr.167: ; preds = %fv.merge, %entry +while.hdr.172: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.168, label %while.exit.169 + br i1 %icmp, label %while.body.173, label %while.exit.174 -while.body.168: ; preds = %while.hdr.167 +while.body.173: ; preds = %while.hdr.172 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.170, label %if.merge.171 + br i1 %icmpN, label %if.then.175, label %if.merge.176 -while.exit.169: ; preds = %while.hdr.167 +while.exit.174: ; preds = %while.hdr.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 1 }) ret { ptr, i64 } %callN -if.then.170: ; preds = %while.body.168 +if.then.175: ; preds = %while.body.173 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.171 + br label %if.merge.176 -if.merge.171: ; preds = %if.then.170, %while.body.168 +if.merge.176: ; preds = %if.then.175, %while.body.173 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4958,18 +5189,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.167 + br label %while.hdr.172 -fv.default: ; preds = %if.merge.171 +fv.default: ; preds = %if.merge.176 br label %fv.merge -fv.case: ; preds = %if.merge.171 +fv.case: ; preds = %if.merge.176 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.171 +fv.case17: ; preds = %if.merge.176 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4981,91 +5212,7 @@ 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.400, i64 5 }, { ptr, i64 } { ptr @str.401, 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.172 - -while.hdr.172: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.173, label %while.exit.174 - -while.body.173: ; preds = %while.hdr.172 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.175, label %if.merge.176 - -while.exit.174: ; preds = %while.hdr.172 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) - ret { ptr, i64 } %callN - -if.then.175: ; preds = %while.body.173 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.176 - -if.merge.176: ; preds = %if.then.175, %while.body.173 - %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.407, 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.408, 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.172 - -fv.default: ; preds = %if.merge.176 - br label %fv.merge - -fv.case: ; preds = %if.merge.176 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.176 - %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.176 - %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 21, 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.409, i64 8 }, { ptr, i64 } { ptr @str.410, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 5 }, { ptr, i64 } { ptr @str.421, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5084,27 +5231,27 @@ while.body.178: ; preds = %while.hdr.177 while.exit.179: ; preds = %while.hdr.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN if.then.180: ; preds = %while.body.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.181 if.merge.181: ; preds = %if.then.180, %while.body.178 %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.416, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.427, 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.417, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, 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 { 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 @@ -5126,17 +5273,101 @@ fv.default: ; preds = %if.merge.181 br label %fv.merge fv.case: ; preds = %if.merge.181 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.181 + %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.181 + %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 21, 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.429, i64 8 }, { ptr, i64 } { ptr @str.430, 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.182 + +while.hdr.182: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.183, label %while.exit.184 + +while.body.183: ; preds = %while.hdr.182 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.185, label %if.merge.186 + +while.exit.184: ; preds = %while.hdr.182 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 1 }) + ret { ptr, i64 } %callN + +if.then.185: ; preds = %while.body.183 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.186 + +if.merge.186: ; preds = %if.then.185, %while.body.183 + %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.436, 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.437, 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.182 + +fv.default: ; preds = %if.merge.186 + br label %fv.merge + +fv.case: ; preds = %if.merge.186 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.181 +fv.case17: ; preds = %if.merge.186 %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.181 +fv.case20: ; preds = %if.merge.186 %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 @@ -5148,43 +5379,43 @@ 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.418, i64 17 }, { ptr, i64 } { ptr @str.419, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.438, i64 17 }, { ptr, i64 } { ptr @str.439, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.426, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.446, 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.427, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, 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 @@ -5204,29 +5435,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.186 +fv.case17: ; preds = %if.merge.191 %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.186 +fv.case20: ; preds = %if.merge.191 %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.186 +fv.case23: ; preds = %if.merge.191 %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 @@ -5237,43 +5468,43 @@ 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.428, i64 4 }, { ptr, i64 } { ptr @str.429, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.448, i64 4 }, { ptr, i64 } { ptr @str.449, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.433, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.453, 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.434, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, 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 @@ -5290,12 +5521,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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 @@ -5310,43 +5541,43 @@ entry: %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.435, i64 10 }, { ptr, i64 } { ptr @str.436, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.455, i64 10 }, { ptr, i64 } { ptr @str.456, 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.192 + br label %while.hdr.197 -while.hdr.192: ; preds = %fv.merge, %entry +while.hdr.197: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.193, label %while.exit.194 + br i1 %icmp, label %while.body.198, label %while.exit.199 -while.body.193: ; preds = %while.hdr.192 +while.body.198: ; preds = %while.hdr.197 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 + br i1 %icmpN, label %if.then.200, label %if.merge.201 -while.exit.194: ; preds = %while.hdr.192 +while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) ret { ptr, i64 } %callN -if.then.195: ; preds = %while.body.193 +if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 + br label %if.merge.201 -if.merge.196: ; preds = %if.then.195, %while.body.193 +if.merge.201: ; preds = %if.then.200, %while.body.198 %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.444, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.464, 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.445, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, 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 @@ -5367,38 +5598,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.192 + br label %while.hdr.197 -fv.default: ; preds = %if.merge.196 +fv.default: ; preds = %if.merge.201 br label %fv.merge -fv.case: ; preds = %if.merge.196 +fv.case: ; preds = %if.merge.201 %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.196 +fv.case17: ; preds = %if.merge.201 %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.196 +fv.case20: ; preds = %if.merge.201 %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.196 +fv.case24: ; preds = %if.merge.201 %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.196 +fv.case29: ; preds = %if.merge.201 %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 @@ -5412,43 +5643,43 @@ 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.446, i64 13 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.466, i64 13 }, { ptr, i64 } { ptr @str.467, 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.197 + br label %while.hdr.202 -while.hdr.197: ; preds = %fv.merge, %entry +while.hdr.202: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.198, label %while.exit.199 + br i1 %icmp, label %while.body.203, label %while.exit.204 -while.body.198: ; preds = %while.hdr.197 +while.body.203: ; preds = %while.hdr.202 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.200, label %if.merge.201 + br i1 %icmpN, label %if.then.205, label %if.merge.206 -while.exit.199: ; preds = %while.hdr.197 +while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 1 }) ret { ptr, i64 } %callN -if.then.200: ; preds = %while.body.198 +if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.201 + br label %if.merge.206 -if.merge.201: ; preds = %if.then.200, %while.body.198 +if.merge.206: ; preds = %if.then.205, %while.body.203 %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.452, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.472, 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.453, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, 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 @@ -5466,18 +5697,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.197 + br label %while.hdr.202 -fv.default: ; preds = %if.merge.201 +fv.default: ; preds = %if.merge.206 br label %fv.merge -fv.case: ; preds = %if.merge.201 +fv.case: ; preds = %if.merge.206 %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.201 +fv.case17: ; preds = %if.merge.206 %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 @@ -5490,43 +5721,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.454, i64 8 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.474, i64 8 }, { ptr, i64 } { ptr @str.475, 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.202 + br label %while.hdr.207 -while.hdr.202: ; preds = %fv.merge, %entry +while.hdr.207: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.203, label %while.exit.204 + br i1 %icmp, label %while.body.208, label %while.exit.209 -while.body.203: ; preds = %while.hdr.202 +while.body.208: ; preds = %while.hdr.207 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.205, label %if.merge.206 + br i1 %icmpN, label %if.then.210, label %if.merge.211 -while.exit.204: ; preds = %while.hdr.202 +while.exit.209: ; preds = %while.hdr.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) ret { ptr, i64 } %callN -if.then.205: ; preds = %while.body.203 +if.then.210: ; preds = %while.body.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.206 + br label %if.merge.211 -if.merge.206: ; preds = %if.then.205, %while.body.203 +if.merge.211: ; preds = %if.then.210, %while.body.208 %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.463, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.483, 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.464, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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 @@ -5547,36 +5778,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.202 + br label %while.hdr.207 -fv.default: ; preds = %if.merge.206 +fv.default: ; preds = %if.merge.211 br label %fv.merge -fv.case: ; preds = %if.merge.206 +fv.case: ; preds = %if.merge.211 %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.206 +fv.case17: ; preds = %if.merge.211 %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.206 +fv.case21: ; preds = %if.merge.211 %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.206 +fv.case25: ; preds = %if.merge.211 %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.206 +fv.case29: ; preds = %if.merge.211 %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 @@ -5587,89 +5818,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.465, i64 5 }, { ptr, i64 } { ptr @str.466, 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.207 - -while.hdr.207: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.208, label %while.exit.209 - -while.body.208: ; preds = %while.hdr.207 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.210, label %if.merge.211 - -while.exit.209: ; preds = %while.hdr.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) - ret { ptr, i64 } %callN - -if.then.210: ; preds = %while.body.208 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.211 - -if.merge.211: ; preds = %if.then.210, %while.body.208 - %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.472, 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.473, 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.207 - -fv.default: ; preds = %if.merge.211 - br label %fv.merge - -fv.case: ; preds = %if.merge.211 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.211 - %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.211 - %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.474, i64 6 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.485, i64 5 }, { ptr, i64 } { ptr @str.486, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5688,24 +5837,24 @@ while.body.213: ; preds = %while.hdr.212 while.exit.214: ; preds = %while.hdr.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) ret { ptr, i64 } %callN if.then.215: ; preds = %while.body.213 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.216 if.merge.216: ; preds = %if.then.215, %while.body.213 %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.481, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.492, 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.482, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, 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 @@ -5732,7 +5881,7 @@ fv.default: ; preds = %if.merge.216 fv.case: ; preds = %if.merge.216 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.216 @@ -5747,13 +5896,11 @@ fv.case20: ; preds = %if.merge.216 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.483, i64 6 }, { ptr, i64 } { ptr @str.484, i64 1 }) + %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.494, i64 6 }, { ptr, i64 } { ptr @str.495, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5762,7 +5909,7 @@ entry: while.hdr.217: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.218, label %while.exit.219 while.body.218: ; preds = %while.hdr.217 @@ -5772,24 +5919,108 @@ while.body.218: ; preds = %while.hdr.217 while.exit.219: ; preds = %while.hdr.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN if.then.220: ; preds = %while.body.218 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.221 if.merge.221: ; preds = %if.then.220, %while.body.218 %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.489, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.501, 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.490, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, 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.217 + +fv.default: ; preds = %if.merge.221 + br label %fv.merge + +fv.case: ; preds = %if.merge.221 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.221 + %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.221 + %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.503, i64 6 }, { ptr, i64 } { ptr @str.504, 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.222 + +while.hdr.222: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.223, label %while.exit.224 + +while.body.223: ; preds = %while.hdr.222 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.225, label %if.merge.226 + +while.exit.224: ; preds = %while.hdr.222 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 1 }) + ret { ptr, i64 } %callN + +if.then.225: ; preds = %while.body.223 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.226 + +if.merge.226: ; preds = %if.then.225, %while.body.223 + %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.509, 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.510, 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 @@ -5807,19 +6038,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.217 + br label %while.hdr.222 -fv.default: ; preds = %if.merge.221 +fv.default: ; preds = %if.merge.226 br label %fv.merge -fv.case: ; preds = %if.merge.221 +fv.case: ; preds = %if.merge.226 %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.221 +fv.case17: ; preds = %if.merge.226 %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 @@ -5833,93 +6064,7 @@ 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.491, i64 4 }, { ptr, i64 } { ptr @str.492, 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.222 - -while.hdr.222: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.223, label %while.exit.224 - -while.body.223: ; preds = %while.hdr.222 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.225, label %if.merge.226 - -while.exit.224: ; preds = %while.hdr.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) - ret { ptr, i64 } %callN - -if.then.225: ; preds = %while.body.223 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.226 - -if.merge.226: ; preds = %if.then.225, %while.body.223 - %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.498, 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.499, 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.222 - -fv.default: ; preds = %if.merge.226 - br label %fv.merge - -fv.case: ; preds = %if.merge.226 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.226 - %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.226 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.500, i64 6 }, { ptr, i64 } { ptr @str.501, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.511, i64 4 }, { ptr, i64 } { ptr @str.512, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5938,24 +6083,110 @@ while.body.228: ; preds = %while.hdr.227 while.exit.229: ; preds = %while.hdr.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) ret { ptr, i64 } %callN if.then.230: ; preds = %while.body.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.231 if.merge.231: ; preds = %if.then.230, %while.body.228 %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.507, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.518, 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.508, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, 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.227 + +fv.default: ; preds = %if.merge.231 + br label %fv.merge + +fv.case: ; preds = %if.merge.231 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.231 + %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.231 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.520, i64 6 }, { ptr, i64 } { ptr @str.521, 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.232 + +while.hdr.232: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.233, label %while.exit.234 + +while.body.233: ; preds = %while.hdr.232 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.235, label %if.merge.236 + +while.exit.234: ; preds = %while.hdr.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) + ret { ptr, i64 } %callN + +if.then.235: ; preds = %while.body.233 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.236 + +if.merge.236: ; preds = %if.then.235, %while.body.233 + %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.527, 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.528, 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 @@ -5974,24 +6205,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.227 + br label %while.hdr.232 -fv.default: ; preds = %if.merge.231 +fv.default: ; preds = %if.merge.236 br label %fv.merge -fv.case: ; preds = %if.merge.231 +fv.case: ; preds = %if.merge.236 %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.231 +fv.case17: ; preds = %if.merge.236 %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.231 +fv.case20: ; preds = %if.merge.236 %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 @@ -6004,43 +6235,43 @@ 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.509, i64 12 }, { ptr, i64 } { ptr @str.510, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, i64 12 }, { ptr, i64 } { ptr @str.530, 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.232 + br label %while.hdr.237 -while.hdr.232: ; preds = %if.merge.236, %entry +while.hdr.237: ; preds = %if.merge.241, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.233, label %while.exit.234 + br i1 %icmp, label %while.body.238, label %while.exit.239 -while.body.233: ; preds = %while.hdr.232 +while.body.238: ; preds = %while.hdr.237 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.235, label %if.merge.236 + br i1 %icmpN, label %if.then.240, label %if.merge.241 -while.exit.234: ; preds = %while.hdr.232 +while.exit.239: ; preds = %while.hdr.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 1 }) ret { ptr, i64 } %callN -if.then.235: ; preds = %while.body.233 +if.then.240: ; preds = %while.body.238 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.236 + br label %if.merge.241 -if.merge.236: ; preds = %if.then.235, %while.body.233 +if.merge.241: ; preds = %if.then.240, %while.body.238 %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.513, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.533, 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.514, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6051,7 +6282,7 @@ if.merge.236: ; preds = %if.then.235, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.232 + br label %while.hdr.237 } ; Function Attrs: nounwind @@ -6060,95 +6291,7 @@ 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.515, i64 8 }, { ptr, i64 } { ptr @str.516, 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.237 - -while.hdr.237: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.238, label %while.exit.239 - -while.body.238: ; preds = %while.hdr.237 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.240, label %if.merge.241 - -while.exit.239: ; preds = %while.hdr.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 1 }) - ret { ptr, i64 } %callN - -if.then.240: ; preds = %while.body.238 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.241 - -if.merge.241: ; preds = %if.then.240, %while.body.238 - %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.522, 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.523, 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.237 - -fv.default: ; preds = %if.merge.241 - br label %fv.merge - -fv.case: ; preds = %if.merge.241 - %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.241 - %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.241 - %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.524, i64 7 }, { ptr, i64 } { ptr @str.525, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.535, i64 8 }, { ptr, i64 } { ptr @str.536, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6167,24 +6310,112 @@ while.body.243: ; preds = %while.hdr.242 while.exit.244: ; preds = %while.hdr.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 1 }) ret { ptr, i64 } %callN if.then.245: ; preds = %while.body.243 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.246 if.merge.246: ; preds = %if.then.245, %while.body.243 %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.531, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.542, 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.532, i64 2 }) + %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 { { 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.242 + +fv.default: ; preds = %if.merge.246 + br label %fv.merge + +fv.case: ; preds = %if.merge.246 + %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.246 + %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.246 + %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.544, i64 7 }, { ptr, i64 } { ptr @str.545, 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.247 + +while.hdr.247: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.248, label %while.exit.249 + +while.body.248: ; preds = %while.hdr.247 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.250, label %if.merge.251 + +while.exit.249: ; preds = %while.hdr.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) + ret { ptr, i64 } %callN + +if.then.250: ; preds = %while.body.248 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.251 + +if.merge.251: ; preds = %if.then.250, %while.body.248 + %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.551, 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.552, 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 @@ -6203,26 +6434,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.242 + br label %while.hdr.247 -fv.default: ; preds = %if.merge.246 +fv.default: ; preds = %if.merge.251 br label %fv.merge -fv.case: ; preds = %if.merge.246 +fv.case: ; preds = %if.merge.251 %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.246 +fv.case17: ; preds = %if.merge.251 %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.246 +fv.case22: ; preds = %if.merge.251 %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 @@ -6236,86 +6467,7 @@ 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.533, i64 9 }, { ptr, i64 } { ptr @str.534, 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.247 - -while.hdr.247: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.248, label %while.exit.249 - -while.body.248: ; preds = %while.hdr.247 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.250, label %if.merge.251 - -while.exit.249: ; preds = %while.hdr.247 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) - ret { ptr, i64 } %callN - -if.then.250: ; preds = %while.body.248 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.251 - -if.merge.251: ; preds = %if.then.250, %while.body.248 - %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.539, 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.540, 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.247 - -fv.default: ; preds = %if.merge.251 - br label %fv.merge - -fv.case: ; preds = %if.merge.251 - %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.251 - %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.541, i64 4 }, { ptr, i64 } { ptr @str.542, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.553, i64 9 }, { ptr, i64 } { ptr @str.554, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6334,27 +6486,27 @@ while.body.253: ; preds = %while.hdr.252 while.exit.254: ; preds = %while.hdr.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) ret { ptr, i64 } %callN if.then.255: ; preds = %while.body.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.256 if.merge.256: ; preds = %if.then.255, %while.body.253 %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.547, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.559, 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.548, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, 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 { 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 @@ -6375,11 +6527,90 @@ fv.default: ; preds = %if.merge.256 br label %fv.merge fv.case: ; preds = %if.merge.256 + %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.256 + %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.561, i64 4 }, { ptr, i64 } { ptr @str.562, 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.257 + +while.hdr.257: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.258, label %while.exit.259 + +while.body.258: ; preds = %while.hdr.257 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.260, label %if.merge.261 + +while.exit.259: ; preds = %while.hdr.257 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + ret { ptr, i64 } %callN + +if.then.260: ; preds = %while.body.258 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.261 + +if.merge.261: ; preds = %if.then.260, %while.body.258 + %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.567, 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.568, 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.257 + +fv.default: ; preds = %if.merge.261 + br label %fv.merge + +fv.case: ; preds = %if.merge.261 %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.256 +fv.case17: ; preds = %if.merge.261 %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 @@ -6397,43 +6628,43 @@ entry: %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.549, i64 6 }, { ptr, i64 } { ptr @str.550, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.569, i64 6 }, { ptr, i64 } { ptr @str.570, 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.257 + br label %while.hdr.262 -while.hdr.257: ; preds = %fv.merge, %entry +while.hdr.262: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.258, label %while.exit.259 + br i1 %icmp, label %while.body.263, label %while.exit.264 -while.body.258: ; preds = %while.hdr.257 +while.body.263: ; preds = %while.hdr.262 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.260, label %if.merge.261 + br i1 %icmpN, label %if.then.265, label %if.merge.266 -while.exit.259: ; preds = %while.hdr.257 +while.exit.264: ; preds = %while.hdr.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.551, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) ret { ptr, i64 } %callN -if.then.260: ; preds = %while.body.258 +if.then.265: ; preds = %while.body.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.261 + br label %if.merge.266 -if.merge.261: ; preds = %if.then.260, %while.body.258 +if.merge.266: ; preds = %if.then.265, %while.body.263 %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.560, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.580, 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.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, 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 @@ -6456,51 +6687,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.257 + br label %while.hdr.262 -fv.default: ; preds = %if.merge.261 +fv.default: ; preds = %if.merge.266 br label %fv.merge -fv.case: ; preds = %if.merge.261 +fv.case: ; preds = %if.merge.266 %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.261 +fv.case17: ; preds = %if.merge.266 %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.261 +fv.case22: ; preds = %if.merge.266 %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.261 +fv.case25: ; preds = %if.merge.266 %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.261 +fv.case28: ; preds = %if.merge.266 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.261 +fv.case33: ; preds = %if.merge.266 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.261 +fv.case38: ; preds = %if.merge.266 %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 @@ -6515,43 +6746,43 @@ entry: %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.562, i64 6 }, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 6 }, { ptr, i64 } { ptr @str.583, 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.262 + br label %while.hdr.267 -while.hdr.262: ; preds = %fv.merge, %entry +while.hdr.267: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.263, label %while.exit.264 + br i1 %icmp, label %while.body.268, label %while.exit.269 -while.body.263: ; preds = %while.hdr.262 +while.body.268: ; preds = %while.hdr.267 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.265, label %if.merge.266 + br i1 %icmpN, label %if.then.270, label %if.merge.271 -while.exit.264: ; preds = %while.hdr.262 +while.exit.269: ; preds = %while.hdr.267 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) ret { ptr, i64 } %callN -if.then.265: ; preds = %while.body.263 +if.then.270: ; preds = %while.body.268 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.266 + br label %if.merge.271 -if.merge.266: ; preds = %if.then.265, %while.body.263 +if.merge.271: ; preds = %if.then.270, %while.body.268 %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.570, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.590, 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.571, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, 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 @@ -6571,31 +6802,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.262 + br label %while.hdr.267 -fv.default: ; preds = %if.merge.266 +fv.default: ; preds = %if.merge.271 br label %fv.merge -fv.case: ; preds = %if.merge.266 +fv.case: ; preds = %if.merge.271 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.266 +fv.case17: ; preds = %if.merge.271 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.266 +fv.case22: ; preds = %if.merge.271 %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.266 +fv.case25: ; preds = %if.merge.271 %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 @@ -6606,82 +6837,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.572, i64 8 }, { ptr, i64 } { ptr @str.573, 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.267 - -while.hdr.267: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.268, label %while.exit.269 - -while.body.268: ; preds = %while.hdr.267 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.270, label %if.merge.271 - -while.exit.269: ; preds = %while.hdr.267 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) - ret { ptr, i64 } %callN - -if.then.270: ; preds = %while.body.268 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.271 - -if.merge.271: ; preds = %if.then.270, %while.body.268 - %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.578, 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.579, 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.267 - -fv.default: ; preds = %if.merge.271 - br label %fv.merge - -fv.case: ; preds = %if.merge.271 - %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.271 - %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__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.580, i64 6 }, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 8 }, { ptr, i64 } { ptr @str.593, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6690,7 +6846,7 @@ entry: while.hdr.272: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.273, label %while.exit.274 while.body.273: ; preds = %while.hdr.272 @@ -6700,118 +6856,16 @@ while.body.273: ; preds = %while.hdr.272 while.exit.274: ; preds = %while.hdr.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) ret { ptr, i64 } %callN if.then.275: ; preds = %while.body.273 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.276 if.merge.276: ; preds = %if.then.275, %while.body.273 - %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.590, 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.591, 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.272 - -fv.default: ; preds = %if.merge.276 - br label %fv.merge - -fv.case: ; preds = %if.merge.276 - %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.276 - %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.276 - %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.276 - %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.276 - %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.276 - %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.592, i64 10 }, { ptr, i64 } { ptr @str.593, 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.277 - -while.hdr.277: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.278, label %while.exit.279 - -while.body.278: ; preds = %while.hdr.277 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 - -while.exit.279: ; preds = %while.hdr.277 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) - ret { ptr, i64 } %callN - -if.then.280: ; preds = %while.body.278 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 - -if.merge.281: ; preds = %if.then.280, %while.body.278 %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.598, i64 0, i64 %loadN @@ -6837,17 +6891,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.272 + +fv.default: ; preds = %if.merge.276 + br label %fv.merge + +fv.case: ; preds = %if.merge.276 + %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.276 + %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__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.600, i64 6 }, { ptr, i64 } { ptr @str.601, 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.277 + +while.hdr.277: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.278, label %while.exit.279 + +while.body.278: ; preds = %while.hdr.277 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.280, label %if.merge.281 + +while.exit.279: ; preds = %while.hdr.277 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 1 }) + ret { ptr, i64 } %callN + +if.then.280: ; preds = %while.body.278 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.281 + +if.merge.281: ; preds = %if.then.280, %while.body.278 + %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.610, 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.611, 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.277 fv.default: ; preds = %if.merge.281 br label %fv.merge fv.case: ; preds = %if.merge.281 + %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.281 + %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.281 + %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.281 + %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.281 + %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.281 + %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.612, i64 10 }, { ptr, i64 } { ptr @str.613, 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.282 + +while.hdr.282: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.283, label %while.exit.284 + +while.body.283: ; preds = %while.hdr.282 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.285, label %if.merge.286 + +while.exit.284: ; preds = %while.hdr.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + ret { ptr, i64 } %callN + +if.then.285: ; preds = %while.body.283 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.286 + +if.merge.286: ; preds = %if.then.285, %while.body.283 + %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.618, 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.619, 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.282 + +fv.default: ; preds = %if.merge.286 + br label %fv.merge + +fv.case: ; preds = %if.merge.286 %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.281 +fv.case17: ; preds = %if.merge.286 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6858,43 +7089,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 5 }, { ptr, i64 } { ptr @str.601, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 5 }, { ptr, i64 } { ptr @str.621, 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.282 + br label %while.hdr.287 -while.hdr.282: ; preds = %fv.merge, %entry +while.hdr.287: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.283, label %while.exit.284 + br i1 %icmp, label %while.body.288, label %while.exit.289 -while.body.283: ; preds = %while.hdr.282 +while.body.288: ; preds = %while.hdr.287 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.285, label %if.merge.286 + br i1 %icmpN, label %if.then.290, label %if.merge.291 -while.exit.284: ; preds = %while.hdr.282 +while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) ret { ptr, i64 } %callN -if.then.285: ; preds = %while.body.283 +if.then.290: ; preds = %while.body.288 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.286 + br label %if.merge.291 -if.merge.286: ; preds = %if.then.285, %while.body.283 +if.merge.291: ; preds = %if.then.290, %while.body.288 %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.611, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.631, 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.612, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, 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, i64 }, ptr %alloca, align 8 @@ -6917,47 +7148,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.282 + br label %while.hdr.287 -fv.default: ; preds = %if.merge.286 +fv.default: ; preds = %if.merge.291 br label %fv.merge -fv.case: ; preds = %if.merge.286 +fv.case: ; preds = %if.merge.291 %fv.field = extractvalue { i32, i64, 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.286 +fv.case17: ; preds = %if.merge.291 %fv.field18 = extractvalue { i32, i64, 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.286 +fv.case20: ; preds = %if.merge.291 %fv.field21 = extractvalue { i32, i64, 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.286 +fv.case23: ; preds = %if.merge.291 %fv.field24 = extractvalue { i32, i64, 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.286 +fv.case27: ; preds = %if.merge.291 %fv.field28 = extractvalue { i32, i64, 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.286 +fv.case31: ; preds = %if.merge.291 %fv.field32 = extractvalue { i32, i64, 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.286 +fv.case35: ; preds = %if.merge.291 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6968,43 +7199,43 @@ 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.613, i64 4 }, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 4 }, { ptr, i64 } { ptr @str.634, 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.287 + br label %while.hdr.292 -while.hdr.287: ; preds = %fv.merge, %entry +while.hdr.292: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.288, label %while.exit.289 + br i1 %icmp, label %while.body.293, label %while.exit.294 -while.body.288: ; preds = %while.hdr.287 +while.body.293: ; preds = %while.hdr.292 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.290, label %if.merge.291 + br i1 %icmpN, label %if.then.295, label %if.merge.296 -while.exit.289: ; preds = %while.hdr.287 +while.exit.294: ; preds = %while.hdr.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) ret { ptr, i64 } %callN -if.then.290: ; preds = %while.body.288 +if.then.295: ; preds = %while.body.293 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.291 + br label %if.merge.296 -if.merge.291: ; preds = %if.then.290, %while.body.288 +if.merge.296: ; preds = %if.then.295, %while.body.293 %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.618, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.638, 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.619, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, 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 @@ -7021,18 +7252,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.287 + br label %while.hdr.292 -fv.default: ; preds = %if.merge.291 +fv.default: ; preds = %if.merge.296 br label %fv.merge -fv.case: ; preds = %if.merge.291 +fv.case: ; preds = %if.merge.296 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 6 }, { ptr, i64 } { ptr @str.641, 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + ret { ptr, i64 } %callN + +if.then.300: ; preds = %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %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.651, 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.652, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %fv.field = extractvalue { i64, i32, 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.301 + %fv.field18 = extractvalue { i64, i32, 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.301 + %fv.field21 = extractvalue { i64, i32, 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.301 + %fv.field24 = extractvalue { i64, i32, 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.301 + %fv.field27 = extractvalue { i64, i32, 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.301 + %fv.field30 = extractvalue { i64, i32, 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.301 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.653, i64 7 }, { ptr, i64 } { ptr @str.654, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %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.663, 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.664, 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %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.306 + %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.306 + %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.306 + %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.306 + %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.306 + %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.665, i64 8 }, { ptr, i64 } { ptr @str.666, 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.307 + +while.hdr.307: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.308, label %while.exit.309 + +while.body.308: ; preds = %while.hdr.307 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.310, label %if.merge.311 + +while.exit.309: ; preds = %while.hdr.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 1 }) + ret { ptr, i64 } %callN + +if.then.310: ; preds = %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.311 + +if.merge.311: ; preds = %if.then.310, %while.body.308 + %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.673, 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.674, 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.307 + +fv.default: ; preds = %if.merge.311 + br label %fv.merge + +fv.case: ; preds = %if.merge.311 + %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.311 + %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.311 + %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.311 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 4 }, { ptr, i64 } { ptr @str.676, 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.312 + +while.hdr.312: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.313, label %while.exit.314 + +while.body.313: ; preds = %while.hdr.312 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.315, label %if.merge.316 + +while.exit.314: ; preds = %while.hdr.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 1 }) + ret { ptr, i64 } %callN + +if.then.315: ; preds = %while.body.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.678, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.316 + +if.merge.316: ; preds = %if.then.315, %while.body.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.690, 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.691, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.312 + +fv.default: ; preds = %if.merge.316 + br label %fv.merge + +fv.case: ; preds = %if.merge.316 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.316 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.316 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.316 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.316 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.316 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.316 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.316 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.316 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.316 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.316 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 6 }, { ptr, i64 } { ptr @str.693, 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.317 + +while.hdr.317: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.318, label %while.exit.319 + +while.body.318: ; preds = %while.hdr.317 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.320, label %if.merge.321 + +while.exit.319: ; preds = %while.hdr.317 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 1 }) + ret { ptr, i64 } %callN + +if.then.320: ; preds = %while.body.318 + %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 + br label %if.merge.321 + +if.merge.321: ; preds = %if.then.320, %while.body.318 + %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.702, 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.703, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.317 + +fv.default: ; preds = %if.merge.321 + br label %fv.merge + +fv.case: ; preds = %if.merge.321 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.321 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.321 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.321 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.321 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.321 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__ProposedSize(ptr %0, { { float, i1 }, { float, i1 } } %1) #0 { entry: @@ -7040,43 +7834,43 @@ entry: %ba.tmp = alloca { float, i1 }, align 8 %ba.tmp19 = alloca { float, i1 }, align 8 store { { float, i1 }, { float, i1 } } %1, ptr %alloca, align 4 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 12 }, { ptr, i64 } { ptr @str.621, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 12 }, { ptr, i64 } { ptr @str.705, 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.292 + br label %while.hdr.322 -while.hdr.292: ; preds = %fv.merge, %entry +while.hdr.322: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.293, label %while.exit.294 + br i1 %icmp, label %while.body.323, label %while.exit.324 -while.body.293: ; preds = %while.hdr.292 +while.body.323: ; preds = %while.hdr.322 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.295, label %if.merge.296 + br i1 %icmpN, label %if.then.325, label %if.merge.326 -while.exit.294: ; preds = %while.hdr.292 +while.exit.324: ; preds = %while.hdr.322 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) ret { ptr, i64 } %callN -if.then.295: ; preds = %while.body.293 +if.then.325: ; preds = %while.body.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %while.body.293 +if.merge.326: ; preds = %if.then.325, %while.body.323 %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.626, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.710, 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.627, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { float, i1 }, { float, i1 } }, ptr %alloca, align 4 @@ -7094,23 +7888,23 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.292 + br label %while.hdr.322 -fv.default: ; preds = %if.merge.296 +fv.default: ; preds = %if.merge.326 br label %fv.merge -fv.case: ; preds = %if.merge.296 +fv.case: ; preds = %if.merge.326 %fv.field = extractvalue { { float, i1 }, { float, i1 } } %loadN, 0 store { float, i1 } %fv.field, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.296 +fv.case17: ; preds = %if.merge.326 %fv.field18 = extractvalue { { float, i1 }, { float, i1 } } %loadN, 1 store { float, i1 } %fv.field18, ptr %ba.tmp19, align 4 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -7119,43 +7913,43 @@ define internal { ptr, i64 } @struct_to_string__Sizable(ptr %0, { ptr, ptr } %1) entry: %alloca = alloca { ptr, ptr }, align 8 store { ptr, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 7 }, { ptr, i64 } { ptr @str.629, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 7 }, { ptr, i64 } { ptr @str.713, 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.297 + br label %while.hdr.327 -while.hdr.297: ; preds = %fv.merge, %entry +while.hdr.327: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.298, label %while.exit.299 + br i1 %icmp, label %while.body.328, label %while.exit.329 -while.body.298: ; preds = %while.hdr.297 +while.body.328: ; preds = %while.hdr.327 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.300, label %if.merge.301 + br i1 %icmpN, label %if.then.330, label %if.merge.331 -while.exit.299: ; preds = %while.hdr.297 +while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) ret { ptr, i64 } %callN -if.then.300: ; preds = %while.body.298 +if.then.330: ; preds = %while.body.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + %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 - br label %if.merge.301 + br label %if.merge.331 -if.merge.301: ; preds = %if.then.300, %while.body.298 +if.merge.331: ; preds = %if.then.330, %while.body.328 %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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.718, 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.635, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -7173,18 +7967,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.297 + br label %while.hdr.327 -fv.default: ; preds = %if.merge.301 +fv.default: ; preds = %if.merge.331 br label %fv.merge -fv.case: ; preds = %if.merge.301 +fv.case: ; preds = %if.merge.331 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.301 +fv.case17: ; preds = %if.merge.331 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 @@ -7196,43 +7990,43 @@ define internal { ptr, i64 } @struct_to_string____Sizable__Vtable(ptr %0, { ptr entry: %alloca = alloca { ptr }, align 8 store { ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 17 }, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 17 }, { ptr, i64 } { ptr @str.721, 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.302 + br label %while.hdr.332 -while.hdr.302: ; preds = %fv.merge, %entry +while.hdr.332: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.303, label %while.exit.304 + br i1 %icmp, label %while.body.333, label %while.exit.334 -while.body.303: ; preds = %while.hdr.302 +while.body.333: ; preds = %while.hdr.332 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.305, label %if.merge.306 + br i1 %icmpN, label %if.then.335, label %if.merge.336 -while.exit.304: ; preds = %while.hdr.302 +while.exit.334: ; preds = %while.hdr.332 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) ret { ptr, i64 } %callN -if.then.305: ; preds = %while.body.303 +if.then.335: ; preds = %while.body.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.306 + br label %if.merge.336 -if.merge.306: ; preds = %if.then.305, %while.body.303 +if.merge.336: ; preds = %if.then.335, %while.body.333 %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.641, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.725, 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.642, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, 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 @@ -7249,12 +8043,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.302 + br label %while.hdr.332 -fv.default: ; preds = %if.merge.306 +fv.default: ; preds = %if.merge.336 br label %fv.merge -fv.case: ; preds = %if.merge.306 +fv.case: ; preds = %if.merge.336 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -7266,43 +8060,43 @@ define internal { ptr, i64 } @struct_to_string__Widget(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.643, i64 6 }, { ptr, i64 } { ptr @str.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 6 }, { ptr, i64 } { ptr @str.728, 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.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %if.merge.311, %entry +while.hdr.337: ; preds = %if.merge.341, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %callN -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %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.647, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.648, i64 2 }) + %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 {}, ptr %alloca, align 1 @@ -7313,7 +8107,7 @@ if.merge.311: ; preds = %if.then.310, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 } ; Function Attrs: nounwind @@ -7325,9 +8119,9 @@ entry: %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.654, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.738, 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.649, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, 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 @@ -7341,18 +8135,18 @@ entry: %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.319, label %if.merge.320 + br i1 %icmp, label %if.then.349, label %if.merge.350 -if.then.319: ; preds = %entry +if.then.349: ; 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.656, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, 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.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %entry +if.merge.350: ; preds = %if.then.349, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7366,9 +8160,9 @@ entry: %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.661, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.745, 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.657, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, 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 @@ -7382,18 +8176,18 @@ entry: %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.321, label %if.merge.322 + br i1 %icmp, label %if.then.351, label %if.merge.352 -if.then.321: ; preds = %entry +if.then.351: ; 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.663, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, 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.322 + br label %if.merge.352 -if.merge.322: ; preds = %if.then.321, %entry +if.merge.352: ; preds = %if.then.351, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7418,9 +8212,9 @@ entry: %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.671, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.755, 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.664, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, 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 @@ -7434,16 +8228,16 @@ entry: i64 5, label %fv.case24 ] -if.then.323: ; preds = %fv.merge +if.then.353: ; 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.673, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, 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.324 + br label %if.merge.354 -if.merge.324: ; preds = %if.then.323, %fv.merge +if.merge.354: ; preds = %if.then.353, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7456,7 +8250,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.323, label %if.merge.324 + br i1 %icmp, label %if.then.353, label %if.merge.354 fv.default: ; preds = %entry br label %fv.merge @@ -7516,9 +8310,9 @@ entry: %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.682, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.766, 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.674, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, 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 @@ -7532,18 +8326,18 @@ entry: %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.325, label %if.merge.326 + br i1 %icmp, label %if.then.355, label %if.merge.356 -if.then.325: ; preds = %entry +if.then.355: ; 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.684, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.768, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, 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.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %entry +if.merge.356: ; preds = %if.then.355, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7557,9 +8351,9 @@ entry: %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.691, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.775, 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.685, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, 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 @@ -7573,18 +8367,18 @@ entry: %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.327, label %if.merge.328 + br i1 %icmp, label %if.then.357, label %if.merge.358 -if.then.327: ; preds = %entry +if.then.357: ; 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.693, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.777, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, 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.328 + br label %if.merge.358 -if.merge.328: ; preds = %if.then.327, %entry +if.merge.358: ; preds = %if.then.357, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7596,33 +8390,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.694, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.778, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.337 + br label %while.hdr.367 -while.hdr.337: ; preds = %if.merge.341, %entry +while.hdr.367: ; preds = %if.merge.371, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.338, label %while.exit.339 + br i1 %icmp, label %while.body.368, label %while.exit.369 -while.body.338: ; preds = %while.hdr.337 +while.body.368: ; preds = %while.hdr.367 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.340, label %if.merge.341 + br i1 %icmpN, label %if.then.370, label %if.merge.371 -while.exit.339: ; preds = %while.hdr.337 +while.exit.369: ; preds = %while.hdr.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.779, i64 1 }) ret { ptr, i64 } %call -if.then.340: ; preds = %while.body.338 +if.then.370: ; preds = %while.body.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.341 + br label %if.merge.371 -if.merge.341: ; preds = %if.then.340, %while.body.338 +if.merge.371: ; preds = %if.then.370, %while.body.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7636,7 +8430,7 @@ if.merge.341: ; preds = %if.then.340, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.337 + br label %while.hdr.367 } ; Function Attrs: nounwind @@ -7647,33 +8441,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.697, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.781, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.342 + br label %while.hdr.372 -while.hdr.342: ; preds = %if.merge.346, %entry +while.hdr.372: ; preds = %if.merge.376, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.343, label %while.exit.344 + br i1 %icmp, label %while.body.373, label %while.exit.374 -while.body.343: ; preds = %while.hdr.342 +while.body.373: ; preds = %while.hdr.372 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.345, label %if.merge.346 + br i1 %icmpN, label %if.then.375, label %if.merge.376 -while.exit.344: ; preds = %while.hdr.342 +while.exit.374: ; preds = %while.hdr.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.698, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.782, i64 1 }) ret { ptr, i64 } %call -if.then.345: ; preds = %while.body.343 +if.then.375: ; preds = %while.body.373 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.783, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.346 + br label %if.merge.376 -if.merge.346: ; preds = %if.then.345, %while.body.343 +if.merge.376: ; preds = %if.then.375, %while.body.373 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7689,7 +8483,7 @@ if.merge.346: ; preds = %if.then.345, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.342 + br label %while.hdr.372 } ; Function Attrs: nounwind @@ -7699,33 +8493,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.700, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.784, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.347 + br label %while.hdr.377 -while.hdr.347: ; preds = %if.merge.351, %entry +while.hdr.377: ; preds = %if.merge.381, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.348, label %while.exit.349 + br i1 %icmp, label %while.body.378, label %while.exit.379 -while.body.348: ; preds = %while.hdr.347 +while.body.378: ; preds = %while.hdr.377 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.350, label %if.merge.351 + br i1 %icmpN, label %if.then.380, label %if.merge.381 -while.exit.349: ; preds = %while.hdr.347 +while.exit.379: ; preds = %while.hdr.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.701, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.785, i64 1 }) ret { ptr, i64 } %call -if.then.350: ; preds = %while.body.348 +if.then.380: ; preds = %while.body.378 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.786, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.351 + br label %if.merge.381 -if.merge.351: ; preds = %if.then.350, %while.body.348 +if.merge.381: ; preds = %if.then.380, %while.body.378 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7739,7 +8533,7 @@ if.merge.351: ; preds = %if.then.350, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.347 + br label %while.hdr.377 } ; Function Attrs: nounwind @@ -7749,33 +8543,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.703, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.787, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.352 + br label %while.hdr.382 -while.hdr.352: ; preds = %if.merge.356, %entry +while.hdr.382: ; preds = %if.merge.386, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.353, label %while.exit.354 + br i1 %icmp, label %while.body.383, label %while.exit.384 -while.body.353: ; preds = %while.hdr.352 +while.body.383: ; preds = %while.hdr.382 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.355, label %if.merge.356 + br i1 %icmpN, label %if.then.385, label %if.merge.386 -while.exit.354: ; preds = %while.hdr.352 +while.exit.384: ; preds = %while.hdr.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.788, i64 1 }) ret { ptr, i64 } %call -if.then.355: ; preds = %while.body.353 +if.then.385: ; preds = %while.body.383 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.356 + br label %if.merge.386 -if.merge.356: ; preds = %if.then.355, %while.body.353 +if.merge.386: ; preds = %if.then.385, %while.body.383 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7790,7 +8584,7 @@ if.merge.356: ; preds = %if.then.355, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.352 + br label %while.hdr.382 } ; Function Attrs: nounwind @@ -7800,33 +8594,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.706, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.790, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 -while.hdr.357: ; preds = %if.merge.361, %entry +while.hdr.387: ; preds = %if.merge.391, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.358, label %while.exit.359 + br i1 %icmp, label %while.body.388, label %while.exit.389 -while.body.358: ; preds = %while.hdr.357 +while.body.388: ; preds = %while.hdr.387 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.360, label %if.merge.361 + br i1 %icmpN, label %if.then.390, label %if.merge.391 -while.exit.359: ; preds = %while.hdr.357 +while.exit.389: ; preds = %while.hdr.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.791, i64 1 }) ret { ptr, i64 } %call -if.then.360: ; preds = %while.body.358 +if.then.390: ; preds = %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.361 + br label %if.merge.391 -if.merge.361: ; preds = %if.then.360, %while.body.358 +if.merge.391: ; preds = %if.then.390, %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7840,7 +8634,7 @@ if.merge.361: ; preds = %if.then.360, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 } ; Function Attrs: nounwind @@ -7851,33 +8645,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.709, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.793, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 -while.hdr.362: ; preds = %if.merge.366, %entry +while.hdr.392: ; preds = %if.merge.396, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.363, label %while.exit.364 + br i1 %icmp, label %while.body.393, label %while.exit.394 -while.body.363: ; preds = %while.hdr.362 +while.body.393: ; preds = %while.hdr.392 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.365, label %if.merge.366 + br i1 %icmpN, label %if.then.395, label %if.merge.396 -while.exit.364: ; preds = %while.hdr.362 +while.exit.394: ; preds = %while.hdr.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 1 }) ret { ptr, i64 } %call -if.then.365: ; preds = %while.body.363 +if.then.395: ; preds = %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.366 + br label %if.merge.396 -if.merge.366: ; preds = %if.then.365, %while.body.363 +if.merge.396: ; preds = %if.then.395, %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7893,7 +8687,7 @@ if.merge.366: ; preds = %if.then.365, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 } ; Function Attrs: nounwind @@ -7903,35 +8697,35 @@ entry: %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.712, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.796, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 -while.hdr.375: ; preds = %if.merge.379, %entry +while.hdr.405: ; preds = %if.merge.409, %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.376, label %while.exit.377 + br i1 %icmp, label %while.body.406, label %while.exit.407 -while.body.376: ; preds = %while.hdr.375 +while.body.406: ; preds = %while.hdr.405 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.378, label %if.merge.379 + br i1 %icmpN, label %if.then.408, label %if.merge.409 -while.exit.377: ; preds = %while.hdr.375 +while.exit.407: ; preds = %while.hdr.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 1 }) ret { ptr, i64 } %call -if.then.378: ; preds = %while.body.376 +if.then.408: ; preds = %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) + %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.379 + br label %if.merge.409 -if.merge.379: ; preds = %if.then.378, %while.body.376 +if.merge.409: ; preds = %if.then.408, %while.body.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7947,7 +8741,7 @@ if.merge.379: ; preds = %if.then.378, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.375 + br label %while.hdr.405 } ; Function Attrs: nounwind @@ -7956,35 +8750,35 @@ 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.715, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.799, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 -while.hdr.380: ; preds = %if.merge.384, %entry +while.hdr.410: ; preds = %if.merge.414, %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.381, label %while.exit.382 + br i1 %icmp, label %while.body.411, label %while.exit.412 -while.body.381: ; preds = %while.hdr.380 +while.body.411: ; preds = %while.hdr.410 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.383, label %if.merge.384 + br i1 %icmpN, label %if.then.413, label %if.merge.414 -while.exit.382: ; preds = %while.hdr.380 +while.exit.412: ; preds = %while.hdr.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.800, i64 1 }) ret { ptr, i64 } %call -if.then.383: ; preds = %while.body.381 +if.then.413: ; preds = %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.384 + br label %if.merge.414 -if.merge.384: ; preds = %if.then.383, %while.body.381 +if.merge.414: ; preds = %if.then.413, %while.body.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7999,7 +8793,7 @@ if.merge.384: ; preds = %if.then.383, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.380 + br label %while.hdr.410 } ; Function Attrs: nounwind @@ -8009,35 +8803,35 @@ entry: %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.718, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.802, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 -while.hdr.385: ; preds = %if.merge.389, %entry +while.hdr.415: ; preds = %if.merge.419, %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.386, label %while.exit.387 + br i1 %icmp, label %while.body.416, label %while.exit.417 -while.body.386: ; preds = %while.hdr.385 +while.body.416: ; preds = %while.hdr.415 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.388, label %if.merge.389 + br i1 %icmpN, label %if.then.418, label %if.merge.419 -while.exit.387: ; preds = %while.hdr.385 +while.exit.417: ; preds = %while.hdr.415 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.719, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 1 }) ret { ptr, i64 } %call -if.then.388: ; preds = %while.body.386 +if.then.418: ; preds = %while.body.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.804, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.389 + br label %if.merge.419 -if.merge.389: ; preds = %if.then.388, %while.body.386 +if.merge.419: ; preds = %if.then.418, %while.body.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8053,7 +8847,7 @@ if.merge.389: ; preds = %if.then.388, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.385 + br label %while.hdr.415 } ; Function Attrs: nounwind @@ -8063,35 +8857,35 @@ entry: %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.721, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.805, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.390 + br label %while.hdr.420 -while.hdr.390: ; preds = %if.merge.394, %entry +while.hdr.420: ; preds = %if.merge.424, %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.391, label %while.exit.392 + br i1 %icmp, label %while.body.421, label %while.exit.422 -while.body.391: ; preds = %while.hdr.390 +while.body.421: ; preds = %while.hdr.420 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.393, label %if.merge.394 + br i1 %icmpN, label %if.then.423, label %if.merge.424 -while.exit.392: ; preds = %while.hdr.390 +while.exit.422: ; preds = %while.hdr.420 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 1 }) ret { ptr, i64 } %call -if.then.393: ; preds = %while.body.391 +if.then.423: ; preds = %while.body.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.394 + br label %if.merge.424 -if.merge.394: ; preds = %if.then.393, %while.body.391 +if.merge.424: ; preds = %if.then.423, %while.body.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8107,7 +8901,7 @@ if.merge.394: ; preds = %if.then.393, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.390 + br label %while.hdr.420 } ; Function Attrs: nounwind @@ -8117,35 +8911,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.724, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.808, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.395 + br label %while.hdr.425 -while.hdr.395: ; preds = %if.merge.399, %entry +while.hdr.425: ; preds = %if.merge.429, %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.396, label %while.exit.397 + br i1 %icmp, label %while.body.426, label %while.exit.427 -while.body.396: ; preds = %while.hdr.395 +while.body.426: ; preds = %while.hdr.425 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.398, label %if.merge.399 + br i1 %icmpN, label %if.then.428, label %if.merge.429 -while.exit.397: ; preds = %while.hdr.395 +while.exit.427: ; preds = %while.hdr.425 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.809, i64 1 }) ret { ptr, i64 } %call -if.then.398: ; preds = %while.body.396 +if.then.428: ; preds = %while.body.426 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.399 + br label %if.merge.429 -if.merge.399: ; preds = %if.then.398, %while.body.396 +if.merge.429: ; preds = %if.then.428, %while.body.426 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8161,7 +8955,7 @@ if.merge.399: ; preds = %if.then.398, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.395 + br label %while.hdr.425 } ; Function Attrs: nounwind @@ -8171,35 +8965,35 @@ entry: %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.727, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.811, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.400 + br label %while.hdr.430 -while.hdr.400: ; preds = %if.merge.404, %entry +while.hdr.430: ; preds = %if.merge.434, %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.401, label %while.exit.402 + br i1 %icmp, label %while.body.431, label %while.exit.432 -while.body.401: ; preds = %while.hdr.400 +while.body.431: ; preds = %while.hdr.430 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.403, label %if.merge.404 + br i1 %icmpN, label %if.then.433, label %if.merge.434 -while.exit.402: ; preds = %while.hdr.400 +while.exit.432: ; preds = %while.hdr.430 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.812, i64 1 }) ret { ptr, i64 } %call -if.then.403: ; preds = %while.body.401 +if.then.433: ; preds = %while.body.431 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) + %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 - br label %if.merge.404 + br label %if.merge.434 -if.merge.404: ; preds = %if.then.403, %while.body.401 +if.merge.434: ; preds = %if.then.433, %while.body.431 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -8215,206 +9009,11 @@ if.merge.404: ; preds = %if.then.403, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.400 + br label %while.hdr.430 } ; 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.448, label %if.else.449 - -if.then.448: ; preds = %entry - br label %if.merge.450 - -if.else.449: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.450 - -if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] - 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.464, label %if.else.465 - -if.then.464: ; preds = %entry - br label %if.merge.466 - -if.else.465: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.466 - -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] - 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.467, label %if.else.468 - -if.then.467: ; preds = %entry - br label %if.merge.469 - -if.else.468: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.469 - -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] - 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.470, label %if.else.471 - -if.then.470: ; preds = %entry - br label %if.merge.472 - -if.else.471: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.472 - -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] - 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.473, label %if.else.474 - -if.then.473: ; preds = %entry - br label %if.merge.475 - -if.else.474: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.475 - -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] - ret { ptr, i64 } %bp -} - -; 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.476, label %if.else.477 - -if.then.476: ; preds = %entry - br label %if.merge.478 - -if.else.477: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.478 - -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] - 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.479, label %if.else.480 - -if.then.479: ; preds = %entry - br label %if.merge.481 - -if.else.480: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.481 - -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] - 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 @@ -8432,12 +9031,207 @@ if.then.482: ; preds = %entry if.else.483: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 5 }, { ptr, i64 } %callN) br label %if.merge.484 if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + 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.498, label %if.else.499 + +if.then.498: ; preds = %entry + br label %if.merge.500 + +if.else.499: ; 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.819, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.500 + +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] + 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.501, label %if.else.502 + +if.then.501: ; preds = %entry + br label %if.merge.503 + +if.else.502: ; 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.822, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.503 + +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] + 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.504, label %if.else.505 + +if.then.504: ; preds = %entry + br label %if.merge.506 + +if.else.505: ; 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.825, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.506 + +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] + 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.507, label %if.else.508 + +if.then.507: ; preds = %entry + br label %if.merge.509 + +if.else.508: ; 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.828, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.509 + +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] + ret { ptr, i64 } %bp +} + +; 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.510, label %if.else.511 + +if.then.510: ; preds = %entry + br label %if.merge.512 + +if.else.511: ; 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.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.512 + +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] + 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.513, label %if.else.514 + +if.then.513: ; preds = %entry + br label %if.merge.515 + +if.else.514: ; 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.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.515 + +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + 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.516, label %if.else.517 + +if.then.516: ; preds = %entry + br label %if.merge.518 + +if.else.517: ; 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.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.518 + +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -8452,20 +9246,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -8480,20 +9274,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -8508,20 +9302,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -8536,20 +9330,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -8563,20 +9357,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -8591,20 +9385,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -8618,20 +9412,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.537, label %if.else.538 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.537: ; preds = %entry + br label %if.merge.539 -if.else.504: ; preds = %entry +if.else.538: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.539 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -8646,20 +9440,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.540, label %if.else.541 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.540: ; preds = %entry + br label %if.merge.542 -if.else.507: ; preds = %entry +if.else.541: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -8674,20 +9468,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.510: ; preds = %entry +if.else.544: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -8702,20 +9496,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.513: ; preds = %entry +if.else.547: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -8730,20 +9524,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.516: ; preds = %entry +if.else.550: ; 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.786, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8758,20 +9552,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.519: ; preds = %entry +if.else.553: ; 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.789, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8786,20 +9580,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.522: ; preds = %entry +if.else.556: ; 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.792, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.876, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8814,20 +9608,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.525: ; preds = %entry +if.else.559: ; 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.795, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8842,20 +9636,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.528: ; preds = %entry +if.else.562: ; 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.798, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.882, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.880, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8870,20 +9664,20 @@ entry: 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.530, label %if.else.531 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.530: ; preds = %entry - br label %if.merge.532 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.531: ; preds = %entry +if.else.565: ; 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.801, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.532 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.885, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.883, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8898,20 +9692,20 @@ entry: 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.533, label %if.else.534 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.533: ; preds = %entry - br label %if.merge.535 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.534: ; preds = %entry +if.else.568: ; 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.804, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.535 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.888, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.886, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8926,20 +9720,131 @@ entry: 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.536, label %if.else.537 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.536: ; preds = %entry - br label %if.merge.538 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.537: ; preds = %entry +if.else.571: ; 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.807, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.538 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.891, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.538: ; preds = %if.else.537, %if.then.536 - %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.889, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] + 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.573, label %if.else.574 + +if.then.573: ; preds = %entry + br label %if.merge.575 + +if.else.574: ; 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.894, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.575 + +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.892, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] + 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.576, label %if.else.577 + +if.then.576: ; preds = %entry + br label %if.merge.578 + +if.else.577: ; 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.897, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.578 + +if.merge.578: ; preds = %if.else.577, %if.then.576 + %bp = phi { ptr, i64 } [ { ptr @str.895, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] + 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.579, label %if.else.580 + +if.then.579: ; preds = %entry + br label %if.merge.581 + +if.else.580: ; 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.900, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.581 + +if.merge.581: ; preds = %if.else.580, %if.then.579 + %bp = phi { ptr, i64 } [ { ptr @str.898, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] + 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.582, label %if.else.583 + +if.then.582: ; preds = %entry + br label %if.merge.584 + +if.else.583: ; 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.903, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.584 + +if.merge.584: ; preds = %if.else.583, %if.then.582 + %bp = phi { ptr, i64 } [ { ptr @str.901, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] ret { ptr, i64 } %bp } @@ -8954,20 +9859,20 @@ entry: 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.539, label %if.else.540 + br i1 %icmp, label %if.then.585, label %if.else.586 -if.then.539: ; preds = %entry - br label %if.merge.541 +if.then.585: ; preds = %entry + br label %if.merge.587 -if.else.540: ; preds = %entry +if.else.586: ; 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.810, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.541 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.905, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.587 -if.merge.541: ; preds = %if.else.540, %if.then.539 - %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] +if.merge.587: ; preds = %if.else.586, %if.then.585 + %bp = phi { ptr, i64 } [ { ptr @str.904, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] ret { ptr, i64 } %bp } @@ -8982,20 +9887,20 @@ entry: 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.542, label %if.else.543 + br i1 %icmp, label %if.then.588, label %if.else.589 -if.then.542: ; preds = %entry - br label %if.merge.544 +if.then.588: ; preds = %entry + br label %if.merge.590 -if.else.543: ; preds = %entry +if.else.589: ; 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.813, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.544 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.590 -if.merge.544: ; preds = %if.else.543, %if.then.542 - %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] +if.merge.590: ; preds = %if.else.589, %if.then.588 + %bp = phi { ptr, i64 } [ { ptr @str.907, i64 4 }, %if.then.588 ], [ %callN, %if.else.589 ] ret { ptr, i64 } %bp } @@ -9010,20 +9915,20 @@ entry: 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.545, label %if.else.546 + br i1 %icmp, label %if.then.591, label %if.else.592 -if.then.545: ; preds = %entry - br label %if.merge.547 +if.then.591: ; preds = %entry + br label %if.merge.593 -if.else.546: ; preds = %entry +if.else.592: ; 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.816, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.547 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.912, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.593 -if.merge.547: ; preds = %if.else.546, %if.then.545 - %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] +if.merge.593: ; preds = %if.else.592, %if.then.591 + %bp = phi { ptr, i64 } [ { ptr @str.910, i64 4 }, %if.then.591 ], [ %callN, %if.else.592 ] ret { ptr, i64 } %bp } @@ -9038,20 +9943,20 @@ entry: 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.548, label %if.else.549 + br i1 %icmp, label %if.then.594, label %if.else.595 -if.then.548: ; preds = %entry - br label %if.merge.550 +if.then.594: ; preds = %entry + br label %if.merge.596 -if.else.549: ; preds = %entry +if.else.595: ; 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.819, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.550 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.596 -if.merge.550: ; preds = %if.else.549, %if.then.548 - %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] +if.merge.596: ; preds = %if.else.595, %if.then.594 + %bp = phi { ptr, i64 } [ { ptr @str.913, i64 4 }, %if.then.594 ], [ %callN, %if.else.595 ] ret { ptr, i64 } %bp } @@ -9066,20 +9971,20 @@ entry: 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.551, label %if.else.552 + br i1 %icmp, label %if.then.597, label %if.else.598 -if.then.551: ; preds = %entry - br label %if.merge.553 +if.then.597: ; preds = %entry + br label %if.merge.599 -if.else.552: ; preds = %entry +if.else.598: ; 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.822, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.553 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.599 -if.merge.553: ; preds = %if.else.552, %if.then.551 - %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] +if.merge.599: ; preds = %if.else.598, %if.then.597 + %bp = phi { ptr, i64 } [ { ptr @str.916, i64 4 }, %if.then.597 ], [ %callN, %if.else.598 ] ret { ptr, i64 } %bp } @@ -9094,20 +9999,20 @@ entry: 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.554, label %if.else.555 + br i1 %icmp, label %if.then.600, label %if.else.601 -if.then.554: ; preds = %entry - br label %if.merge.556 +if.then.600: ; preds = %entry + br label %if.merge.602 -if.else.555: ; preds = %entry +if.else.601: ; 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.825, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.556 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.602 -if.merge.556: ; preds = %if.else.555, %if.then.554 - %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] +if.merge.602: ; preds = %if.else.601, %if.then.600 + %bp = phi { ptr, i64 } [ { ptr @str.919, i64 4 }, %if.then.600 ], [ %callN, %if.else.601 ] ret { ptr, i64 } %bp } @@ -9122,20 +10027,20 @@ entry: 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.557, label %if.else.558 + br i1 %icmp, label %if.then.603, label %if.else.604 -if.then.557: ; preds = %entry - br label %if.merge.559 +if.then.603: ; preds = %entry + br label %if.merge.605 -if.else.558: ; preds = %entry +if.else.604: ; 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.828, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.559 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.605 -if.merge.559: ; preds = %if.else.558, %if.then.557 - %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] +if.merge.605: ; preds = %if.else.604, %if.then.603 + %bp = phi { ptr, i64 } [ { ptr @str.922, i64 4 }, %if.then.603 ], [ %callN, %if.else.604 ] ret { ptr, i64 } %bp } @@ -9150,20 +10055,20 @@ entry: 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.560, label %if.else.561 + br i1 %icmp, label %if.then.606, label %if.else.607 -if.then.560: ; preds = %entry - br label %if.merge.562 +if.then.606: ; preds = %entry + br label %if.merge.608 -if.else.561: ; preds = %entry +if.else.607: ; 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.831, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.562 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.608 -if.merge.562: ; preds = %if.else.561, %if.then.560 - %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] +if.merge.608: ; preds = %if.else.607, %if.then.606 + %bp = phi { ptr, i64 } [ { ptr @str.925, i64 4 }, %if.then.606 ], [ %callN, %if.else.607 ] ret { ptr, i64 } %bp } @@ -9178,20 +10083,20 @@ entry: 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.563, label %if.else.564 + br i1 %icmp, label %if.then.609, label %if.else.610 -if.then.563: ; preds = %entry - br label %if.merge.565 +if.then.609: ; preds = %entry + br label %if.merge.611 -if.else.564: ; preds = %entry +if.else.610: ; 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.834, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 13 }, { ptr, i64 } %callN) - br label %if.merge.565 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, i64 13 }, { ptr, i64 } %callN) + br label %if.merge.611 -if.merge.565: ; preds = %if.else.564, %if.then.563 - %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] +if.merge.611: ; preds = %if.else.610, %if.then.609 + %bp = phi { ptr, i64 } [ { ptr @str.928, i64 4 }, %if.then.609 ], [ %callN, %if.else.610 ] ret { ptr, i64 } %bp } @@ -9206,20 +10111,20 @@ entry: 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.566, label %if.else.567 + br i1 %icmp, label %if.then.612, label %if.else.613 -if.then.566: ; preds = %entry - br label %if.merge.568 +if.then.612: ; preds = %entry + br label %if.merge.614 -if.else.567: ; preds = %entry +if.else.613: ; 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.837, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.568 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.932, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.614 -if.merge.568: ; preds = %if.else.567, %if.then.566 - %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] +if.merge.614: ; preds = %if.else.613, %if.then.612 + %bp = phi { ptr, i64 } [ { ptr @str.931, i64 4 }, %if.then.612 ], [ %callN, %if.else.613 ] ret { ptr, i64 } %bp } @@ -9234,20 +10139,20 @@ entry: 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.569, label %if.else.570 + br i1 %icmp, label %if.then.615, label %if.else.616 -if.then.569: ; preds = %entry - br label %if.merge.571 +if.then.615: ; preds = %entry + br label %if.merge.617 -if.else.570: ; preds = %entry +if.else.616: ; 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.840, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.571 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.935, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.617 -if.merge.571: ; preds = %if.else.570, %if.then.569 - %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] +if.merge.617: ; preds = %if.else.616, %if.then.615 + %bp = phi { ptr, i64 } [ { ptr @str.934, i64 4 }, %if.then.615 ], [ %callN, %if.else.616 ] ret { ptr, i64 } %bp } @@ -9262,20 +10167,20 @@ entry: 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.572, label %if.else.573 + br i1 %icmp, label %if.then.618, label %if.else.619 -if.then.572: ; preds = %entry - br label %if.merge.574 +if.then.618: ; preds = %entry + br label %if.merge.620 -if.else.573: ; preds = %entry +if.else.619: ; 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.843, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.574 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.938, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.620 -if.merge.574: ; preds = %if.else.573, %if.then.572 - %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] +if.merge.620: ; preds = %if.else.619, %if.then.618 + %bp = phi { ptr, i64 } [ { ptr @str.937, i64 4 }, %if.then.618 ], [ %callN, %if.else.619 ] ret { ptr, i64 } %bp } @@ -9290,20 +10195,20 @@ entry: 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.575, label %if.else.576 + br i1 %icmp, label %if.then.621, label %if.else.622 -if.then.575: ; preds = %entry - br label %if.merge.577 +if.then.621: ; preds = %entry + br label %if.merge.623 -if.else.576: ; preds = %entry +if.else.622: ; 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.846, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.577 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.942, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.623 -if.merge.577: ; preds = %if.else.576, %if.then.575 - %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] +if.merge.623: ; preds = %if.else.622, %if.then.621 + %bp = phi { ptr, i64 } [ { ptr @str.940, i64 4 }, %if.then.621 ], [ %callN, %if.else.622 ] ret { ptr, i64 } %bp } @@ -9318,20 +10223,20 @@ entry: 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.578, label %if.else.579 + br i1 %icmp, label %if.then.624, label %if.else.625 -if.then.578: ; preds = %entry - br label %if.merge.580 +if.then.624: ; preds = %entry + br label %if.merge.626 -if.else.579: ; preds = %entry +if.else.625: ; 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.849, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.580 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.944, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.626 -if.merge.580: ; preds = %if.else.579, %if.then.578 - %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] +if.merge.626: ; preds = %if.else.625, %if.then.624 + %bp = phi { ptr, i64 } [ { ptr @str.943, i64 4 }, %if.then.624 ], [ %callN, %if.else.625 ] ret { ptr, i64 } %bp } @@ -9346,20 +10251,20 @@ entry: 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.581, label %if.else.582 + br i1 %icmp, label %if.then.627, label %if.else.628 -if.then.581: ; preds = %entry - br label %if.merge.583 +if.then.627: ; preds = %entry + br label %if.merge.629 -if.else.582: ; preds = %entry +if.else.628: ; 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.852, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 18 }, { ptr, i64 } %callN) - br label %if.merge.583 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.948, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.947, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.629 -if.merge.583: ; preds = %if.else.582, %if.then.581 - %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] +if.merge.629: ; preds = %if.else.628, %if.then.627 + %bp = phi { ptr, i64 } [ { ptr @str.946, i64 4 }, %if.then.627 ], [ %callN, %if.else.628 ] ret { ptr, i64 } %bp } @@ -9372,12 +10277,12 @@ entry: %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.592, label %if.merge.593 + br i1 %lnot, label %if.then.638, label %if.merge.639 -if.then.592: ; preds = %entry - ret { ptr, i64 } { ptr @str.853, i64 4 } +if.then.638: ; preds = %entry + ret { ptr, i64 } { ptr @str.949, i64 4 } -if.merge.593: ; preds = %entry +if.merge.639: ; 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 @@ -9396,12 +10301,12 @@ entry: %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.594, label %if.merge.595 + br i1 %lnot, label %if.then.640, label %if.merge.641 -if.then.594: ; preds = %entry - ret { ptr, i64 } { ptr @str.854, i64 4 } +if.then.640: ; preds = %entry + ret { ptr, i64 } { ptr @str.950, i64 4 } -if.merge.595: ; preds = %entry +if.merge.641: ; 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 @@ -9419,12 +10324,12 @@ entry: %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.596, label %if.merge.597 + br i1 %lnot, label %if.then.642, label %if.merge.643 -if.then.596: ; preds = %entry - ret { ptr, i64 } { ptr @str.855, i64 4 } +if.then.642: ; preds = %entry + ret { ptr, i64 } { ptr @str.951, i64 4 } -if.merge.597: ; preds = %entry +if.merge.643: ; 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 @@ -9441,12 +10346,12 @@ entry: %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.598, label %if.merge.599 + br i1 %lnot, label %if.then.644, label %if.merge.645 -if.then.598: ; preds = %entry - ret { ptr, i64 } { ptr @str.856, i64 4 } +if.then.644: ; preds = %entry + ret { ptr, i64 } { ptr @str.952, i64 4 } -if.merge.599: ; preds = %entry +if.merge.645: ; 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 @@ -9465,12 +10370,12 @@ entry: %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.600, label %if.merge.601 + br i1 %lnot, label %if.then.646, label %if.merge.647 -if.then.600: ; preds = %entry - ret { ptr, i64 } { ptr @str.857, i64 4 } +if.then.646: ; preds = %entry + ret { ptr, i64 } { ptr @str.953, i64 4 } -if.merge.601: ; preds = %entry +if.merge.647: ; 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 @@ -9488,12 +10393,12 @@ entry: %load = load { float, i1 }, ptr %alloca, align 4 %oh.has = extractvalue { float, i1 } %load, 1 %lnot = xor i1 %oh.has, true - br i1 %lnot, label %if.then.602, label %if.merge.603 + br i1 %lnot, label %if.then.648, label %if.merge.649 -if.then.602: ; preds = %entry - ret { ptr, i64 } { ptr @str.858, i64 4 } +if.then.648: ; preds = %entry + ret { ptr, i64 } { ptr @str.954, i64 4 } -if.merge.603: ; preds = %entry +if.merge.649: ; preds = %entry %loadN = load { float, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { float, i1 } %loadN, 0 %fNi32 = bitcast float %ou.val to i32 diff --git a/examples/expected/0904-optionals-any-to-string-optional.ir b/examples/expected/0904-optionals-any-to-string-optional.ir index 23a331d..56aadf5 100644 --- a/examples/expected/0904-optionals-any-to-string-optional.ir +++ b/examples/expected/0904-optionals-any-to-string-optional.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [191 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] +@__sx_type_is_unsigned = private constant [209 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,465 +28,465 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.102 = private constant [5 x i8] c"bool\00" -@tn.str.103 = private constant [3 x i8] c"i8\00" -@tn.str.104 = private constant [4 x i8] c"i16\00" -@tn.str.105 = private constant [4 x i8] c"i32\00" -@tn.str.106 = private constant [4 x i8] c"i64\00" -@tn.str.107 = private constant [3 x i8] c"u8\00" -@tn.str.108 = private constant [4 x i8] c"u16\00" -@tn.str.109 = private constant [4 x i8] c"u32\00" -@tn.str.110 = private constant [4 x i8] c"u64\00" -@tn.str.111 = private constant [4 x i8] c"f32\00" -@tn.str.112 = private constant [4 x i8] c"f64\00" -@tn.str.113 = private constant [7 x i8] c"string\00" -@tn.str.114 = private constant [4 x i8] c"Any\00" -@tn.str.115 = private constant [9 x i8] c"noreturn\00" -@tn.str.116 = private constant [6 x i8] c"isize\00" -@tn.str.117 = private constant [6 x i8] c"usize\00" -@tn.str.118 = private constant [5 x i8] c"void\00" -@tn.str.119 = private constant [8 x i8] c"cstring\00" -@tn.str.120 = private constant [6 x i8] c"*void\00" -@tn.str.121 = private constant [16 x i8] c"Source_Location\00" -@tn.str.122 = private constant [10 x i8] c"Allocator\00" -@tn.str.123 = private constant [8 x i8] c"Context\00" -@tn.str.124 = private constant [7 x i8] c"[4]i64\00" -@tn.str.125 = private constant [9 x i8] c"[]string\00" -@tn.str.126 = private constant [11 x i8] c"CAllocator\00" -@tn.str.127 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.128 = private constant [4 x i8] c"GPA\00" -@tn.str.129 = private constant [5 x i8] c"*GPA\00" -@tn.str.130 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.131 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.132 = private constant [6 x i8] c"Arena\00" -@tn.str.133 = private constant [7 x i8] c"*Arena\00" -@tn.str.134 = private constant [6 x i8] c"[*]u8\00" -@tn.str.135 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.136 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.137 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.138 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.139 = private constant [9 x i8] c"OpenMode\00" -@tn.str.140 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.141 = private constant [5 x i8] c"File\00" -@tn.str.142 = private constant [6 x i8] c"*File\00" -@tn.str.143 = private constant [6 x i8] c"?File\00" -@tn.str.144 = private constant [8 x i8] c"?string\00" -@tn.str.145 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.146 = private constant [9 x i8] c"?cstring\00" -@tn.str.147 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.148 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.149 = private constant [5 x i8] c"*i32\00" -@tn.str.150 = private constant [9 x i8] c"SockAddr\00" -@tn.str.151 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.152 = private constant [5 x i8] c"*u32\00" -@tn.str.153 = private constant [8 x i8] c"SockErr\00" -@tn.str.154 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.155 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.156 = private constant [10 x i8] c"JsonError\00" -@tn.str.157 = private constant [6 x i8] c"Array\00" -@tn.str.158 = private constant [7 x i8] c"Object\00" -@tn.str.159 = private constant [6 x i8] c"Value\00" -@tn.str.160 = private constant [7 x i8] c"Member\00" -@tn.str.161 = private constant [9 x i8] c"[*]Value\00" -@tn.str.162 = private constant [7 x i8] c"*Array\00" -@tn.str.163 = private constant [10 x i8] c"[*]Member\00" -@tn.str.164 = private constant [8 x i8] c"*Object\00" -@tn.str.165 = private constant [5 x i8] c"[]u8\00" -@tn.str.166 = private constant [5 x i8] c"Sink\00" -@tn.str.167 = private constant [6 x i8] c"*Sink\00" -@tn.str.168 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.169 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.170 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.171 = private constant [7 x i8] c"Parser\00" -@tn.str.172 = private constant [8 x i8] c"*Parser\00" -@tn.str.173 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.174 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.175 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.176 = private constant [13 x i8] c"Architecture\00" -@tn.str.177 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.178 = private constant [11 x i8] c"() -> bool\00" -@tn.str.179 = private constant [5 x i8] c"*i64\00" -@tn.str.180 = private constant [9 x i8] c"CliError\00" -@tn.str.181 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.182 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.183 = private constant [8 x i8] c"Command\00" -@tn.str.184 = private constant [10 x i8] c"FlagValue\00" -@tn.str.185 = private constant [5 x i8] c"Diag\00" -@tn.str.186 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.187 = private constant [7 x i8] c"Parsed\00" -@tn.str.188 = private constant [8 x i8] c"*Parsed\00" -@tn.str.189 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.190 = private constant [10 x i8] c"[]Command\00" -@tn.str.191 = private constant [6 x i8] c"*Diag\00" -@tn.str.192 = private constant [7 x i8] c"[8]i64\00" -@tn.str.193 = private constant [7 x i8] c"[64]u8\00" -@tn.str.194 = private constant [7 x i8] c"Sha256\00" -@tn.str.195 = private constant [8 x i8] c"*Sha256\00" -@tn.str.196 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.197 = private constant [8 x i8] c"[64]i64\00" -@tn.str.198 = private constant [9 x i8] c"Timespec\00" -@tn.str.199 = private constant [10 x i8] c"*Timespec\00" -@tn.str.200 = private constant [7 x i8] c"Kevent\00" -@tn.str.201 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.202 = private constant [8 x i8] c"*Kevent\00" -@tn.str.203 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.204 = private constant [9 x i8] c"EventErr\00" -@tn.str.205 = private constant [6 x i8] c"Event\00" -@tn.str.206 = private constant [5 x i8] c"Loop\00" -@tn.str.207 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.208 = private constant [6 x i8] c"*Loop\00" -@tn.str.209 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.210 = private constant [8 x i8] c"[]Event\00" -@tn.str.211 = private constant [5 x i8] c"?i64\00" -@tn.str.212 = private constant [6 x i8] c"?bool\00" -@tn.str.213 = private constant [2 x i8] c"S\00" -@tn.str.214 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.215 = private constant [7 x i8] c"**void\00" -@tn.str.216 = private constant [3 x i8] c"*S\00" -@tn.str.217 = private constant [8 x i8] c"*string\00" -@tn.str.218 = private constant [6 x i8] c"[]Any\00" -@tn.str.219 = private constant [5 x i8] c"*Any\00" -@tn.str.220 = private constant [7 x i8] c"[1]Any\00" -@tn.str.221 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.222 = private constant [7 x i8] c"*[]Any\00" -@tn.str.223 = private constant [4 x i8] c"*u8\00" -@tn.str.224 = private constant [6 x i8] c"*bool\00" -@tn.str.225 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.226 = private constant [5 x i8] c"*f64\00" -@tn.str.227 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.228 = private constant [11 x i8] c"*Allocator\00" -@tn.str.229 = private constant [9 x i8] c"*Context\00" -@tn.str.230 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.231 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.232 = private constant [8 x i8] c"*Member\00" -@tn.str.233 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.234 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.235 = private constant [9 x i8] c"*Command\00" -@tn.str.236 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.237 = private constant [7 x i8] c"*Event\00" -@tn.str.238 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.239 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.240 = private constant [7 x i8] c"*Value\00" -@tn.str.241 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.242 = private constant [14 x i8] c"*Architecture\00" -@tn.str.243 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.244 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.245 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.246 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.247 = private constant [10 x i8] c"*[]string\00" -@tn.str.248 = private constant [6 x i8] c"*[]u8\00" -@tn.str.249 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.250 = private constant [11 x i8] c"*[]Command\00" -@tn.str.251 = private constant [9 x i8] c"*[]Event\00" -@tn.str.252 = private constant [6 x i8] c"**GPA\00" -@tn.str.253 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.254 = private constant [8 x i8] c"**Arena\00" -@tn.str.255 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.256 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.257 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.258 = private constant [7 x i8] c"**File\00" -@tn.str.259 = private constant [6 x i8] c"**i32\00" -@tn.str.260 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.261 = private constant [6 x i8] c"**u32\00" -@tn.str.262 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.263 = private constant [8 x i8] c"**Array\00" -@tn.str.264 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.265 = private constant [9 x i8] c"**Object\00" -@tn.str.266 = private constant [7 x i8] c"**Sink\00" -@tn.str.267 = private constant [9 x i8] c"**Parser\00" -@tn.str.268 = private constant [6 x i8] c"**i64\00" -@tn.str.269 = private constant [9 x i8] c"**Parsed\00" -@tn.str.270 = private constant [7 x i8] c"**Diag\00" -@tn.str.271 = private constant [9 x i8] c"**Sha256\00" -@tn.str.272 = private constant [11 x i8] c"**Timespec\00" -@tn.str.273 = private constant [9 x i8] c"**Kevent\00" -@tn.str.274 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.275 = private constant [7 x i8] c"**Loop\00" -@tn.str.276 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.277 = private constant [8 x i8] c"***void\00" -@tn.str.278 = private constant [4 x i8] c"**S\00" -@tn.str.279 = private constant [9 x i8] c"**string\00" -@tn.str.280 = private constant [6 x i8] c"**Any\00" -@tn.str.281 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.282 = private constant [8 x i8] c"**[]Any\00" -@tn.str.283 = private constant [5 x i8] c"**u8\00" -@tn.str.284 = private constant [7 x i8] c"**bool\00" -@tn.str.285 = private constant [7 x i8] c"*?File\00" -@tn.str.286 = private constant [9 x i8] c"*?string\00" -@tn.str.287 = private constant [10 x i8] c"*?cstring\00" -@tn.str.288 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.289 = private constant [9 x i8] c"*?[64]u8\00" -@tn.str.290 = private constant [6 x i8] c"*?i64\00" -@tn.str.291 = private constant [7 x i8] c"*?bool\00" -@__sx_type_names = private constant [191 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.102, i64 4 }, { ptr, i64 } { ptr @tn.str.103, i64 2 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 3 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 6 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 8 }, { ptr, i64 } { ptr @tn.str.116, i64 5 }, { ptr, i64 } { ptr @tn.str.117, i64 5 }, { ptr, i64 } { ptr @tn.str.118, i64 4 }, { ptr, i64 } { ptr @tn.str.119, i64 7 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 15 }, { ptr, i64 } { ptr @tn.str.122, i64 9 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 8 }, { ptr, i64 } { ptr @tn.str.126, i64 10 }, { ptr, i64 } { ptr @tn.str.127, i64 11 }, { ptr, i64 } { ptr @tn.str.128, i64 3 }, { ptr, i64 } { ptr @tn.str.129, i64 4 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 5 }, { ptr, i64 } { ptr @tn.str.133, i64 6 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 9 }, { ptr, i64 } { ptr @tn.str.137, i64 17 }, { ptr, i64 } { ptr @tn.str.138, i64 18 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 5 }, { ptr, i64 } { ptr @tn.str.143, i64 5 }, { ptr, i64 } { ptr @tn.str.144, i64 7 }, { ptr, i64 } { ptr @tn.str.145, i64 10 }, { ptr, i64 } { ptr @tn.str.146, i64 8 }, { ptr, i64 } { ptr @tn.str.147, i64 13 }, { ptr, i64 } { ptr @tn.str.148, i64 14 }, { ptr, i64 } { ptr @tn.str.149, i64 4 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 14 }, { ptr, i64 } { ptr @tn.str.155, i64 14 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 6 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 8 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 9 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 4 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 5 }, { ptr, i64 } { ptr @tn.str.168, i64 16 }, { ptr, i64 } { ptr @tn.str.169, i64 14 }, { ptr, i64 } { ptr @tn.str.170, i64 21 }, { ptr, i64 } { ptr @tn.str.171, i64 6 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 24 }, { ptr, i64 } { ptr @tn.str.174, i64 23 }, { ptr, i64 } { ptr @tn.str.175, i64 15 }, { ptr, i64 } { ptr @tn.str.176, i64 12 }, { ptr, i64 } { ptr @tn.str.177, i64 12 }, { ptr, i64 } { ptr @tn.str.178, i64 10 }, { ptr, i64 } { ptr @tn.str.179, i64 4 }, { ptr, i64 } { ptr @tn.str.180, i64 8 }, { ptr, i64 } { ptr @tn.str.181, i64 8 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 9 }, { ptr, i64 } { ptr @tn.str.185, i64 4 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 9 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 15 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 5 }, { ptr, i64 } { ptr @tn.str.213, i64 1 }, { ptr, i64 } { ptr @tn.str.214, i64 12 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 2 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 5 }, { ptr, i64 } { ptr @tn.str.219, i64 4 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 3 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 16 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 8 }, { ptr, i64 } { ptr @tn.str.230, i64 11 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 13 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 9 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 11 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 12 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 19 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 12 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 13 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 3 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 7 }, { ptr, i64 } { ptr @tn.str.283, i64 4 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 9 }, { ptr, i64 } { ptr @tn.str.288, i64 15 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 5 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }] -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.297 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.298 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.299 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.301 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.302 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.303 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.304 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.306 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.307 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.308 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.309 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.310 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.312 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.314 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@tn.str.104 = private constant [5 x i8] c"bool\00" +@tn.str.105 = private constant [3 x i8] c"i8\00" +@tn.str.106 = private constant [4 x i8] c"i16\00" +@tn.str.107 = private constant [4 x i8] c"i32\00" +@tn.str.108 = private constant [4 x i8] c"i64\00" +@tn.str.109 = private constant [3 x i8] c"u8\00" +@tn.str.110 = private constant [4 x i8] c"u16\00" +@tn.str.111 = private constant [4 x i8] c"u32\00" +@tn.str.112 = private constant [4 x i8] c"u64\00" +@tn.str.113 = private constant [4 x i8] c"f32\00" +@tn.str.114 = private constant [4 x i8] c"f64\00" +@tn.str.115 = private constant [7 x i8] c"string\00" +@tn.str.116 = private constant [4 x i8] c"Any\00" +@tn.str.117 = private constant [9 x i8] c"noreturn\00" +@tn.str.118 = private constant [6 x i8] c"isize\00" +@tn.str.119 = private constant [6 x i8] c"usize\00" +@tn.str.120 = private constant [5 x i8] c"void\00" +@tn.str.121 = private constant [8 x i8] c"cstring\00" +@tn.str.122 = private constant [6 x i8] c"*void\00" +@tn.str.123 = private constant [16 x i8] c"Source_Location\00" +@tn.str.124 = private constant [10 x i8] c"Allocator\00" +@tn.str.125 = private constant [8 x i8] c"Context\00" +@tn.str.126 = private constant [7 x i8] c"[4]i64\00" +@tn.str.127 = private constant [9 x i8] c"[]string\00" +@tn.str.128 = private constant [11 x i8] c"CAllocator\00" +@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.130 = private constant [4 x i8] c"GPA\00" +@tn.str.131 = private constant [5 x i8] c"*GPA\00" +@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.134 = private constant [6 x i8] c"Arena\00" +@tn.str.135 = private constant [7 x i8] c"*Arena\00" +@tn.str.136 = private constant [6 x i8] c"[*]u8\00" +@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.141 = private constant [9 x i8] c"OpenMode\00" +@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.143 = private constant [5 x i8] c"File\00" +@tn.str.144 = private constant [6 x i8] c"*File\00" +@tn.str.145 = private constant [6 x i8] c"?File\00" +@tn.str.146 = private constant [8 x i8] c"?string\00" +@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.148 = private constant [9 x i8] c"?cstring\00" +@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.151 = private constant [5 x i8] c"*i32\00" +@tn.str.152 = private constant [9 x i8] c"SockAddr\00" +@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.154 = private constant [5 x i8] c"*u32\00" +@tn.str.155 = private constant [8 x i8] c"SockErr\00" +@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.158 = private constant [10 x i8] c"JsonError\00" +@tn.str.159 = private constant [6 x i8] c"Array\00" +@tn.str.160 = private constant [7 x i8] c"Object\00" +@tn.str.161 = private constant [6 x i8] c"Value\00" +@tn.str.162 = private constant [7 x i8] c"Member\00" +@tn.str.163 = private constant [9 x i8] c"[*]Value\00" +@tn.str.164 = private constant [7 x i8] c"*Array\00" +@tn.str.165 = private constant [10 x i8] c"[*]Member\00" +@tn.str.166 = private constant [8 x i8] c"*Object\00" +@tn.str.167 = private constant [5 x i8] c"[]u8\00" +@tn.str.168 = private constant [5 x i8] c"Sink\00" +@tn.str.169 = private constant [6 x i8] c"*Sink\00" +@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.173 = private constant [7 x i8] c"Parser\00" +@tn.str.174 = private constant [8 x i8] c"*Parser\00" +@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.178 = private constant [13 x i8] c"Architecture\00" +@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.180 = private constant [11 x i8] c"() -> bool\00" +@tn.str.181 = private constant [5 x i8] c"*i64\00" +@tn.str.182 = private constant [9 x i8] c"CliError\00" +@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.185 = private constant [8 x i8] c"Command\00" +@tn.str.186 = private constant [10 x i8] c"FlagValue\00" +@tn.str.187 = private constant [5 x i8] c"Diag\00" +@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.189 = private constant [7 x i8] c"Parsed\00" +@tn.str.190 = private constant [8 x i8] c"*Parsed\00" +@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.192 = private constant [10 x i8] c"[]Command\00" +@tn.str.193 = private constant [6 x i8] c"*Diag\00" +@tn.str.194 = private constant [7 x i8] c"[8]i64\00" +@tn.str.195 = private constant [7 x i8] c"[64]u8\00" +@tn.str.196 = private constant [7 x i8] c"Sha256\00" +@tn.str.197 = private constant [8 x i8] c"*Sha256\00" +@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.199 = private constant [8 x i8] c"[64]i64\00" +@tn.str.200 = private constant [9 x i8] c"Timespec\00" +@tn.str.201 = private constant [10 x i8] c"*Timespec\00" +@tn.str.202 = private constant [7 x i8] c"Kevent\00" +@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.204 = private constant [8 x i8] c"*Kevent\00" +@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.206 = private constant [9 x i8] c"EventErr\00" +@tn.str.207 = private constant [6 x i8] c"Event\00" +@tn.str.208 = private constant [5 x i8] c"Loop\00" +@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.210 = private constant [6 x i8] c"*Loop\00" +@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.212 = private constant [8 x i8] c"[]Event\00" +@tn.str.213 = private constant [8 x i8] c"HttpErr\00" +@tn.str.214 = private constant [7 x i8] c"Config\00" +@tn.str.215 = private constant [8 x i8] c"Request\00" +@tn.str.216 = private constant [9 x i8] c"Response\00" +@tn.str.217 = private constant [9 x i8] c"*Request\00" +@tn.str.218 = private constant [5 x i8] c"Conn\00" +@tn.str.219 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.220 = private constant [10 x i8] c"*Response\00" +@tn.str.221 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.222 = private constant [7 x i8] c"Server\00" +@tn.str.223 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.224 = private constant [8 x i8] c"*Server\00" +@tn.str.225 = private constant [5 x i8] c"?i64\00" +@tn.str.226 = private constant [6 x i8] c"?bool\00" +@tn.str.227 = private constant [2 x i8] c"S\00" +@tn.str.228 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.229 = private constant [7 x i8] c"**void\00" +@tn.str.230 = private constant [3 x i8] c"*S\00" +@tn.str.231 = private constant [8 x i8] c"*string\00" +@tn.str.232 = private constant [6 x i8] c"[]Any\00" +@tn.str.233 = private constant [5 x i8] c"*Any\00" +@tn.str.234 = private constant [7 x i8] c"[1]Any\00" +@tn.str.235 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.236 = private constant [7 x i8] c"*[]Any\00" +@tn.str.237 = private constant [4 x i8] c"*u8\00" +@tn.str.238 = private constant [6 x i8] c"*bool\00" +@tn.str.239 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.240 = private constant [5 x i8] c"*f64\00" +@tn.str.241 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.242 = private constant [11 x i8] c"*Allocator\00" +@tn.str.243 = private constant [9 x i8] c"*Context\00" +@tn.str.244 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.245 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.246 = private constant [8 x i8] c"*Member\00" +@tn.str.247 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.248 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.249 = private constant [9 x i8] c"*Command\00" +@tn.str.250 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.251 = private constant [7 x i8] c"*Event\00" +@tn.str.252 = private constant [8 x i8] c"*Config\00" +@tn.str.253 = private constant [6 x i8] c"*Conn\00" +@tn.str.254 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.255 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.256 = private constant [7 x i8] c"*Value\00" +@tn.str.257 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.258 = private constant [14 x i8] c"*Architecture\00" +@tn.str.259 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.260 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.261 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.262 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.263 = private constant [10 x i8] c"*[]string\00" +@tn.str.264 = private constant [6 x i8] c"*[]u8\00" +@tn.str.265 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.266 = private constant [11 x i8] c"*[]Command\00" +@tn.str.267 = private constant [9 x i8] c"*[]Event\00" +@tn.str.268 = private constant [6 x i8] c"**GPA\00" +@tn.str.269 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.270 = private constant [8 x i8] c"**Arena\00" +@tn.str.271 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.272 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.273 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.274 = private constant [7 x i8] c"**File\00" +@tn.str.275 = private constant [6 x i8] c"**i32\00" +@tn.str.276 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.277 = private constant [6 x i8] c"**u32\00" +@tn.str.278 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.279 = private constant [8 x i8] c"**Array\00" +@tn.str.280 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.281 = private constant [9 x i8] c"**Object\00" +@tn.str.282 = private constant [7 x i8] c"**Sink\00" +@tn.str.283 = private constant [9 x i8] c"**Parser\00" +@tn.str.284 = private constant [6 x i8] c"**i64\00" +@tn.str.285 = private constant [9 x i8] c"**Parsed\00" +@tn.str.286 = private constant [7 x i8] c"**Diag\00" +@tn.str.287 = private constant [9 x i8] c"**Sha256\00" +@tn.str.288 = private constant [11 x i8] c"**Timespec\00" +@tn.str.289 = private constant [9 x i8] c"**Kevent\00" +@tn.str.290 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.291 = private constant [7 x i8] c"**Loop\00" +@tn.str.292 = private constant [10 x i8] c"**Request\00" +@tn.str.293 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.294 = private constant [11 x i8] c"**Response\00" +@tn.str.295 = private constant [9 x i8] c"**Server\00" +@tn.str.296 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.297 = private constant [8 x i8] c"***void\00" +@tn.str.298 = private constant [4 x i8] c"**S\00" +@tn.str.299 = private constant [9 x i8] c"**string\00" +@tn.str.300 = private constant [6 x i8] c"**Any\00" +@tn.str.301 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.302 = private constant [8 x i8] c"**[]Any\00" +@tn.str.303 = private constant [5 x i8] c"**u8\00" +@tn.str.304 = private constant [7 x i8] c"**bool\00" +@tn.str.305 = private constant [7 x i8] c"*?File\00" +@tn.str.306 = private constant [9 x i8] c"*?string\00" +@tn.str.307 = private constant [10 x i8] c"*?cstring\00" +@tn.str.308 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.309 = private constant [9 x i8] c"*?[64]u8\00" +@tn.str.310 = private constant [6 x i8] c"*?i64\00" +@tn.str.311 = private constant [7 x i8] c"*?bool\00" +@__sx_type_names = private constant [209 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 6 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 21 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 17 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 4 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 1 }, { ptr, i64 } { ptr @tn.str.228, i64 12 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 2 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 3 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 4 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 10 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 11 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 5 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 16 }, { ptr, i64 } { ptr @tn.str.258, i64 13 }, { ptr, i64 } { ptr @tn.str.259, i64 14 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 11 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 19 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 10 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 12 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 9 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 10 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 13 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 3 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 7 }, { ptr, i64 } { ptr @tn.str.303, i64 4 }, { ptr, i64 } { ptr @tn.str.304, i64 6 }, { ptr, i64 } { ptr @tn.str.305, i64 6 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 15 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }, { ptr, i64 } { ptr @tn.str.310, i64 5 }, { ptr, i64 } { ptr @tn.str.311, i64 6 }] +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.316 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.317 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.318 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.319 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.317 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.318 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.319 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str = private constant [5 x i8] c"file\00" -@fld.str.321 = private constant [5 x i8] c"line\00" -@fld.str.322 = private constant [4 x i8] c"col\00" -@fld.str.323 = 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.321, i64 4 }, { ptr, i64 } { ptr @fld.str.322, i64 3 }, { ptr, i64 } { ptr @fld.str.323, i64 4 }] -@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.325 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.326 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.327 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.321 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.322 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.323 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.324 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.326 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.327 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.329 = private constant [4 x i8] c"ctx\00" -@fld.str.330 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.331 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.332 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.329, i64 3 }, { ptr, i64 } { ptr @fld.str.330, i64 11 }, { ptr, i64 } { ptr @fld.str.331, i64 13 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.335 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.336 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.337 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.338 = private constant [10 x i8] c"allocator\00" -@fld.str.339 = private constant [5 x i8] c"data\00" -@field_names.340 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 9 }, { ptr, i64 } { ptr @fld.str.339, i64 4 }] -@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.342 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.343 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.345 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.346 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.348 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.349 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.350 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.351 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.352 = private constant [12 x i8] c"alloc_count\00" -@field_names.353 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 11 }] -@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.355 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.356 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.357 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.358 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.359 = private constant [5 x i8] c"next\00" -@fld.str.360 = private constant [4 x i8] c"cap\00" -@field_names.361 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 4 }, { ptr, i64 } { ptr @fld.str.360, i64 3 }] -@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.363 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.367 = private constant [6 x i8] c"first\00" -@fld.str.368 = private constant [10 x i8] c"end_index\00" -@fld.str.369 = private constant [7 x i8] c"parent\00" -@field_names.370 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 5 }, { ptr, i64 } { ptr @fld.str.368, i64 9 }, { ptr, i64 } { ptr @fld.str.369, i64 6 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.375 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.376 = private constant [4 x i8] c"buf\00" -@fld.str.377 = private constant [4 x i8] c"len\00" -@fld.str.378 = private constant [4 x i8] c"pos\00" -@field_names.379 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 3 }, { ptr, i64 } { ptr @fld.str.377, i64 3 }, { ptr, i64 } { ptr @fld.str.378, i64 3 }] -@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.381 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.383 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.384 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.385 = private constant [7 x i8] c"parent\00" -@fld.str.386 = private constant [12 x i8] c"alloc_count\00" -@fld.str.387 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.388 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.389 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 6 }, { ptr, i64 } { ptr @fld.str.386, i64 11 }, { ptr, i64 } { ptr @fld.str.387, i64 13 }, { ptr, i64 } { ptr @fld.str.388, i64 17 }] -@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.391 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.392 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.393 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.394 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.395 = private constant [3 x i8] c"fd\00" -@field_names.396 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 2 }] -@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.398 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.399 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.400 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.401 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.402 = private constant [5 x i8] c"file\00" -@fld.str.403 = private constant [5 x i8] c"line\00" -@fld.str.404 = private constant [4 x i8] c"col\00" -@fld.str.405 = private constant [5 x i8] c"func\00" -@fld.str.406 = private constant [10 x i8] c"line_text\00" -@field_names.407 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.402, i64 4 }, { ptr, i64 } { ptr @fld.str.403, i64 4 }, { ptr, i64 } { ptr @fld.str.404, i64 3 }, { ptr, i64 } { ptr @fld.str.405, i64 4 }, { ptr, i64 } { ptr @fld.str.406, i64 9 }] -@str.408 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.409 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.410 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.411 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.412 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.413 = private constant [10 x i8] c"exit_code\00" -@fld.str.414 = private constant [7 x i8] c"stdout\00" -@field_names.415 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.413, i64 9 }, { ptr, i64 } { ptr @fld.str.414, i64 6 }] -@str.416 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.417 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.418 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.420 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.421 = private constant [8 x i8] c"sin_len\00" -@fld.str.422 = private constant [11 x i8] c"sin_family\00" -@fld.str.423 = private constant [9 x i8] c"sin_port\00" -@fld.str.424 = private constant [9 x i8] c"sin_addr\00" -@fld.str.425 = private constant [9 x i8] c"sin_zero\00" -@field_names.426 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 7 }, { ptr, i64 } { ptr @fld.str.422, i64 10 }, { ptr, i64 } { ptr @fld.str.423, i64 8 }, { ptr, i64 } { ptr @fld.str.424, i64 8 }, { ptr, i64 } { ptr @fld.str.425, i64 8 }] -@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.428 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.429 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.430 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.431 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.432 = private constant [6 x i8] c"items\00" -@fld.str.433 = private constant [4 x i8] c"len\00" -@fld.str.434 = private constant [4 x i8] c"cap\00" -@field_names.435 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.432, i64 5 }, { ptr, i64 } { ptr @fld.str.433, i64 3 }, { ptr, i64 } { ptr @fld.str.434, i64 3 }] +@str.329 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.330 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.332 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.333 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 +@str.334 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.335 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.336 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.337 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.338 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.339 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.340 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str = private constant [5 x i8] c"file\00" +@fld.str.341 = private constant [5 x i8] c"line\00" +@fld.str.342 = private constant [4 x i8] c"col\00" +@fld.str.343 = 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.341, i64 4 }, { ptr, i64 } { ptr @fld.str.342, i64 3 }, { ptr, i64 } { ptr @fld.str.343, i64 4 }] +@str.344 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.345 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.346 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.347 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.348 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.349 = private constant [4 x i8] c"ctx\00" +@fld.str.350 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.351 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.352 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.349, i64 3 }, { ptr, i64 } { ptr @fld.str.350, i64 11 }, { ptr, i64 } { ptr @fld.str.351, i64 13 }] +@str.353 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.354 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.355 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.356 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.358 = private constant [10 x i8] c"allocator\00" +@fld.str.359 = private constant [5 x i8] c"data\00" +@field_names.360 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.358, i64 9 }, { ptr, i64 } { ptr @fld.str.359, i64 4 }] +@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.362 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.363 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.365 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.366 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.368 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.369 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.370 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.371 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.372 = private constant [12 x i8] c"alloc_count\00" +@field_names.373 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 11 }] +@str.374 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.375 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.376 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.377 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.378 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.379 = private constant [5 x i8] c"next\00" +@fld.str.380 = private constant [4 x i8] c"cap\00" +@field_names.381 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.379, i64 4 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }] +@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.383 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.387 = private constant [6 x i8] c"first\00" +@fld.str.388 = private constant [10 x i8] c"end_index\00" +@fld.str.389 = private constant [7 x i8] c"parent\00" +@field_names.390 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 5 }, { ptr, i64 } { ptr @fld.str.388, i64 9 }, { ptr, i64 } { ptr @fld.str.389, i64 6 }] +@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.392 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.396 = private constant [4 x i8] c"buf\00" +@fld.str.397 = private constant [4 x i8] c"len\00" +@fld.str.398 = private constant [4 x i8] c"pos\00" +@field_names.399 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 3 }, { ptr, i64 } { ptr @fld.str.397, i64 3 }, { ptr, i64 } { ptr @fld.str.398, i64 3 }] +@str.400 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.401 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.403 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.404 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.405 = private constant [7 x i8] c"parent\00" +@fld.str.406 = private constant [12 x i8] c"alloc_count\00" +@fld.str.407 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.408 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.409 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 6 }, { ptr, i64 } { ptr @fld.str.406, i64 11 }, { ptr, i64 } { ptr @fld.str.407, i64 13 }, { ptr, i64 } { ptr @fld.str.408, i64 17 }] +@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.411 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.412 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.413 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.414 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.415 = private constant [3 x i8] c"fd\00" +@field_names.416 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 2 }] +@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.418 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.422 = private constant [5 x i8] c"file\00" +@fld.str.423 = private constant [5 x i8] c"line\00" +@fld.str.424 = private constant [4 x i8] c"col\00" +@fld.str.425 = private constant [5 x i8] c"func\00" +@fld.str.426 = private constant [10 x i8] c"line_text\00" +@field_names.427 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 4 }, { ptr, i64 } { ptr @fld.str.423, i64 4 }, { ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 9 }] +@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.429 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.430 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.431 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.432 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.433 = private constant [10 x i8] c"exit_code\00" +@fld.str.434 = private constant [7 x i8] c"stdout\00" +@field_names.435 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.433, i64 9 }, { ptr, i64 } { ptr @fld.str.434, i64 6 }] @str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.437 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.441 = private constant [6 x i8] c"items\00" -@fld.str.442 = private constant [4 x i8] c"len\00" -@fld.str.443 = private constant [4 x i8] c"cap\00" -@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 5 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 3 }] -@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.450 = private constant [4 x i8] c"key\00" -@fld.str.451 = private constant [4 x i8] c"val\00" -@field_names.452 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 3 }, { ptr, i64 } { ptr @fld.str.451, i64 3 }] -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.455 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.457 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.458 = private constant [4 x i8] c"dst\00" -@fld.str.459 = private constant [4 x i8] c"pos\00" -@fld.str.460 = private constant [5 x i8] c"file\00" -@field_names.461 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 3 }, { ptr, i64 } { ptr @fld.str.459, i64 3 }, { ptr, i64 } { ptr @fld.str.460, i64 4 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [4 x i8] c"src\00" -@fld.str.468 = private constant [4 x i8] c"pos\00" -@fld.str.469 = private constant [6 x i8] c"alloc\00" -@field_names.470 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 3 }, { ptr, i64 } { ptr @fld.str.468, i64 3 }, { ptr, i64 } { ptr @fld.str.469, i64 5 }] -@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.472 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.473 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.475 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.476 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.478 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.479 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.480 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.481 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.482 = private constant [5 x i8] c"name\00" -@fld.str.483 = private constant [12 x i8] c"takes_value\00" -@fld.str.484 = private constant [9 x i8] c"required\00" -@field_names.485 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 4 }, { ptr, i64 } { ptr @fld.str.483, i64 11 }, { ptr, i64 } { ptr @fld.str.484, i64 8 }] -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.491 = private constant [6 x i8] c"group\00" -@fld.str.492 = private constant [8 x i8] c"command\00" -@fld.str.493 = private constant [6 x i8] c"flags\00" -@field_names.494 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 5 }, { ptr, i64 } { ptr @fld.str.492, i64 7 }, { ptr, i64 } { ptr @fld.str.493, i64 5 }] -@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.496 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.498 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.499 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.500 = private constant [4 x i8] c"set\00" -@fld.str.501 = private constant [6 x i8] c"value\00" -@field_names.502 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.500, i64 3 }, { ptr, i64 } { ptr @fld.str.501, i64 5 }] -@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.504 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.505 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.507 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.508 = private constant [6 x i8] c"index\00" -@fld.str.509 = private constant [6 x i8] c"token\00" -@field_names.510 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 5 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }] -@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.512 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.513 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.515 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.516 = private constant [6 x i8] c"group\00" -@fld.str.517 = private constant [8 x i8] c"command\00" -@fld.str.518 = private constant [10 x i8] c"cmd_index\00" -@fld.str.519 = private constant [5 x i8] c"json\00" -@fld.str.520 = private constant [5 x i8] c"rest\00" -@fld.str.521 = private constant [5 x i8] c"spec\00" -@fld.str.522 = private constant [7 x i8] c"values\00" -@field_names.523 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 7 }, { ptr, i64 } { ptr @fld.str.518, i64 9 }, { ptr, i64 } { ptr @fld.str.519, i64 4 }, { ptr, i64 } { ptr @fld.str.520, i64 4 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 6 }] -@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.525 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.526 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.527 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.528 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.529 = private constant [2 x i8] c"h\00" -@fld.str.530 = private constant [4 x i8] c"buf\00" -@fld.str.531 = private constant [8 x i8] c"buf_len\00" -@fld.str.532 = private constant [10 x i8] c"total_len\00" -@field_names.533 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 1 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 7 }, { ptr, i64 } { ptr @fld.str.532, i64 9 }] -@str.534 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.535 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.536 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.537 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.538 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.539 = private constant [4 x i8] c"sec\00" -@fld.str.540 = private constant [5 x i8] c"nsec\00" -@field_names.541 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.539, i64 3 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }] -@str.542 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.543 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.544 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.545 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.546 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.547 = private constant [6 x i8] c"ident\00" -@fld.str.548 = private constant [7 x i8] c"filter\00" -@fld.str.549 = private constant [6 x i8] c"flags\00" -@fld.str.550 = private constant [7 x i8] c"fflags\00" -@fld.str.551 = private constant [5 x i8] c"data\00" -@fld.str.552 = private constant [6 x i8] c"udata\00" -@field_names.553 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.547, i64 5 }, { ptr, i64 } { ptr @fld.str.548, i64 6 }, { ptr, i64 } { ptr @fld.str.549, i64 5 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 4 }, { ptr, i64 } { ptr @fld.str.552, i64 5 }] +@fld.str.441 = private constant [8 x i8] c"sin_len\00" +@fld.str.442 = private constant [11 x i8] c"sin_family\00" +@fld.str.443 = private constant [9 x i8] c"sin_port\00" +@fld.str.444 = private constant [9 x i8] c"sin_addr\00" +@fld.str.445 = private constant [9 x i8] c"sin_zero\00" +@field_names.446 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 7 }, { ptr, i64 } { ptr @fld.str.442, i64 10 }, { ptr, i64 } { ptr @fld.str.443, i64 8 }, { ptr, i64 } { ptr @fld.str.444, i64 8 }, { ptr, i64 } { ptr @fld.str.445, i64 8 }] +@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.448 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.452 = private constant [6 x i8] c"items\00" +@fld.str.453 = private constant [4 x i8] c"len\00" +@fld.str.454 = private constant [4 x i8] c"cap\00" +@field_names.455 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 5 }, { ptr, i64 } { ptr @fld.str.453, i64 3 }, { ptr, i64 } { ptr @fld.str.454, i64 3 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.458 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.460 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.461 = private constant [6 x i8] c"items\00" +@fld.str.462 = private constant [4 x i8] c"len\00" +@fld.str.463 = private constant [4 x i8] c"cap\00" +@field_names.464 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 5 }, { ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.469 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.470 = private constant [4 x i8] c"key\00" +@fld.str.471 = private constant [4 x i8] c"val\00" +@field_names.472 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 3 }] +@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.474 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.478 = private constant [4 x i8] c"dst\00" +@fld.str.479 = private constant [4 x i8] c"pos\00" +@fld.str.480 = private constant [5 x i8] c"file\00" +@field_names.481 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 3 }, { ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 4 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.487 = private constant [4 x i8] c"src\00" +@fld.str.488 = private constant [4 x i8] c"pos\00" +@fld.str.489 = private constant [6 x i8] c"alloc\00" +@field_names.490 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }, { ptr, i64 } { ptr @fld.str.489, i64 5 }] +@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.492 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.493 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.495 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.496 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.498 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.499 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.501 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.502 = private constant [5 x i8] c"name\00" +@fld.str.503 = private constant [12 x i8] c"takes_value\00" +@fld.str.504 = private constant [9 x i8] c"required\00" +@field_names.505 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 4 }, { ptr, i64 } { ptr @fld.str.503, i64 11 }, { ptr, i64 } { ptr @fld.str.504, i64 8 }] +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.511 = private constant [6 x i8] c"group\00" +@fld.str.512 = private constant [8 x i8] c"command\00" +@fld.str.513 = private constant [6 x i8] c"flags\00" +@field_names.514 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 5 }, { ptr, i64 } { ptr @fld.str.512, i64 7 }, { ptr, i64 } { ptr @fld.str.513, i64 5 }] +@str.515 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.516 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.517 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.518 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.519 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.520 = private constant [4 x i8] c"set\00" +@fld.str.521 = private constant [6 x i8] c"value\00" +@field_names.522 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 3 }, { ptr, i64 } { ptr @fld.str.521, i64 5 }] +@str.523 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.524 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.525 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.526 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.527 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.528 = private constant [6 x i8] c"index\00" +@fld.str.529 = private constant [6 x i8] c"token\00" +@field_names.530 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 5 }] +@str.531 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.532 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.533 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.535 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.536 = private constant [6 x i8] c"group\00" +@fld.str.537 = private constant [8 x i8] c"command\00" +@fld.str.538 = private constant [10 x i8] c"cmd_index\00" +@fld.str.539 = private constant [5 x i8] c"json\00" +@fld.str.540 = private constant [5 x i8] c"rest\00" +@fld.str.541 = private constant [5 x i8] c"spec\00" +@fld.str.542 = private constant [7 x i8] c"values\00" +@field_names.543 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.536, i64 5 }, { ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 9 }, { ptr, i64 } { ptr @fld.str.539, i64 4 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 6 }] +@str.544 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.545 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.546 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.547 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.549 = private constant [2 x i8] c"h\00" +@fld.str.550 = private constant [4 x i8] c"buf\00" +@fld.str.551 = private constant [8 x i8] c"buf_len\00" +@fld.str.552 = private constant [10 x i8] c"total_len\00" +@field_names.553 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.549, i64 1 }, { ptr, i64 } { ptr @fld.str.550, i64 3 }, { ptr, i64 } { ptr @fld.str.551, i64 7 }, { ptr, i64 } { ptr @fld.str.552, i64 9 }] @str.554 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.555 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.555 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.556 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.557 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.558 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -494,228 +494,324 @@ @fld.str.560 = private constant [5 x i8] c"nsec\00" @field_names.561 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.559, i64 3 }, { ptr, i64 } { ptr @fld.str.560, i64 4 }] @str.562 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.563 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.563 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.564 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.565 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.566 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.567 = private constant [3 x i8] c"fd\00" -@fld.str.568 = private constant [6 x i8] c"udata\00" -@fld.str.569 = private constant [9 x i8] c"readable\00" -@fld.str.570 = private constant [9 x i8] c"writable\00" -@fld.str.571 = private constant [4 x i8] c"eof\00" -@fld.str.572 = private constant [4 x i8] c"err\00" -@fld.str.573 = private constant [7 x i8] c"nbytes\00" -@field_names.574 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.567, i64 2 }, { ptr, i64 } { ptr @fld.str.568, i64 5 }, { ptr, i64 } { ptr @fld.str.569, i64 8 }, { ptr, i64 } { ptr @fld.str.570, i64 8 }, { ptr, i64 } { ptr @fld.str.571, i64 3 }, { ptr, i64 } { ptr @fld.str.572, i64 3 }, { ptr, i64 } { ptr @fld.str.573, i64 6 }] -@str.575 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.576 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.577 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.578 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.579 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.580 = private constant [3 x i8] c"kq\00" -@field_names.581 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.580, i64 2 }] +@fld.str.567 = private constant [6 x i8] c"ident\00" +@fld.str.568 = private constant [7 x i8] c"filter\00" +@fld.str.569 = private constant [6 x i8] c"flags\00" +@fld.str.570 = private constant [7 x i8] c"fflags\00" +@fld.str.571 = private constant [5 x i8] c"data\00" +@fld.str.572 = private constant [6 x i8] c"udata\00" +@field_names.573 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.567, i64 5 }, { ptr, i64 } { ptr @fld.str.568, i64 6 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }, { ptr, i64 } { ptr @fld.str.571, i64 4 }, { ptr, i64 } { ptr @fld.str.572, i64 5 }] +@str.574 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.575 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.576 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.577 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.578 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.579 = private constant [4 x i8] c"sec\00" +@fld.str.580 = private constant [5 x i8] c"nsec\00" +@field_names.581 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.579, i64 3 }, { ptr, i64 } { ptr @fld.str.580, i64 4 }] @str.582 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.583 = private unnamed_addr constant [2 x i8] c"S\00", align 1 +@str.583 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.584 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.585 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.586 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.587 = private constant [2 x i8] c"a\00" -@fld.str.588 = private constant [2 x i8] c"b\00" -@fld.str.589 = private constant [2 x i8] c"c\00" -@field_names.590 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 1 }, { ptr, i64 } { ptr @fld.str.588, i64 1 }, { ptr, i64 } { ptr @fld.str.589, i64 1 }] -@str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.593 = private constant [5 x i8] c"read\00" -@fld.str.594 = private constant [6 x i8] c"write\00" -@fld.str.595 = private constant [7 x i8] c"append\00" -@fld.str.596 = private constant [11 x i8] c"read_write\00" -@field_names.597 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 4 }, { ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }, { ptr, i64 } { ptr @fld.str.596, i64 10 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [4 x i8] c"set\00" -@fld.str.602 = private constant [8 x i8] c"current\00" -@fld.str.603 = private constant [4 x i8] c"end\00" -@field_names.604 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 7 }, { ptr, i64 } { ptr @fld.str.603, i64 3 }] -@str.605 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.606 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.608 = private constant [6 x i8] c"null_\00" -@fld.str.609 = private constant [6 x i8] c"bool_\00" -@fld.str.610 = private constant [5 x i8] c"int_\00" -@fld.str.611 = private constant [4 x i8] c"str\00" -@fld.str.612 = private constant [6 x i8] c"array\00" -@fld.str.613 = private constant [7 x i8] c"object\00" -@field_names.614 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.608, i64 5 }, { ptr, i64 } { ptr @fld.str.609, i64 5 }, { ptr, i64 } { ptr @fld.str.610, i64 4 }, { ptr, i64 } { ptr @fld.str.611, i64 3 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 6 }] -@str.615 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.616 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.617 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.618 = private constant [6 x i8] c"macos\00" -@fld.str.619 = private constant [6 x i8] c"linux\00" -@fld.str.620 = private constant [8 x i8] c"windows\00" -@fld.str.621 = private constant [5 x i8] c"wasm\00" -@fld.str.622 = private constant [4 x i8] c"ios\00" -@fld.str.623 = private constant [8 x i8] c"android\00" -@fld.str.624 = private constant [8 x i8] c"unknown\00" -@field_names.625 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.618, i64 5 }, { ptr, i64 } { ptr @fld.str.619, i64 5 }, { ptr, i64 } { ptr @fld.str.620, i64 7 }, { ptr, i64 } { ptr @fld.str.621, i64 4 }, { ptr, i64 } { ptr @fld.str.622, i64 3 }, { ptr, i64 } { ptr @fld.str.623, i64 7 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }] -@str.626 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.629 = private constant [8 x i8] c"aarch64\00" -@fld.str.630 = private constant [7 x i8] c"x86_64\00" -@fld.str.631 = private constant [7 x i8] c"wasm32\00" -@fld.str.632 = private constant [7 x i8] c"wasm64\00" -@fld.str.633 = private constant [8 x i8] c"unknown\00" -@field_names.634 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.629, i64 7 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 6 }, { ptr, i64 } { ptr @fld.str.632, i64 6 }, { ptr, i64 } { ptr @fld.str.633, i64 7 }] -@str.635 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.639 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.642 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.645 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.651 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.657 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.663 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.665 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.666 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.669 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.672 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.674 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.675 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.677 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.678 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.679 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.681 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.683 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.684 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.685 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.686 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.687 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.688 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.689 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.690 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.691 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.692 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.693 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.695 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.696 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.697 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.698 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.699 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.700 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.702 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.703 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.704 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.705 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.706 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.708 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.709 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.710 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.711 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.712 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.713 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.714 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.715 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.716 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.717 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.718 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.719 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.720 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.722 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.723 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.724 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.725 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.726 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.727 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.729 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.731 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.732 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.733 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.734 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.735 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.736 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.738 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.740 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.741 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.743 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.744 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.587 = private constant [3 x i8] c"fd\00" +@fld.str.588 = private constant [6 x i8] c"udata\00" +@fld.str.589 = private constant [9 x i8] c"readable\00" +@fld.str.590 = private constant [9 x i8] c"writable\00" +@fld.str.591 = private constant [4 x i8] c"eof\00" +@fld.str.592 = private constant [4 x i8] c"err\00" +@fld.str.593 = private constant [7 x i8] c"nbytes\00" +@field_names.594 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 2 }, { ptr, i64 } { ptr @fld.str.588, i64 5 }, { ptr, i64 } { ptr @fld.str.589, i64 8 }, { ptr, i64 } { ptr @fld.str.590, i64 8 }, { ptr, i64 } { ptr @fld.str.591, i64 3 }, { ptr, i64 } { ptr @fld.str.592, i64 3 }, { ptr, i64 } { ptr @fld.str.593, i64 6 }] +@str.595 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.596 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.597 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.598 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.599 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.600 = private constant [3 x i8] c"kq\00" +@field_names.601 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.600, i64 2 }] +@str.602 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.603 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.604 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.605 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.606 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.607 = private constant [5 x i8] c"port\00" +@fld.str.608 = private constant [8 x i8] c"backlog\00" +@fld.str.609 = private constant [9 x i8] c"max_conn\00" +@fld.str.610 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.611 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.612 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.613 = private constant [14 x i8] c"request_count\00" +@field_names.614 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.607, i64 4 }, { ptr, i64 } { ptr @fld.str.608, i64 7 }, { ptr, i64 } { ptr @fld.str.609, i64 8 }, { ptr, i64 } { ptr @fld.str.610, i64 12 }, { ptr, i64 } { ptr @fld.str.611, i64 18 }, { ptr, i64 } { ptr @fld.str.612, i64 20 }, { ptr, i64 } { ptr @fld.str.613, i64 13 }] +@str.615 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.616 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.617 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.618 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.619 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.620 = private constant [7 x i8] c"method\00" +@fld.str.621 = private constant [5 x i8] c"path\00" +@fld.str.622 = private constant [8 x i8] c"version\00" +@fld.str.623 = private constant [12 x i8] c"headers_raw\00" +@fld.str.624 = private constant [5 x i8] c"body\00" +@fld.str.625 = private constant [11 x i8] c"keep_alive\00" +@field_names.626 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.620, i64 6 }, { ptr, i64 } { ptr @fld.str.621, i64 4 }, { ptr, i64 } { ptr @fld.str.622, i64 7 }, { ptr, i64 } { ptr @fld.str.623, i64 11 }, { ptr, i64 } { ptr @fld.str.624, i64 4 }, { ptr, i64 } { ptr @fld.str.625, i64 10 }] +@str.627 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.628 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.629 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.630 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.631 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.632 = private constant [7 x i8] c"status\00" +@fld.str.633 = private constant [13 x i8] c"content_type\00" +@fld.str.634 = private constant [14 x i8] c"extra_headers\00" +@fld.str.635 = private constant [5 x i8] c"body\00" +@field_names.636 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.632, i64 6 }, { ptr, i64 } { ptr @fld.str.633, i64 12 }, { ptr, i64 } { ptr @fld.str.634, i64 13 }, { ptr, i64 } { ptr @fld.str.635, i64 4 }] +@str.637 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.638 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.639 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.640 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.642 = private constant [3 x i8] c"fd\00" +@fld.str.643 = private constant [6 x i8] c"state\00" +@fld.str.644 = private constant [9 x i8] c"read_buf\00" +@fld.str.645 = private constant [9 x i8] c"read_len\00" +@fld.str.646 = private constant [8 x i8] c"out_buf\00" +@fld.str.647 = private constant [8 x i8] c"out_len\00" +@fld.str.648 = private constant [9 x i8] c"out_sent\00" +@fld.str.649 = private constant [9 x i8] c"deadline\00" +@fld.str.650 = private constant [7 x i8] c"served\00" +@fld.str.651 = private constant [12 x i8] c"close_after\00" +@fld.str.652 = private constant [12 x i8] c"write_armed\00" +@field_names.653 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.642, i64 2 }, { ptr, i64 } { ptr @fld.str.643, i64 5 }, { ptr, i64 } { ptr @fld.str.644, i64 8 }, { ptr, i64 } { ptr @fld.str.645, i64 8 }, { ptr, i64 } { ptr @fld.str.646, i64 7 }, { ptr, i64 } { ptr @fld.str.647, i64 7 }, { ptr, i64 } { ptr @fld.str.648, i64 8 }, { ptr, i64 } { ptr @fld.str.649, i64 8 }, { ptr, i64 } { ptr @fld.str.650, i64 6 }, { ptr, i64 } { ptr @fld.str.651, i64 11 }, { ptr, i64 } { ptr @fld.str.652, i64 11 }] +@str.654 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.655 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.656 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.657 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.659 = private constant [4 x i8] c"cfg\00" +@fld.str.660 = private constant [5 x i8] c"loop\00" +@fld.str.661 = private constant [4 x i8] c"lfd\00" +@fld.str.662 = private constant [6 x i8] c"conns\00" +@fld.str.663 = private constant [10 x i8] c"own_alloc\00" +@fld.str.664 = private constant [8 x i8] c"handler\00" +@field_names.665 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.659, i64 3 }, { ptr, i64 } { ptr @fld.str.660, i64 4 }, { ptr, i64 } { ptr @fld.str.661, i64 3 }, { ptr, i64 } { ptr @fld.str.662, i64 5 }, { ptr, i64 } { ptr @fld.str.663, i64 9 }, { ptr, i64 } { ptr @fld.str.664, i64 7 }] +@str.666 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.667 = private unnamed_addr constant [2 x i8] c"S\00", align 1 +@str.668 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.670 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.671 = private constant [2 x i8] c"a\00" +@fld.str.672 = private constant [2 x i8] c"b\00" +@fld.str.673 = private constant [2 x i8] c"c\00" +@field_names.674 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.671, i64 1 }, { ptr, i64 } { ptr @fld.str.672, i64 1 }, { ptr, i64 } { ptr @fld.str.673, i64 1 }] +@str.675 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.677 = private constant [5 x i8] c"read\00" +@fld.str.678 = private constant [6 x i8] c"write\00" +@fld.str.679 = private constant [7 x i8] c"append\00" +@fld.str.680 = private constant [11 x i8] c"read_write\00" +@field_names.681 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 6 }, { ptr, i64 } { ptr @fld.str.680, i64 10 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [4 x i8] c"set\00" +@fld.str.686 = private constant [8 x i8] c"current\00" +@fld.str.687 = private constant [4 x i8] c"end\00" +@field_names.688 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 3 }, { ptr, i64 } { ptr @fld.str.686, i64 7 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }] +@str.689 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.692 = private constant [6 x i8] c"null_\00" +@fld.str.693 = private constant [6 x i8] c"bool_\00" +@fld.str.694 = private constant [5 x i8] c"int_\00" +@fld.str.695 = private constant [4 x i8] c"str\00" +@fld.str.696 = private constant [6 x i8] c"array\00" +@fld.str.697 = private constant [7 x i8] c"object\00" +@field_names.698 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 5 }, { ptr, i64 } { ptr @fld.str.693, i64 5 }, { ptr, i64 } { ptr @fld.str.694, i64 4 }, { ptr, i64 } { ptr @fld.str.695, i64 3 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 6 }] +@str.699 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.700 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.701 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.702 = private constant [6 x i8] c"macos\00" +@fld.str.703 = private constant [6 x i8] c"linux\00" +@fld.str.704 = private constant [8 x i8] c"windows\00" +@fld.str.705 = private constant [5 x i8] c"wasm\00" +@fld.str.706 = private constant [4 x i8] c"ios\00" +@fld.str.707 = private constant [8 x i8] c"android\00" +@fld.str.708 = private constant [8 x i8] c"unknown\00" +@field_names.709 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.702, i64 5 }, { ptr, i64 } { ptr @fld.str.703, i64 5 }, { ptr, i64 } { ptr @fld.str.704, i64 7 }, { ptr, i64 } { ptr @fld.str.705, i64 4 }, { ptr, i64 } { ptr @fld.str.706, i64 3 }, { ptr, i64 } { ptr @fld.str.707, i64 7 }, { ptr, i64 } { ptr @fld.str.708, i64 7 }] +@str.710 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.713 = private constant [8 x i8] c"aarch64\00" +@fld.str.714 = private constant [7 x i8] c"x86_64\00" +@fld.str.715 = private constant [7 x i8] c"wasm32\00" +@fld.str.716 = private constant [7 x i8] c"wasm64\00" +@fld.str.717 = private constant [8 x i8] c"unknown\00" +@field_names.718 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.713, i64 7 }, { ptr, i64 } { ptr @fld.str.714, i64 6 }, { ptr, i64 } { ptr @fld.str.715, i64 6 }, { ptr, i64 } { ptr @fld.str.716, i64 6 }, { ptr, i64 } { ptr @fld.str.717, i64 7 }] +@str.719 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.726 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.732 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.734 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.736 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.740 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.742 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.743 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.746 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.747 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.748 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.749 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.750 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.753 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.756 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [3 x i8] c"*S\00", align 1 +@str.758 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.761 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.764 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.767 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.770 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.773 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.776 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.779 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.782 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.788 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.794 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.797 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.800 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.803 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.806 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.809 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.815 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.818 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.821 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.824 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.827 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.830 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.833 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.836 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.839 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.842 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.845 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.848 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.851 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.854 = private unnamed_addr constant [3 x i8] c"*S\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.857 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.879 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1153,38 +1249,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 -while.hdr.417: ; preds = %if.merge.422, %entry +while.hdr.451: ; preds = %if.merge.456, %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.418, label %while.exit.419 + br i1 %icmp, label %while.body.452, label %while.exit.453 -while.body.418: ; preds = %while.hdr.417 +while.body.452: ; preds = %while.hdr.451 %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.420, label %if.else.421 + br i1 %icmpN, label %if.then.454, label %if.else.455 -while.exit.419: ; preds = %while.hdr.417 +while.exit.453: ; preds = %while.hdr.451 ret void -if.then.420: ; preds = %while.body.418 +if.then.454: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.422 + br label %if.merge.456 -if.else.421: ; preds = %while.body.418 +if.else.455: ; preds = %while.body.452 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.422 + br label %if.merge.456 -if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi i64 [ %addN, %if.then.420 ], [ %addN, %if.else.421 ] +if.merge.456: ; preds = %if.else.455, %if.then.454 + %bp = phi i64 [ %addN, %if.then.454 ], [ %addN, %if.else.455 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1197,7 +1293,7 @@ if.merge.422: ; preds = %if.else.421, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.417 + br label %while.hdr.451 } ; Function Attrs: nounwind @@ -1310,12 +1406,12 @@ entry: 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.415, label %if.merge.416 + br i1 %icmp, label %if.then.449, label %if.merge.450 -if.then.415: ; preds = %entry +if.then.449: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.416: ; preds = %entry +if.merge.450: ; 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 @@ -1338,14 +1434,14 @@ if.merge.416: ; preds = %entry %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.423 + br label %while.hdr.457 -while.hdr.423: ; preds = %if.merge.427, %if.merge.416 +while.hdr.457: ; preds = %if.merge.461, %if.merge.450 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.424, label %while.exit.425 + br i1 %icmpN, label %while.body.458, label %while.exit.459 -while.body.424: ; preds = %while.hdr.423 +while.body.458: ; preds = %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1353,9 +1449,9 @@ while.body.424: ; preds = %while.hdr.423 %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.426, label %if.merge.427 + br i1 %icmpN, label %if.then.460, label %if.merge.461 -while.exit.425: ; preds = %if.then.426, %while.hdr.423 +while.exit.459: ; preds = %if.then.460, %while.hdr.457 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1363,14 +1459,14 @@ while.exit.425: ; preds = %if.then.426, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.426: ; preds = %while.body.424 - br label %while.exit.425 +if.then.460: ; preds = %while.body.458 + br label %while.exit.459 -if.merge.427: ; preds = %while.body.424 +if.merge.461: ; preds = %while.body.458 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.457 } ; Function Attrs: nounwind @@ -1518,7 +1614,12 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 + i64 111, label %match.arm.43 i64 112, label %match.arm.43 + i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 124, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1529,18 +1630,19 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 119, label %match.arm.47 + i64 131, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 117, label %match.arm.48 + i64 129, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1567,26 +1669,30 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 113, label %match.arm.49 i64 114, label %match.arm.49 - i64 115, label %match.arm.49 i64 116, label %match.arm.49 - i64 118, label %match.arm.49 - i64 120, label %match.arm.49 + i64 117, label %match.arm.49 i64 121, label %match.arm.49 - i64 122, label %match.arm.49 - i64 123, label %match.arm.49 + i64 125, label %match.arm.49 + i64 126, label %match.arm.49 + i64 127, label %match.arm.49 + i64 128, label %match.arm.49 + i64 130, label %match.arm.49 + i64 132, label %match.arm.49 + i64 133, label %match.arm.49 + i64 134, label %match.arm.49 + i64 135, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 i64 47, label %match.arm.50 i64 95, label %match.arm.50 - i64 110, label %match.arm.50 - i64 111, label %match.arm.50 + i64 122, label %match.arm.50 + i64 123, label %match.arm.50 i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.530, %dispatch.merge.375, %dispatch.merge.337, %dispatch.merge.299, %dispatch.merge.282, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.576, %dispatch.merge.405, %dispatch.merge.367, %dispatch.merge.329, %dispatch.merge.312, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1600,7 +1706,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [191 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [209 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1628,7 +1734,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1663,29 +1769,34 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 - i64 112, label %dispatch.case.126 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 124, label %dispatch.case.131 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.283 [ - i64 38, label %dispatch.case.284 - i64 39, label %dispatch.case.285 - i64 58, label %dispatch.case.286 - i64 74, label %dispatch.case.287 - i64 75, label %dispatch.case.288 + switch i64 %ua.raw20, label %dispatch.default.313 [ + i64 38, label %dispatch.case.314 + i64 39, label %dispatch.case.315 + i64 58, label %dispatch.case.316 + i64 74, label %dispatch.case.317 + i64 75, label %dispatch.case.318 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1697,82 +1808,86 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.300 [ - i64 23, label %dispatch.case.301 - i64 85, label %dispatch.case.302 - i64 91, label %dispatch.case.303 - i64 92, label %dispatch.case.304 - i64 96, label %dispatch.case.305 - i64 119, label %dispatch.case.306 + switch i64 %ua.raw29, label %dispatch.default.330 [ + i64 23, label %dispatch.case.331 + i64 85, label %dispatch.case.332 + i64 91, label %dispatch.case.333 + i64 92, label %dispatch.case.334 + i64 96, label %dispatch.case.335 + i64 131, label %dispatch.case.336 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 24, label %dispatch.case.339 - i64 64, label %dispatch.case.340 - i64 81, label %dispatch.case.341 - i64 89, label %dispatch.case.342 - i64 109, label %dispatch.case.343 - i64 117, label %dispatch.case.344 + switch i64 %ua.raw33, label %dispatch.default.368 [ + i64 24, label %dispatch.case.369 + i64 64, label %dispatch.case.370 + i64 81, label %dispatch.case.371 + i64 89, label %dispatch.case.372 + i64 109, label %dispatch.case.373 + i64 129, label %dispatch.case.374 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.376 [ - i64 19, label %dispatch.case.377 - i64 26, label %dispatch.case.378 - i64 28, label %dispatch.case.379 - i64 30, label %dispatch.case.380 - i64 32, label %dispatch.case.381 - i64 33, label %dispatch.case.382 - i64 35, label %dispatch.case.383 - i64 37, label %dispatch.case.384 - i64 41, label %dispatch.case.385 - i64 48, label %dispatch.case.386 - i64 50, label %dispatch.case.387 - i64 51, label %dispatch.case.388 - i64 60, label %dispatch.case.389 - i64 61, label %dispatch.case.390 - i64 62, label %dispatch.case.391 - i64 63, label %dispatch.case.392 - i64 66, label %dispatch.case.393 - i64 71, label %dispatch.case.394 - i64 78, label %dispatch.case.395 - i64 87, label %dispatch.case.396 - i64 90, label %dispatch.case.397 - i64 94, label %dispatch.case.398 - i64 98, label %dispatch.case.399 - i64 101, label %dispatch.case.400 - i64 102, label %dispatch.case.401 - i64 107, label %dispatch.case.402 - i64 113, label %dispatch.case.403 - i64 114, label %dispatch.case.404 - i64 115, label %dispatch.case.405 - i64 116, label %dispatch.case.406 - i64 118, label %dispatch.case.407 - i64 120, label %dispatch.case.408 - i64 121, label %dispatch.case.409 - i64 122, label %dispatch.case.410 - i64 123, label %dispatch.case.411 + switch i64 %ua.raw37, label %dispatch.default.406 [ + i64 19, label %dispatch.case.407 + i64 26, label %dispatch.case.408 + i64 28, label %dispatch.case.409 + i64 30, label %dispatch.case.410 + i64 32, label %dispatch.case.411 + i64 33, label %dispatch.case.412 + i64 35, label %dispatch.case.413 + i64 37, label %dispatch.case.414 + i64 41, label %dispatch.case.415 + i64 48, label %dispatch.case.416 + i64 50, label %dispatch.case.417 + i64 51, label %dispatch.case.418 + i64 60, label %dispatch.case.419 + i64 61, label %dispatch.case.420 + i64 62, label %dispatch.case.421 + i64 63, label %dispatch.case.422 + i64 66, label %dispatch.case.423 + i64 71, label %dispatch.case.424 + i64 78, label %dispatch.case.425 + i64 87, label %dispatch.case.426 + i64 90, label %dispatch.case.427 + i64 94, label %dispatch.case.428 + i64 98, label %dispatch.case.429 + i64 101, label %dispatch.case.430 + i64 102, label %dispatch.case.431 + i64 107, label %dispatch.case.432 + i64 114, label %dispatch.case.433 + i64 116, label %dispatch.case.434 + i64 117, label %dispatch.case.435 + i64 121, label %dispatch.case.436 + i64 125, label %dispatch.case.437 + i64 126, label %dispatch.case.438 + i64 127, label %dispatch.case.439 + i64 128, label %dispatch.case.440 + i64 130, label %dispatch.case.441 + i64 132, label %dispatch.case.442 + i64 133, label %dispatch.case.443 + i64 134, label %dispatch.case.444 + i64 135, label %dispatch.case.445 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.531 [ - i64 42, label %dispatch.case.532 - i64 43, label %dispatch.case.533 - i64 45, label %dispatch.case.534 - i64 47, label %dispatch.case.535 - i64 95, label %dispatch.case.536 - i64 110, label %dispatch.case.537 - i64 111, label %dispatch.case.538 + switch i64 %ua.raw41, label %dispatch.default.577 [ + i64 42, label %dispatch.case.578 + i64 43, label %dispatch.case.579 + i64 45, label %dispatch.case.580 + i64 47, label %dispatch.case.581 + i64 95, label %dispatch.case.582 + i64 122, label %dispatch.case.583 + i64 123, label %dispatch.case.584 ] match.arm.51: ; preds = %entry @@ -1781,7 +1896,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [191 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [209 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1826,13 +1941,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2078,483 +2193,551 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %ua.ptr181, align 8 - %callN = call { ptr, i64 } @struct_to_string__S(ptr %0, { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.282: ; preds = %dispatch.case.288, %dispatch.case.287, %dispatch.case.286, %dispatch.case.285, %dispatch.case.284, %dispatch.default.283 +dispatch.case.127: ; preds = %match.arm.43 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %ua.ptr201, align 8 + %callN = call { ptr, i64 } @struct_to_string__S(ptr %0, { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.312: ; preds = %dispatch.case.318, %dispatch.case.317, %dispatch.case.316, %dispatch.case.315, %dispatch.case.314, %dispatch.default.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.283: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.282 +dispatch.default.313: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.312 -dispatch.case.284: ; preds = %match.arm.44 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw185) +dispatch.case.314: ; preds = %match.arm.44 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw205) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.285: ; preds = %match.arm.44 - %ua.raw187 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw187) +dispatch.case.315: ; preds = %match.arm.44 + %ua.raw207 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.286: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr190 = inttoptr i64 %ua.raw189 to ptr - %ua.load191 = load { i64, [24 x i8] }, ptr %ua.ptr190, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load191) +dispatch.case.316: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr210 = inttoptr i64 %ua.raw209 to ptr + %ua.load211 = load { i64, [24 x i8] }, ptr %ua.ptr210, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.287: ; preds = %match.arm.44 - %ua.raw193 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw193) +dispatch.case.317: ; preds = %match.arm.44 + %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw213) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.case.288: ; preds = %match.arm.44 - %ua.raw195 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw195) +dispatch.case.318: ; preds = %match.arm.44 + %ua.raw215 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw215) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.282 + br label %dispatch.merge.312 -dispatch.merge.299: ; preds = %dispatch.case.306, %dispatch.case.305, %dispatch.case.304, %dispatch.case.303, %dispatch.case.302, %dispatch.case.301, %dispatch.default.300 +dispatch.merge.329: ; preds = %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.case.333, %dispatch.case.332, %dispatch.case.331, %dispatch.default.330 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.300: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.299 +dispatch.default.330: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.329 -dispatch.case.301: ; preds = %match.arm.47 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [4 x i64], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.302: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.303: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [8 x i64], ptr %ua.ptr207, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.304: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i8], ptr %ua.ptr211, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.305: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [64 x i64], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 - -dispatch.case.306: ; preds = %match.arm.47 +dispatch.case.331: ; preds = %match.arm.47 %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [1 x { i64, i64 }], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load220) + %ua.load220 = load [4 x i64], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load220) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.299 + br label %dispatch.merge.329 -dispatch.merge.337: ; preds = %dispatch.case.344, %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.default.338 +dispatch.case.332: ; preds = %match.arm.47 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.333: ; preds = %match.arm.47 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [8 x i64], ptr %ua.ptr227, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.334: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i8], ptr %ua.ptr231, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.335: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [64 x i64], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.case.336: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [1 x { i64, i64 }], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.329 + +dispatch.merge.367: ; preds = %dispatch.case.374, %dispatch.case.373, %dispatch.case.372, %dispatch.case.371, %dispatch.case.370, %dispatch.case.369, %dispatch.default.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.338: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.337 +dispatch.default.368: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.367 -dispatch.case.339: ; preds = %match.arm.48 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.340: ; preds = %match.arm.48 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.341: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.342: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.343: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 - -dispatch.case.344: ; preds = %match.arm.48 +dispatch.case.369: ; preds = %match.arm.48 %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load245) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load245) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.337 + br label %dispatch.merge.367 -dispatch.merge.375: ; preds = %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.default.376 +dispatch.case.370: ; preds = %match.arm.48 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.371: ; preds = %match.arm.48 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.372: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.373: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.case.374: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.367 + +dispatch.merge.405: ; preds = %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.default.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.376: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.296, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.377: ; preds = %match.arm.49 - %ua.raw248 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw248 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.378: ; preds = %match.arm.49 - %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 - %iNp251 = inttoptr i64 %ua.raw250 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp251) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.379: ; preds = %match.arm.49 - %ua.raw253 = extractvalue { i64, i64 } %loadN, 1 - %iNp254 = inttoptr i64 %ua.raw253 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp254) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.380: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp257 = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp257) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.381: ; preds = %match.arm.49 - %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 - %iNp260 = inttoptr i64 %ua.raw259 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp260) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.382: ; preds = %match.arm.49 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.383: ; preds = %match.arm.49 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.384: ; preds = %match.arm.49 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.385: ; preds = %match.arm.49 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.386: ; preds = %match.arm.49 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.387: ; preds = %match.arm.49 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.388: ; preds = %match.arm.49 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_S(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 +dispatch.default.406: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.316, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.405 dispatch.case.407: ; preds = %match.arm.49 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp338) + %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw268 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.408: ; preds = %match.arm.49 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp341) + %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 + %iNp271 = inttoptr i64 %ua.raw270 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.409: ; preds = %match.arm.49 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp344) + %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 + %iNp274 = inttoptr i64 %ua.raw273 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.410: ; preds = %match.arm.49 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp347) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp277 = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 dispatch.case.411: ; preds = %match.arm.49 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp350) + %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 + %iNp280 = inttoptr i64 %ua.raw279 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.375 + br label %dispatch.merge.405 -dispatch.merge.530: ; preds = %dispatch.case.538, %dispatch.case.537, %dispatch.case.536, %dispatch.case.535, %dispatch.case.534, %dispatch.case.533, %dispatch.case.532, %dispatch.default.531 +dispatch.case.412: ; preds = %match.arm.49 + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp283) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.413: ; preds = %match.arm.49 + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp286) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.414: ; preds = %match.arm.49 + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp289) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.415: ; preds = %match.arm.49 + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp292) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.416: ; preds = %match.arm.49 + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp295) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.417: ; preds = %match.arm.49 + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp298) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.418: ; preds = %match.arm.49 + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp301) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.419: ; preds = %match.arm.49 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.420: ; preds = %match.arm.49 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.421: ; preds = %match.arm.49 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.422: ; preds = %match.arm.49 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.423: ; preds = %match.arm.49 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.424: ; preds = %match.arm.49 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.425: ; preds = %match.arm.49 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_S(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.405 + +dispatch.merge.576: ; preds = %dispatch.case.584, %dispatch.case.583, %dispatch.case.582, %dispatch.case.581, %dispatch.case.580, %dispatch.case.579, %dispatch.case.578, %dispatch.default.577 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.531: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.297, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.530 +dispatch.default.577: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.317, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.576 -dispatch.case.532: ; preds = %match.arm.50 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { i32 }, i1 }, ptr %ua.ptr354, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load355) +dispatch.case.578: ; preds = %match.arm.50 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { i32 }, i1 }, ptr %ua.ptr386, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.533: ; preds = %match.arm.50 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr358 = inttoptr i64 %ua.raw357 to ptr - %ua.load359 = load { { ptr, i64 }, i1 }, ptr %ua.ptr358, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load359) +dispatch.case.579: ; preds = %match.arm.50 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr + %ua.load391 = load { { ptr, i64 }, i1 }, ptr %ua.ptr390, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load391) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.534: ; preds = %match.arm.50 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp362) +dispatch.case.580: ; preds = %match.arm.50 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.535: ; preds = %match.arm.50 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr365, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load366) +dispatch.case.581: ; preds = %match.arm.50 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr397, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.536: ; preds = %match.arm.50 - %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr369 = inttoptr i64 %ua.raw368 to ptr - %ua.load370 = load { [64 x i8], i1 }, ptr %ua.ptr369, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load370) +dispatch.case.582: ; preds = %match.arm.50 + %ua.raw400 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr401 = inttoptr i64 %ua.raw400 to ptr + %ua.load402 = load { [64 x i8], i1 }, ptr %ua.ptr401, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load402) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.537: ; preds = %match.arm.50 - %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr373 = inttoptr i64 %ua.raw372 to ptr - %ua.load374 = load { i64, i1 }, ptr %ua.ptr373, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_i64(ptr %0, { i64, i1 } %ua.load374) +dispatch.case.583: ; preds = %match.arm.50 + %ua.raw404 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr405 = inttoptr i64 %ua.raw404 to ptr + %ua.load406 = load { i64, i1 }, ptr %ua.ptr405, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_i64(ptr %0, { i64, i1 } %ua.load406) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 -dispatch.case.538: ; preds = %match.arm.50 - %ua.raw376 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr377 = inttoptr i64 %ua.raw376 to ptr - %ua.load378 = load { i1, i1 }, ptr %ua.ptr377, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_bool(ptr %0, { i1, i1 } %ua.load378) +dispatch.case.584: ; preds = %match.arm.50 + %ua.raw408 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr409 = inttoptr i64 %ua.raw408 to ptr + %ua.load410 = load { i1, i1 }, ptr %ua.ptr409, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_bool(ptr %0, { i1, i1 } %ua.load410) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.530 + br label %dispatch.merge.576 } ; Function Attrs: nounwind @@ -2563,7 +2746,7 @@ 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.298, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.318, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2659,7 +2842,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2667,7 +2850,7 @@ if.then.12: ; preds = %if.then.9 %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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2677,13 +2860,13 @@ if.then.12: ; preds = %if.then.9 %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.301, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2691,7 +2874,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.303, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2705,7 +2888,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2713,7 +2896,7 @@ if.then.23: ; preds = %if.else.10 %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.305, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2724,7 +2907,7 @@ if.then.23: ; preds = %if.else.10 %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.306, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2781,7 +2964,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2789,7 +2972,7 @@ if.then.32: ; preds = %if.then.29 %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.308, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, 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 @@ -2800,7 +2983,7 @@ if.then.32: ; preds = %if.then.29 %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.309, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2820,7 +3003,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2828,7 +3011,7 @@ if.then.35: ; preds = %while.exit.2 %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.311, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, 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 @@ -2839,7 +3022,7 @@ if.then.35: ; preds = %while.exit.2 %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.312, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3672,11 +3855,59 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define i32 @main() #0 { entry: %alloca = alloca { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, align 8 - store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } { { i64, i1 } { i64 42, i1 true }, { { ptr, i64 }, i1 } { { ptr, i64 } { ptr @str.313, i64 2 }, i1 true }, { i1, i1 } { i1 true, i1 true } }, ptr %alloca, align 8 + store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } { { i64, i1 } { i64 42, i1 true }, { { ptr, i64 }, i1 } { { ptr, i64 } { ptr @str.333, i64 2 }, i1 true }, { i1, i1 } { i1 true, i1 true } }, ptr %alloca, align 8 %load = load { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %alloca, align 8 call void @print__ct_sbc6305862a3a863d__pack_S(ptr @__sx_default_context, { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %load) %allocaN = alloca { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, align 8 @@ -3704,7 +3935,7 @@ entry: define internal void @print__ct_sbc6305862a3a863d__pack_S(ptr %0, { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.314, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.334, i64 3 }, ptr %alloca, align 8 %allocaN = alloca { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, align 8 store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %1, ptr %allocaN, align 8 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3712,7 +3943,7 @@ entry: %ba.tmp = alloca { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, align 8 store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %load, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 124, 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 %allocaN = alloca { ptr, i64 }, align 8 @@ -3722,13 +3953,13 @@ entry: %gepN = getelementptr inbounds { 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.315, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.335, i64 0 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %allocaN, align 8 %ba.tmp9 = alloca { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, align 8 store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %loadN, ptr %ba.tmp9, align 8 %ba.p2i10 = ptrtoint ptr %ba.tmp9 to i64 - %ba.val11 = insertvalue { i64, i64 } { i64 112, i64 undef }, i64 %ba.p2i10, 1 + %ba.val11 = insertvalue { i64, i64 } { i64 124, i64 undef }, i64 %ba.p2i10, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val11) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) store { ptr, i64 } %callN, ptr %allocaN, align 8 @@ -3747,7 +3978,7 @@ entry: ; 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.316, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.336, i64 3 }) ret { ptr, i64 } %call } @@ -3758,35 +3989,35 @@ entry: %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.317, i64 15 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.337, i64 15 }, { ptr, i64 } { ptr @str.338, 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.127 + br label %while.hdr.132 -while.hdr.127: ; preds = %fv.merge, %entry +while.hdr.132: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.128, label %while.exit.129 + br i1 %icmp, label %while.body.133, label %while.exit.134 -while.body.128: ; preds = %while.hdr.127 +while.body.133: ; preds = %while.hdr.132 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.130, label %if.merge.131 + br i1 %icmpN, label %if.then.135, label %if.merge.136 -while.exit.129: ; preds = %while.hdr.127 +while.exit.134: ; preds = %while.hdr.132 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 1 }) ret { ptr, i64 } %callN -if.then.130: ; preds = %while.body.128 +if.then.135: ; preds = %while.body.133 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.131 + br label %if.merge.136 -if.merge.131: ; preds = %if.then.130, %while.body.128 +if.merge.136: ; preds = %if.then.135, %while.body.133 %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 @@ -3794,7 +4025,7 @@ if.merge.131: ; preds = %if.then.130, %while %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.324, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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 @@ -3814,31 +4045,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.127 + br label %while.hdr.132 -fv.default: ; preds = %if.merge.131 +fv.default: ; preds = %if.merge.136 br label %fv.merge -fv.case: ; preds = %if.merge.131 +fv.case: ; preds = %if.merge.136 %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.131 +fv.case17: ; preds = %if.merge.136 %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.131 +fv.case20: ; preds = %if.merge.136 %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.131 +fv.case24: ; preds = %if.merge.136 %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 @@ -3851,43 +4082,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.325, i64 9 }, { ptr, i64 } { ptr @str.326, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.345, i64 9 }, { ptr, i64 } { ptr @str.346, 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.132 + br label %while.hdr.137 -while.hdr.132: ; preds = %fv.merge, %entry +while.hdr.137: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.133, label %while.exit.134 + br i1 %icmp, label %while.body.138, label %while.exit.139 -while.body.133: ; preds = %while.hdr.132 +while.body.138: ; preds = %while.hdr.137 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.135, label %if.merge.136 + br i1 %icmpN, label %if.then.140, label %if.merge.141 -while.exit.134: ; preds = %while.hdr.132 +while.exit.139: ; preds = %while.hdr.137 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 1 }) ret { ptr, i64 } %callN -if.then.135: ; preds = %while.body.133 +if.then.140: ; preds = %while.body.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.136 + br label %if.merge.141 -if.merge.136: ; preds = %if.then.135, %while.body.133 +if.merge.141: ; preds = %if.then.140, %while.body.138 %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.332, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.352, 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.333, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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 @@ -3906,24 +4137,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.132 + br label %while.hdr.137 -fv.default: ; preds = %if.merge.136 +fv.default: ; preds = %if.merge.141 br label %fv.merge -fv.case: ; preds = %if.merge.136 +fv.case: ; preds = %if.merge.141 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.136 +fv.case17: ; preds = %if.merge.141 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.136 +fv.case21: ; preds = %if.merge.141 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3936,43 +4167,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.334, i64 7 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.354, i64 7 }, { ptr, i64 } { ptr @str.355, 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.137 + br label %while.hdr.142 -while.hdr.137: ; preds = %fv.merge, %entry +while.hdr.142: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.138, label %while.exit.139 + br i1 %icmp, label %while.body.143, label %while.exit.144 -while.body.138: ; preds = %while.hdr.137 +while.body.143: ; preds = %while.hdr.142 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.140, label %if.merge.141 + br i1 %icmpN, label %if.then.145, label %if.merge.146 -while.exit.139: ; preds = %while.hdr.137 +while.exit.144: ; preds = %while.hdr.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 1 }) ret { ptr, i64 } %callN -if.then.140: ; preds = %while.body.138 +if.then.145: ; preds = %while.body.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.141 + br label %if.merge.146 -if.merge.141: ; preds = %if.then.140, %while.body.138 +if.merge.146: ; preds = %if.then.145, %while.body.143 %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.340, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.360, 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.341, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, 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 %alloca, align 8 @@ -3990,19 +4221,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.137 + br label %while.hdr.142 -fv.default: ; preds = %if.merge.141 +fv.default: ; preds = %if.merge.146 br label %fv.merge -fv.case: ; preds = %if.merge.141 +fv.case: ; preds = %if.merge.146 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.141 +fv.case17: ; preds = %if.merge.146 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4014,43 +4245,43 @@ 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.342, i64 10 }, { ptr, i64 } { ptr @str.343, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.362, i64 10 }, { ptr, i64 } { ptr @str.363, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %if.merge.146, %entry +while.hdr.147: ; preds = %if.merge.151, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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.346, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.366, 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.347, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4061,7 +4292,7 @@ if.merge.146: ; preds = %if.then.145, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 } ; Function Attrs: nounwind @@ -4069,43 +4300,43 @@ 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.348, i64 3 }, { ptr, i64 } { ptr @str.349, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.368, i64 3 }, { ptr, i64 } { ptr @str.369, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %fv.merge, %entry +while.hdr.152: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.353, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.373, 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.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, 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 @@ -4122,12 +4353,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 -fv.default: ; preds = %if.merge.151 +fv.default: ; preds = %if.merge.156 br label %fv.merge -fv.case: ; preds = %if.merge.151 +fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4138,43 +4369,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.355, i64 10 }, { ptr, i64 } { ptr @str.356, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.375, i64 10 }, { ptr, i64 } { ptr @str.376, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %fv.merge, %entry +while.hdr.157: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.361, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.381, 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.362, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, 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 @@ -4192,18 +4423,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 -fv.default: ; preds = %if.merge.156 +fv.default: ; preds = %if.merge.161 br label %fv.merge -fv.case: ; preds = %if.merge.156 +fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.156 +fv.case17: ; preds = %if.merge.161 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4215,91 +4446,7 @@ 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.363, i64 5 }, { ptr, i64 } { ptr @str.364, 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.157 - -while.hdr.157: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.158, label %while.exit.159 - -while.body.158: ; preds = %while.hdr.157 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 - -while.exit.159: ; preds = %while.hdr.157 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) - ret { ptr, i64 } %callN - -if.then.160: ; preds = %while.body.158 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 - -if.merge.161: ; preds = %if.then.160, %while.body.158 - %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.370, 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.371, 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.157 - -fv.default: ; preds = %if.merge.161 - br label %fv.merge - -fv.case: ; preds = %if.merge.161 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.161 - %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.161 - %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 21, 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.372, i64 8 }, { ptr, i64 } { ptr @str.373, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 5 }, { ptr, i64 } { ptr @str.384, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4318,27 +4465,27 @@ while.body.163: ; preds = %while.hdr.162 while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) ret { ptr, i64 } %callN if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.166 if.merge.166: ; preds = %if.then.165, %while.body.163 %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.379, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.390, 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.380, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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 { 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 @@ -4360,17 +4507,101 @@ fv.default: ; preds = %if.merge.166 br label %fv.merge fv.case: ; preds = %if.merge.166 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.166 + %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.166 + %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 21, 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.392, i64 8 }, { ptr, i64 } { ptr @str.393, 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.167 + +while.hdr.167: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.168, label %while.exit.169 + +while.body.168: ; preds = %while.hdr.167 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.170, label %if.merge.171 + +while.exit.169: ; preds = %while.hdr.167 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) + ret { ptr, i64 } %callN + +if.then.170: ; preds = %while.body.168 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.171 + +if.merge.171: ; preds = %if.then.170, %while.body.168 + %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.399, 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.400, 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.167 + +fv.default: ; preds = %if.merge.171 + br label %fv.merge + +fv.case: ; preds = %if.merge.171 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.166 +fv.case17: ; preds = %if.merge.171 %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.166 +fv.case20: ; preds = %if.merge.171 %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 @@ -4382,43 +4613,43 @@ 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.381, i64 17 }, { ptr, i64 } { ptr @str.382, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.401, i64 17 }, { ptr, i64 } { ptr @str.402, 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.167 + br label %while.hdr.172 -while.hdr.167: ; preds = %fv.merge, %entry +while.hdr.172: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.168, label %while.exit.169 + br i1 %icmp, label %while.body.173, label %while.exit.174 -while.body.168: ; preds = %while.hdr.167 +while.body.173: ; preds = %while.hdr.172 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.170, label %if.merge.171 + br i1 %icmpN, label %if.then.175, label %if.merge.176 -while.exit.169: ; preds = %while.hdr.167 +while.exit.174: ; preds = %while.hdr.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 1 }) ret { ptr, i64 } %callN -if.then.170: ; preds = %while.body.168 +if.then.175: ; preds = %while.body.173 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.171 + br label %if.merge.176 -if.merge.171: ; preds = %if.then.170, %while.body.168 +if.merge.176: ; preds = %if.then.175, %while.body.173 %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.389, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.409, 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.390, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, 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 @@ -4438,29 +4669,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.167 + br label %while.hdr.172 -fv.default: ; preds = %if.merge.171 +fv.default: ; preds = %if.merge.176 br label %fv.merge -fv.case: ; preds = %if.merge.171 +fv.case: ; preds = %if.merge.176 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.171 +fv.case17: ; preds = %if.merge.176 %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.171 +fv.case20: ; preds = %if.merge.176 %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.171 +fv.case23: ; preds = %if.merge.176 %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 @@ -4471,43 +4702,43 @@ 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.391, i64 4 }, { ptr, i64 } { ptr @str.392, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.411, i64 4 }, { ptr, i64 } { ptr @str.412, 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.172 + br label %while.hdr.177 -while.hdr.172: ; preds = %fv.merge, %entry +while.hdr.177: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.173, label %while.exit.174 + br i1 %icmp, label %while.body.178, label %while.exit.179 -while.body.173: ; preds = %while.hdr.172 +while.body.178: ; preds = %while.hdr.177 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.175, label %if.merge.176 + br i1 %icmpN, label %if.then.180, label %if.merge.181 -while.exit.174: ; preds = %while.hdr.172 +while.exit.179: ; preds = %while.hdr.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 1 }) ret { ptr, i64 } %callN -if.then.175: ; preds = %while.body.173 +if.then.180: ; preds = %while.body.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.176 + br label %if.merge.181 -if.merge.176: ; preds = %if.then.175, %while.body.173 +if.merge.181: ; preds = %if.then.180, %while.body.178 %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.396, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.416, 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.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, 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 @@ -4524,12 +4755,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.172 + br label %while.hdr.177 -fv.default: ; preds = %if.merge.176 +fv.default: ; preds = %if.merge.181 br label %fv.merge -fv.case: ; preds = %if.merge.176 +fv.case: ; preds = %if.merge.181 %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 @@ -4544,43 +4775,43 @@ entry: %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.398, i64 10 }, { ptr, i64 } { ptr @str.399, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 10 }, { ptr, i64 } { ptr @str.419, 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.177 + br label %while.hdr.182 -while.hdr.177: ; preds = %fv.merge, %entry +while.hdr.182: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.178, label %while.exit.179 + br i1 %icmp, label %while.body.183, label %while.exit.184 -while.body.178: ; preds = %while.hdr.177 +while.body.183: ; preds = %while.hdr.182 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.180, label %if.merge.181 + br i1 %icmpN, label %if.then.185, label %if.merge.186 -while.exit.179: ; preds = %while.hdr.177 +while.exit.184: ; preds = %while.hdr.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) ret { ptr, i64 } %callN -if.then.180: ; preds = %while.body.178 +if.then.185: ; preds = %while.body.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.181 + br label %if.merge.186 -if.merge.181: ; preds = %if.then.180, %while.body.178 +if.merge.186: ; preds = %if.then.185, %while.body.183 %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.407, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.427, 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.408, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, 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 @@ -4601,38 +4832,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.177 + br label %while.hdr.182 -fv.default: ; preds = %if.merge.181 +fv.default: ; preds = %if.merge.186 br label %fv.merge -fv.case: ; preds = %if.merge.181 +fv.case: ; preds = %if.merge.186 %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.181 +fv.case17: ; preds = %if.merge.186 %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.181 +fv.case20: ; preds = %if.merge.186 %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.181 +fv.case24: ; preds = %if.merge.186 %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.181 +fv.case29: ; preds = %if.merge.186 %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 @@ -4646,43 +4877,43 @@ 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.409, i64 13 }, { ptr, i64 } { ptr @str.410, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.429, i64 13 }, { ptr, i64 } { ptr @str.430, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.415, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.435, 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.416, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, 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 @@ -4700,18 +4931,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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.186 +fv.case17: ; preds = %if.merge.191 %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 @@ -4724,43 +4955,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.417, i64 8 }, { ptr, i64 } { ptr @str.418, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.437, i64 8 }, { ptr, i64 } { ptr @str.438, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.426, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.446, 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.427, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, 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 @@ -4781,36 +5012,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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.191 +fv.case17: ; preds = %if.merge.196 %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.191 +fv.case21: ; preds = %if.merge.196 %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.191 +fv.case25: ; preds = %if.merge.196 %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.191 +fv.case29: ; preds = %if.merge.196 %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 @@ -4821,89 +5052,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.428, i64 5 }, { ptr, i64 } { ptr @str.429, 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.192 - -while.hdr.192: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.193, label %while.exit.194 - -while.body.193: ; preds = %while.hdr.192 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 - -while.exit.194: ; preds = %while.hdr.192 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 1 }) - ret { ptr, i64 } %callN - -if.then.195: ; preds = %while.body.193 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 - -if.merge.196: ; preds = %if.then.195, %while.body.193 - %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.435, 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.436, 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.192 - -fv.default: ; preds = %if.merge.196 - br label %fv.merge - -fv.case: ; preds = %if.merge.196 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.196 - %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.196 - %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.437, i64 6 }, { ptr, i64 } { ptr @str.438, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.448, i64 5 }, { ptr, i64 } { ptr @str.449, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4922,24 +5071,24 @@ while.body.198: ; preds = %while.hdr.197 while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) ret { ptr, i64 } %callN if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.201 if.merge.201: ; preds = %if.then.200, %while.body.198 %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.444, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.455, 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.445, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, 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 @@ -4966,7 +5115,7 @@ fv.default: ; preds = %if.merge.201 fv.case: ; preds = %if.merge.201 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.201 @@ -4981,13 +5130,11 @@ fv.case20: ; preds = %if.merge.201 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.446, i64 6 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %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.457, i64 6 }, { ptr, i64 } { ptr @str.458, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4996,7 +5143,7 @@ entry: while.hdr.202: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.203, label %while.exit.204 while.body.203: ; preds = %while.hdr.202 @@ -5006,24 +5153,108 @@ while.body.203: ; preds = %while.hdr.202 while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 1 }) ret { ptr, i64 } %callN if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.206 if.merge.206: ; preds = %if.then.205, %while.body.203 %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.452, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.464, 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.453, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, 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.202 + +fv.default: ; preds = %if.merge.206 + br label %fv.merge + +fv.case: ; preds = %if.merge.206 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.206 + %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.206 + %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.466, i64 6 }, { ptr, i64 } { ptr @str.467, 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.207 + +while.hdr.207: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.208, label %while.exit.209 + +while.body.208: ; preds = %while.hdr.207 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.210, label %if.merge.211 + +while.exit.209: ; preds = %while.hdr.207 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 1 }) + ret { ptr, i64 } %callN + +if.then.210: ; preds = %while.body.208 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.211 + +if.merge.211: ; preds = %if.then.210, %while.body.208 + %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.472, 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.473, 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 @@ -5041,19 +5272,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.202 + br label %while.hdr.207 -fv.default: ; preds = %if.merge.206 +fv.default: ; preds = %if.merge.211 br label %fv.merge -fv.case: ; preds = %if.merge.206 +fv.case: ; preds = %if.merge.211 %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.206 +fv.case17: ; preds = %if.merge.211 %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 @@ -5067,93 +5298,7 @@ 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.454, i64 4 }, { ptr, i64 } { ptr @str.455, 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.207 - -while.hdr.207: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.208, label %while.exit.209 - -while.body.208: ; preds = %while.hdr.207 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.210, label %if.merge.211 - -while.exit.209: ; preds = %while.hdr.207 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 1 }) - ret { ptr, i64 } %callN - -if.then.210: ; preds = %while.body.208 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.211 - -if.merge.211: ; preds = %if.then.210, %while.body.208 - %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.461, 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.462, 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.207 - -fv.default: ; preds = %if.merge.211 - br label %fv.merge - -fv.case: ; preds = %if.merge.211 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.211 - %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.211 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.463, i64 6 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.474, i64 4 }, { ptr, i64 } { ptr @str.475, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5172,24 +5317,110 @@ while.body.213: ; preds = %while.hdr.212 while.exit.214: ; preds = %while.hdr.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) ret { ptr, i64 } %callN if.then.215: ; preds = %while.body.213 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.216 if.merge.216: ; preds = %if.then.215, %while.body.213 %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.470, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.481, 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.471, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, 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.212 + +fv.default: ; preds = %if.merge.216 + br label %fv.merge + +fv.case: ; preds = %if.merge.216 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.216 + %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.216 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.483, i64 6 }, { ptr, i64 } { ptr @str.484, 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.217 + +while.hdr.217: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.218, label %while.exit.219 + +while.body.218: ; preds = %while.hdr.217 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.220, label %if.merge.221 + +while.exit.219: ; preds = %while.hdr.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) + ret { ptr, i64 } %callN + +if.then.220: ; preds = %while.body.218 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.221 + +if.merge.221: ; preds = %if.then.220, %while.body.218 + %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.490, 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.491, 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 @@ -5208,24 +5439,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.212 + br label %while.hdr.217 -fv.default: ; preds = %if.merge.216 +fv.default: ; preds = %if.merge.221 br label %fv.merge -fv.case: ; preds = %if.merge.216 +fv.case: ; preds = %if.merge.221 %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.216 +fv.case17: ; preds = %if.merge.221 %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.216 +fv.case20: ; preds = %if.merge.221 %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 @@ -5238,43 +5469,43 @@ 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.472, i64 12 }, { ptr, i64 } { ptr @str.473, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.492, i64 12 }, { ptr, i64 } { ptr @str.493, 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.217 + br label %while.hdr.222 -while.hdr.217: ; preds = %if.merge.221, %entry +while.hdr.222: ; preds = %if.merge.226, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.218, label %while.exit.219 + br i1 %icmp, label %while.body.223, label %while.exit.224 -while.body.218: ; preds = %while.hdr.217 +while.body.223: ; preds = %while.hdr.222 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.220, label %if.merge.221 + br i1 %icmpN, label %if.then.225, label %if.merge.226 -while.exit.219: ; preds = %while.hdr.217 +while.exit.224: ; preds = %while.hdr.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 1 }) ret { ptr, i64 } %callN -if.then.220: ; preds = %while.body.218 +if.then.225: ; preds = %while.body.223 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.221 + br label %if.merge.226 -if.merge.221: ; preds = %if.then.220, %while.body.218 +if.merge.226: ; preds = %if.then.225, %while.body.223 %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.476, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.496, 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.477, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5285,7 +5516,7 @@ if.merge.221: ; preds = %if.then.220, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.217 + br label %while.hdr.222 } ; Function Attrs: nounwind @@ -5294,95 +5525,7 @@ 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.478, i64 8 }, { ptr, i64 } { ptr @str.479, 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.222 - -while.hdr.222: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.223, label %while.exit.224 - -while.body.223: ; preds = %while.hdr.222 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.225, label %if.merge.226 - -while.exit.224: ; preds = %while.hdr.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, i64 1 }) - ret { ptr, i64 } %callN - -if.then.225: ; preds = %while.body.223 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.226 - -if.merge.226: ; preds = %if.then.225, %while.body.223 - %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.485, 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.486, 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.222 - -fv.default: ; preds = %if.merge.226 - br label %fv.merge - -fv.case: ; preds = %if.merge.226 - %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.226 - %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.226 - %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.487, i64 7 }, { ptr, i64 } { ptr @str.488, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.498, i64 8 }, { ptr, i64 } { ptr @str.499, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5401,24 +5544,112 @@ while.body.228: ; preds = %while.hdr.227 while.exit.229: ; preds = %while.hdr.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 1 }) ret { ptr, i64 } %callN if.then.230: ; preds = %while.body.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.231 if.merge.231: ; preds = %if.then.230, %while.body.228 %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.494, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.505, 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.495, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, 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.227 + +fv.default: ; preds = %if.merge.231 + br label %fv.merge + +fv.case: ; preds = %if.merge.231 + %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.231 + %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.231 + %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.507, i64 7 }, { ptr, i64 } { ptr @str.508, 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.232 + +while.hdr.232: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.233, label %while.exit.234 + +while.body.233: ; preds = %while.hdr.232 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.235, label %if.merge.236 + +while.exit.234: ; preds = %while.hdr.232 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) + ret { ptr, i64 } %callN + +if.then.235: ; preds = %while.body.233 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.236 + +if.merge.236: ; preds = %if.then.235, %while.body.233 + %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.514, 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.515, 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 @@ -5437,26 +5668,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.227 + br label %while.hdr.232 -fv.default: ; preds = %if.merge.231 +fv.default: ; preds = %if.merge.236 br label %fv.merge -fv.case: ; preds = %if.merge.231 +fv.case: ; preds = %if.merge.236 %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.231 +fv.case17: ; preds = %if.merge.236 %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.231 +fv.case22: ; preds = %if.merge.236 %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 @@ -5470,86 +5701,7 @@ 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.496, i64 9 }, { ptr, i64 } { ptr @str.497, 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.232 - -while.hdr.232: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.233, label %while.exit.234 - -while.body.233: ; preds = %while.hdr.232 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.235, label %if.merge.236 - -while.exit.234: ; preds = %while.hdr.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 1 }) - ret { ptr, i64 } %callN - -if.then.235: ; preds = %while.body.233 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.236 - -if.merge.236: ; preds = %if.then.235, %while.body.233 - %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.502, 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.503, 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.232 - -fv.default: ; preds = %if.merge.236 - br label %fv.merge - -fv.case: ; preds = %if.merge.236 - %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.236 - %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.504, i64 4 }, { ptr, i64 } { ptr @str.505, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.516, i64 9 }, { ptr, i64 } { ptr @str.517, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5568,27 +5720,27 @@ while.body.238: ; preds = %while.hdr.237 while.exit.239: ; preds = %while.hdr.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 1 }) ret { ptr, i64 } %callN if.then.240: ; preds = %while.body.238 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.241 if.merge.241: ; preds = %if.then.240, %while.body.238 %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.510, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.522, 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.511, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, 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 { 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 @@ -5609,11 +5761,90 @@ fv.default: ; preds = %if.merge.241 br label %fv.merge fv.case: ; preds = %if.merge.241 + %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.241 + %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.524, i64 4 }, { ptr, i64 } { ptr @str.525, 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.242 + +while.hdr.242: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.243, label %while.exit.244 + +while.body.243: ; preds = %while.hdr.242 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.245, label %if.merge.246 + +while.exit.244: ; preds = %while.hdr.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 1 }) + ret { ptr, i64 } %callN + +if.then.245: ; preds = %while.body.243 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.246 + +if.merge.246: ; preds = %if.then.245, %while.body.243 + %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.530, 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.531, 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.242 + +fv.default: ; preds = %if.merge.246 + br label %fv.merge + +fv.case: ; preds = %if.merge.246 %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.241 +fv.case17: ; preds = %if.merge.246 %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 @@ -5631,43 +5862,43 @@ entry: %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.512, i64 6 }, { ptr, i64 } { ptr @str.513, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, i64 6 }, { ptr, i64 } { ptr @str.533, 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.242 + br label %while.hdr.247 -while.hdr.242: ; preds = %fv.merge, %entry +while.hdr.247: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.243, label %while.exit.244 + br i1 %icmp, label %while.body.248, label %while.exit.249 -while.body.243: ; preds = %while.hdr.242 +while.body.248: ; preds = %while.hdr.247 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.245, label %if.merge.246 + br i1 %icmpN, label %if.then.250, label %if.merge.251 -while.exit.244: ; preds = %while.hdr.242 +while.exit.249: ; preds = %while.hdr.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.534, i64 1 }) ret { ptr, i64 } %callN -if.then.245: ; preds = %while.body.243 +if.then.250: ; preds = %while.body.248 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.246 + br label %if.merge.251 -if.merge.246: ; preds = %if.then.245, %while.body.243 +if.merge.251: ; preds = %if.then.250, %while.body.248 %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.523, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.543, 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.524, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, 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 @@ -5690,51 +5921,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.242 + br label %while.hdr.247 -fv.default: ; preds = %if.merge.246 +fv.default: ; preds = %if.merge.251 br label %fv.merge -fv.case: ; preds = %if.merge.246 +fv.case: ; preds = %if.merge.251 %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.246 +fv.case17: ; preds = %if.merge.251 %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.246 +fv.case22: ; preds = %if.merge.251 %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.246 +fv.case25: ; preds = %if.merge.251 %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.246 +fv.case28: ; preds = %if.merge.251 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.246 +fv.case33: ; preds = %if.merge.251 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.246 +fv.case38: ; preds = %if.merge.251 %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 @@ -5749,43 +5980,43 @@ entry: %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.525, i64 6 }, { ptr, i64 } { ptr @str.526, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.545, i64 6 }, { ptr, i64 } { ptr @str.546, 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.247 + br label %while.hdr.252 -while.hdr.247: ; preds = %fv.merge, %entry +while.hdr.252: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.248, label %while.exit.249 + br i1 %icmp, label %while.body.253, label %while.exit.254 -while.body.248: ; preds = %while.hdr.247 +while.body.253: ; preds = %while.hdr.252 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.250, label %if.merge.251 + br i1 %icmpN, label %if.then.255, label %if.merge.256 -while.exit.249: ; preds = %while.hdr.247 +while.exit.254: ; preds = %while.hdr.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) ret { ptr, i64 } %callN -if.then.250: ; preds = %while.body.248 +if.then.255: ; preds = %while.body.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 2 }) + %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 - br label %if.merge.251 + br label %if.merge.256 -if.merge.251: ; preds = %if.then.250, %while.body.248 +if.merge.256: ; preds = %if.then.255, %while.body.253 %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.533, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.553, 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.534, i64 2 }) + %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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5805,31 +6036,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.247 + br label %while.hdr.252 -fv.default: ; preds = %if.merge.251 +fv.default: ; preds = %if.merge.256 br label %fv.merge -fv.case: ; preds = %if.merge.251 +fv.case: ; preds = %if.merge.256 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.251 +fv.case17: ; preds = %if.merge.256 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.251 +fv.case22: ; preds = %if.merge.256 %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.251 +fv.case25: ; preds = %if.merge.256 %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 @@ -5840,82 +6071,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.535, i64 8 }, { ptr, i64 } { ptr @str.536, 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.252 - -while.hdr.252: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.253, label %while.exit.254 - -while.body.253: ; preds = %while.hdr.252 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.255, label %if.merge.256 - -while.exit.254: ; preds = %while.hdr.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 1 }) - ret { ptr, i64 } %callN - -if.then.255: ; preds = %while.body.253 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.256 - -if.merge.256: ; preds = %if.then.255, %while.body.253 - %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.541, 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.542, 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.252 - -fv.default: ; preds = %if.merge.256 - br label %fv.merge - -fv.case: ; preds = %if.merge.256 - %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.256 - %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__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.543, i64 6 }, { ptr, i64 } { ptr @str.544, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.555, i64 8 }, { ptr, i64 } { ptr @str.556, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5924,7 +6080,7 @@ entry: while.hdr.257: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.258, label %while.exit.259 while.body.258: ; preds = %while.hdr.257 @@ -5934,118 +6090,16 @@ while.body.258: ; preds = %while.hdr.257 while.exit.259: ; preds = %while.hdr.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 1 }) ret { ptr, i64 } %callN if.then.260: ; preds = %while.body.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.261 if.merge.261: ; preds = %if.then.260, %while.body.258 - %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.553, 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.554, 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.257 - -fv.default: ; preds = %if.merge.261 - br label %fv.merge - -fv.case: ; preds = %if.merge.261 - %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.261 - %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.261 - %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.261 - %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.261 - %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.261 - %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.555, i64 10 }, { ptr, i64 } { ptr @str.556, 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.262 - -while.hdr.262: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.263, label %while.exit.264 - -while.body.263: ; preds = %while.hdr.262 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.265, label %if.merge.266 - -while.exit.264: ; preds = %while.hdr.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 1 }) - ret { ptr, i64 } %callN - -if.then.265: ; preds = %while.body.263 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.266 - -if.merge.266: ; preds = %if.then.265, %while.body.263 %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.561, i64 0, i64 %loadN @@ -6071,17 +6125,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.257 + +fv.default: ; preds = %if.merge.261 + br label %fv.merge + +fv.case: ; preds = %if.merge.261 + %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.261 + %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__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.563, i64 6 }, { ptr, i64 } { ptr @str.564, 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.262 + +while.hdr.262: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.263, label %while.exit.264 + +while.body.263: ; preds = %while.hdr.262 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.265, label %if.merge.266 + +while.exit.264: ; preds = %while.hdr.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + ret { ptr, i64 } %callN + +if.then.265: ; preds = %while.body.263 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.266 + +if.merge.266: ; preds = %if.then.265, %while.body.263 + %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.573, 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.574, 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.262 fv.default: ; preds = %if.merge.266 br label %fv.merge fv.case: ; preds = %if.merge.266 + %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.266 + %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.266 + %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.266 + %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.266 + %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.266 + %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.575, i64 10 }, { ptr, i64 } { ptr @str.576, 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.267 + +while.hdr.267: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.268, label %while.exit.269 + +while.body.268: ; preds = %while.hdr.267 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.270, label %if.merge.271 + +while.exit.269: ; preds = %while.hdr.267 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) + ret { ptr, i64 } %callN + +if.then.270: ; preds = %while.body.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.271 + +if.merge.271: ; preds = %if.then.270, %while.body.268 + %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.581, 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.582, 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.267 + +fv.default: ; preds = %if.merge.271 + br label %fv.merge + +fv.case: ; preds = %if.merge.271 %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.266 +fv.case17: ; preds = %if.merge.271 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6092,43 +6323,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.563, i64 5 }, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 5 }, { ptr, i64 } { ptr @str.584, 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.267 + br label %while.hdr.272 -while.hdr.267: ; preds = %fv.merge, %entry +while.hdr.272: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.268, label %while.exit.269 + br i1 %icmp, label %while.body.273, label %while.exit.274 -while.body.268: ; preds = %while.hdr.267 +while.body.273: ; preds = %while.hdr.272 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.270, label %if.merge.271 + br i1 %icmpN, label %if.then.275, label %if.merge.276 -while.exit.269: ; preds = %while.hdr.267 +while.exit.274: ; preds = %while.hdr.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) ret { ptr, i64 } %callN -if.then.270: ; preds = %while.body.268 +if.then.275: ; preds = %while.body.273 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.271 + br label %if.merge.276 -if.merge.271: ; preds = %if.then.270, %while.body.268 +if.merge.276: ; preds = %if.then.275, %while.body.273 %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.574, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.594, 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.575, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, 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, i64 }, ptr %alloca, align 8 @@ -6151,47 +6382,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.267 + br label %while.hdr.272 -fv.default: ; preds = %if.merge.271 +fv.default: ; preds = %if.merge.276 br label %fv.merge -fv.case: ; preds = %if.merge.271 +fv.case: ; preds = %if.merge.276 %fv.field = extractvalue { i32, i64, 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.271 +fv.case17: ; preds = %if.merge.276 %fv.field18 = extractvalue { i32, i64, 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.271 +fv.case20: ; preds = %if.merge.276 %fv.field21 = extractvalue { i32, i64, 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.271 +fv.case23: ; preds = %if.merge.276 %fv.field24 = extractvalue { i32, i64, 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.271 +fv.case27: ; preds = %if.merge.276 %fv.field28 = extractvalue { i32, i64, 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.271 +fv.case31: ; preds = %if.merge.276 %fv.field32 = extractvalue { i32, i64, 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.271 +fv.case35: ; preds = %if.merge.276 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6202,43 +6433,43 @@ 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.576, i64 4 }, { ptr, i64 } { ptr @str.577, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 4 }, { ptr, i64 } { ptr @str.597, 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.272 + br label %while.hdr.277 -while.hdr.272: ; preds = %fv.merge, %entry +while.hdr.277: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.273, label %while.exit.274 + br i1 %icmp, label %while.body.278, label %while.exit.279 -while.body.273: ; preds = %while.hdr.272 +while.body.278: ; preds = %while.hdr.277 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.275, label %if.merge.276 + br i1 %icmpN, label %if.then.280, label %if.merge.281 -while.exit.274: ; preds = %while.hdr.272 +while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, i64 1 }) ret { ptr, i64 } %callN -if.then.275: ; preds = %while.body.273 +if.then.280: ; preds = %while.body.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.599, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.276 + br label %if.merge.281 -if.merge.276: ; preds = %if.then.275, %while.body.273 +if.merge.281: ; preds = %if.then.280, %while.body.278 %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.581, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.601, 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.582, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, 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 @@ -6255,18 +6486,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.272 + br label %while.hdr.277 -fv.default: ; preds = %if.merge.276 +fv.default: ; preds = %if.merge.281 br label %fv.merge -fv.case: ; preds = %if.merge.276 +fv.case: ; preds = %if.merge.281 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 6 }, { ptr, i64 } { ptr @str.604, 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.282 + +while.hdr.282: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.283, label %while.exit.284 + +while.body.283: ; preds = %while.hdr.282 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.285, label %if.merge.286 + +while.exit.284: ; preds = %while.hdr.282 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.605, i64 1 }) + ret { ptr, i64 } %callN + +if.then.285: ; preds = %while.body.283 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.286 + +if.merge.286: ; preds = %if.then.285, %while.body.283 + %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.614, 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.615, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.282 + +fv.default: ; preds = %if.merge.286 + br label %fv.merge + +fv.case: ; preds = %if.merge.286 + %fv.field = extractvalue { i64, i32, 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.286 + %fv.field18 = extractvalue { i64, i32, 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.286 + %fv.field21 = extractvalue { i64, i32, 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.286 + %fv.field24 = extractvalue { i64, i32, 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.286 + %fv.field27 = extractvalue { i64, i32, 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.286 + %fv.field30 = extractvalue { i64, i32, 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.286 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.616, i64 7 }, { ptr, i64 } { ptr @str.617, 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.287 + +while.hdr.287: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.288, label %while.exit.289 + +while.body.288: ; preds = %while.hdr.287 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.290, label %if.merge.291 + +while.exit.289: ; preds = %while.hdr.287 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) + ret { ptr, i64 } %callN + +if.then.290: ; preds = %while.body.288 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.291 + +if.merge.291: ; preds = %if.then.290, %while.body.288 + %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.626, 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.627, 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.287 + +fv.default: ; preds = %if.merge.291 + br label %fv.merge + +fv.case: ; preds = %if.merge.291 + %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.291 + %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.291 + %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.291 + %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.291 + %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.291 + %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.628, i64 8 }, { ptr, i64 } { ptr @str.629, 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.292 + +while.hdr.292: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.293, label %while.exit.294 + +while.body.293: ; preds = %while.hdr.292 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.295, label %if.merge.296 + +while.exit.294: ; preds = %while.hdr.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.630, i64 1 }) + ret { ptr, i64 } %callN + +if.then.295: ; preds = %while.body.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.296 + +if.merge.296: ; preds = %if.then.295, %while.body.293 + %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.636, 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.637, 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.292 + +fv.default: ; preds = %if.merge.296 + br label %fv.merge + +fv.case: ; preds = %if.merge.296 + %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.296 + %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.296 + %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.296 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 4 }, { ptr, i64 } { ptr @str.639, 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + ret { ptr, i64 } %callN + +if.then.300: ; preds = %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.653, 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.654, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.301 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.301 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.301 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.301 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.301 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.301 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.301 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.301 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.301 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.301 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 6 }, { ptr, i64 } { ptr @str.656, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %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.665, 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.666, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.306 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.306 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.306 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.306 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.306 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__S(ptr %0, { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %1) #0 { entry: @@ -6275,43 +7069,43 @@ entry: %ba.tmp19 = alloca { { ptr, i64 }, i1 }, align 8 %ba.tmp24 = alloca { i1, i1 }, align 8 store { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 1 }, { ptr, i64 } { ptr @str.584, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 1 }, { ptr, i64 } { ptr @str.668, 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.277 + br label %while.hdr.307 -while.hdr.277: ; preds = %fv.merge, %entry +while.hdr.307: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.278, label %while.exit.279 + br i1 %icmp, label %while.body.308, label %while.exit.309 -while.body.278: ; preds = %while.hdr.277 +while.body.308: ; preds = %while.hdr.307 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 + br i1 %icmpN, label %if.then.310, label %if.merge.311 -while.exit.279: ; preds = %while.hdr.277 +while.exit.309: ; preds = %while.hdr.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 1 }) ret { ptr, i64 } %callN -if.then.280: ; preds = %while.body.278 +if.then.310: ; preds = %while.body.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 + br label %if.merge.311 -if.merge.281: ; preds = %if.then.280, %while.body.278 +if.merge.311: ; preds = %if.then.310, %while.body.308 %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.674, 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.591, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %alloca, align 8 @@ -6330,30 +7124,30 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.277 + br label %while.hdr.307 -fv.default: ; preds = %if.merge.281 +fv.default: ; preds = %if.merge.311 br label %fv.merge -fv.case: ; preds = %if.merge.281 +fv.case: ; preds = %if.merge.311 %fv.field = extractvalue { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %loadN, 0 store { i64, i1 } %fv.field, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %fv.val = insertvalue { i64, i64 } { i64 110, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 122, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.281 +fv.case17: ; preds = %if.merge.311 %fv.field18 = extractvalue { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %loadN, 1 store { { ptr, i64 }, i1 } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 %fv.val21 = insertvalue { i64, i64 } { i64 43, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.281 +fv.case22: ; preds = %if.merge.311 %fv.field23 = extractvalue { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } } %loadN, 2 store { i1, i1 } %fv.field23, ptr %ba.tmp24, align 1 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 111, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 123, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -6366,9 +7160,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.681, 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.592, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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 @@ -6382,18 +7176,18 @@ entry: %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.289, label %if.merge.290 + br i1 %icmp, label %if.then.319, label %if.merge.320 -if.then.289: ; preds = %entry +if.then.319: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.290 + br label %if.merge.320 -if.merge.290: ; preds = %if.then.289, %entry +if.merge.320: ; preds = %if.then.319, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6407,9 +7201,9 @@ entry: %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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.688, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6423,18 +7217,18 @@ entry: %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.291, label %if.merge.292 + br i1 %icmp, label %if.then.321, label %if.merge.322 -if.then.291: ; preds = %entry +if.then.321: ; 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.606, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, 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.292 + br label %if.merge.322 -if.merge.292: ; preds = %if.then.291, %entry +if.merge.322: ; preds = %if.then.321, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6459,9 +7253,9 @@ entry: %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.614, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.698, 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.607, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, 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 @@ -6475,16 +7269,16 @@ entry: i64 5, label %fv.case24 ] -if.then.293: ; preds = %fv.merge +if.then.323: ; 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.616, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, 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.294 + br label %if.merge.324 -if.merge.294: ; preds = %if.then.293, %fv.merge +if.merge.324: ; preds = %if.then.323, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6497,7 +7291,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.293, label %if.merge.294 + br i1 %icmp, label %if.then.323, label %if.merge.324 fv.default: ; preds = %entry br label %fv.merge @@ -6557,9 +7351,9 @@ entry: %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.625, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.709, 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.617, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, 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 @@ -6573,18 +7367,18 @@ entry: %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.295, label %if.merge.296 + br i1 %icmp, label %if.then.325, label %if.merge.326 -if.then.295: ; preds = %entry +if.then.325: ; 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.627, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, 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.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %entry +if.merge.326: ; preds = %if.then.325, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6598,9 +7392,9 @@ entry: %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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.718, 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.628, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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 @@ -6614,18 +7408,18 @@ entry: %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.297, label %if.merge.298 + br i1 %icmp, label %if.then.327, label %if.merge.328 -if.then.297: ; preds = %entry +if.then.327: ; 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.636, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, 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.298 + br label %if.merge.328 -if.merge.298: ; preds = %if.then.297, %entry +if.merge.328: ; preds = %if.then.327, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6637,33 +7431,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.721, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 -while.hdr.307: ; preds = %if.merge.311, %entry +while.hdr.337: ; preds = %if.merge.341, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.308, label %while.exit.309 + br i1 %icmp, label %while.body.338, label %while.exit.339 -while.body.308: ; preds = %while.hdr.307 +while.body.338: ; preds = %while.hdr.337 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.310, label %if.merge.311 + br i1 %icmpN, label %if.then.340, label %if.merge.341 -while.exit.309: ; preds = %while.hdr.307 +while.exit.339: ; preds = %while.hdr.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) ret { ptr, i64 } %call -if.then.310: ; preds = %while.body.308 +if.then.340: ; preds = %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.311 + br label %if.merge.341 -if.merge.311: ; preds = %if.then.310, %while.body.308 +if.merge.341: ; preds = %if.then.340, %while.body.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6677,7 +7471,7 @@ if.merge.311: ; preds = %if.then.310, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.307 + br label %while.hdr.337 } ; Function Attrs: nounwind @@ -6688,33 +7482,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.724, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 -while.hdr.312: ; preds = %if.merge.316, %entry +while.hdr.342: ; preds = %if.merge.346, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.313, label %while.exit.314 + br i1 %icmp, label %while.body.343, label %while.exit.344 -while.body.313: ; preds = %while.hdr.312 +while.body.343: ; preds = %while.hdr.342 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.315, label %if.merge.316 + br i1 %icmpN, label %if.then.345, label %if.merge.346 -while.exit.314: ; preds = %while.hdr.312 +while.exit.344: ; preds = %while.hdr.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) ret { ptr, i64 } %call -if.then.315: ; preds = %while.body.313 +if.then.345: ; preds = %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %while.body.313 +if.merge.346: ; preds = %if.then.345, %while.body.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6730,7 +7524,7 @@ if.merge.316: ; preds = %if.then.315, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.312 + br label %while.hdr.342 } ; Function Attrs: nounwind @@ -6740,33 +7534,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.643, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.727, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 -while.hdr.317: ; preds = %if.merge.321, %entry +while.hdr.347: ; preds = %if.merge.351, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.318, label %while.exit.319 + br i1 %icmp, label %while.body.348, label %while.exit.349 -while.body.318: ; preds = %while.hdr.317 +while.body.348: ; preds = %while.hdr.347 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.320, label %if.merge.321 + br i1 %icmpN, label %if.then.350, label %if.merge.351 -while.exit.319: ; preds = %while.hdr.317 +while.exit.349: ; preds = %while.hdr.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) ret { ptr, i64 } %call -if.then.320: ; preds = %while.body.318 +if.then.350: ; preds = %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.321 + br label %if.merge.351 -if.merge.321: ; preds = %if.then.320, %while.body.318 +if.merge.351: ; preds = %if.then.350, %while.body.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6780,7 +7574,7 @@ if.merge.321: ; preds = %if.then.320, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.317 + br label %while.hdr.347 } ; Function Attrs: nounwind @@ -6790,33 +7584,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.646, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.730, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 -while.hdr.322: ; preds = %if.merge.326, %entry +while.hdr.352: ; preds = %if.merge.356, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.323, label %while.exit.324 + br i1 %icmp, label %while.body.353, label %while.exit.354 -while.body.323: ; preds = %while.hdr.322 +while.body.353: ; preds = %while.hdr.352 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.325, label %if.merge.326 + br i1 %icmpN, label %if.then.355, label %if.merge.356 -while.exit.324: ; preds = %while.hdr.322 +while.exit.354: ; preds = %while.hdr.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 1 }) ret { ptr, i64 } %call -if.then.325: ; preds = %while.body.323 +if.then.355: ; preds = %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + %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 - br label %if.merge.326 + br label %if.merge.356 -if.merge.326: ; preds = %if.then.325, %while.body.323 +if.merge.356: ; preds = %if.then.355, %while.body.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6831,7 +7625,7 @@ if.merge.326: ; preds = %if.then.325, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.322 + br label %while.hdr.352 } ; Function Attrs: nounwind @@ -6841,33 +7635,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.649, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.733, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 -while.hdr.327: ; preds = %if.merge.331, %entry +while.hdr.357: ; preds = %if.merge.361, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.328, label %while.exit.329 + br i1 %icmp, label %while.body.358, label %while.exit.359 -while.body.328: ; preds = %while.hdr.327 +while.body.358: ; preds = %while.hdr.357 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.330, label %if.merge.331 + br i1 %icmpN, label %if.then.360, label %if.merge.361 -while.exit.329: ; preds = %while.hdr.327 +while.exit.359: ; preds = %while.hdr.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) ret { ptr, i64 } %call -if.then.330: ; preds = %while.body.328 +if.then.360: ; preds = %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.331 + br label %if.merge.361 -if.merge.331: ; preds = %if.then.330, %while.body.328 +if.merge.361: ; preds = %if.then.360, %while.body.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6881,7 +7675,7 @@ if.merge.331: ; preds = %if.then.330, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.327 + br label %while.hdr.357 } ; Function Attrs: nounwind @@ -6892,33 +7686,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.652, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.736, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 -while.hdr.332: ; preds = %if.merge.336, %entry +while.hdr.362: ; preds = %if.merge.366, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.333, label %while.exit.334 + br i1 %icmp, label %while.body.363, label %while.exit.364 -while.body.333: ; preds = %while.hdr.332 +while.body.363: ; preds = %while.hdr.362 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.335, label %if.merge.336 + br i1 %icmpN, label %if.then.365, label %if.merge.366 -while.exit.334: ; preds = %while.hdr.332 +while.exit.364: ; preds = %while.hdr.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) ret { ptr, i64 } %call -if.then.335: ; preds = %while.body.333 +if.then.365: ; preds = %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + %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 - br label %if.merge.336 + br label %if.merge.366 -if.merge.336: ; preds = %if.then.335, %while.body.333 +if.merge.366: ; preds = %if.then.365, %while.body.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6934,7 +7728,7 @@ if.merge.336: ; preds = %if.then.335, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.332 + br label %while.hdr.362 } ; Function Attrs: nounwind @@ -6944,35 +7738,35 @@ entry: %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.655, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.739, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 -while.hdr.345: ; preds = %if.merge.349, %entry +while.hdr.375: ; preds = %if.merge.379, %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.346, label %while.exit.347 + br i1 %icmp, label %while.body.376, label %while.exit.377 -while.body.346: ; preds = %while.hdr.345 +while.body.376: ; preds = %while.hdr.375 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.348, label %if.merge.349 + br i1 %icmpN, label %if.then.378, label %if.merge.379 -while.exit.347: ; preds = %while.hdr.345 +while.exit.377: ; preds = %while.hdr.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) ret { ptr, i64 } %call -if.then.348: ; preds = %while.body.346 +if.then.378: ; preds = %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.349 + br label %if.merge.379 -if.merge.349: ; preds = %if.then.348, %while.body.346 +if.merge.379: ; preds = %if.then.378, %while.body.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6988,7 +7782,7 @@ if.merge.349: ; preds = %if.then.348, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.345 + br label %while.hdr.375 } ; Function Attrs: nounwind @@ -6997,35 +7791,35 @@ 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.658, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.742, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 -while.hdr.350: ; preds = %if.merge.354, %entry +while.hdr.380: ; preds = %if.merge.384, %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.351, label %while.exit.352 + br i1 %icmp, label %while.body.381, label %while.exit.382 -while.body.351: ; preds = %while.hdr.350 +while.body.381: ; preds = %while.hdr.380 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.353, label %if.merge.354 + br i1 %icmpN, label %if.then.383, label %if.merge.384 -while.exit.352: ; preds = %while.hdr.350 +while.exit.382: ; preds = %while.hdr.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) ret { ptr, i64 } %call -if.then.353: ; preds = %while.body.351 +if.then.383: ; preds = %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + %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 - br label %if.merge.354 + br label %if.merge.384 -if.merge.354: ; preds = %if.then.353, %while.body.351 +if.merge.384: ; preds = %if.then.383, %while.body.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7040,7 +7834,7 @@ if.merge.354: ; preds = %if.then.353, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.350 + br label %while.hdr.380 } ; Function Attrs: nounwind @@ -7050,35 +7844,35 @@ entry: %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.661, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.745, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 -while.hdr.355: ; preds = %if.merge.359, %entry +while.hdr.385: ; preds = %if.merge.389, %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.356, label %while.exit.357 + br i1 %icmp, label %while.body.386, label %while.exit.387 -while.body.356: ; preds = %while.hdr.355 +while.body.386: ; preds = %while.hdr.385 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.358, label %if.merge.359 + br i1 %icmpN, label %if.then.388, label %if.merge.389 -while.exit.357: ; preds = %while.hdr.355 +while.exit.387: ; preds = %while.hdr.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) ret { ptr, i64 } %call -if.then.358: ; preds = %while.body.356 +if.then.388: ; preds = %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.359 + br label %if.merge.389 -if.merge.359: ; preds = %if.then.358, %while.body.356 +if.merge.389: ; preds = %if.then.388, %while.body.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7094,7 +7888,7 @@ if.merge.359: ; preds = %if.then.358, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.355 + br label %while.hdr.385 } ; Function Attrs: nounwind @@ -7104,35 +7898,35 @@ entry: %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.664, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.748, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 -while.hdr.360: ; preds = %if.merge.364, %entry +while.hdr.390: ; preds = %if.merge.394, %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.361, label %while.exit.362 + br i1 %icmp, label %while.body.391, label %while.exit.392 -while.body.361: ; preds = %while.hdr.360 +while.body.391: ; preds = %while.hdr.390 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.363, label %if.merge.364 + br i1 %icmpN, label %if.then.393, label %if.merge.394 -while.exit.362: ; preds = %while.hdr.360 +while.exit.392: ; preds = %while.hdr.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 1 }) ret { ptr, i64 } %call -if.then.363: ; preds = %while.body.361 +if.then.393: ; preds = %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.364 + br label %if.merge.394 -if.merge.364: ; preds = %if.then.363, %while.body.361 +if.merge.394: ; preds = %if.then.393, %while.body.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7148,7 +7942,7 @@ if.merge.364: ; preds = %if.then.363, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.360 + br label %while.hdr.390 } ; Function Attrs: nounwind @@ -7158,35 +7952,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.667, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.751, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 -while.hdr.365: ; preds = %if.merge.369, %entry +while.hdr.395: ; preds = %if.merge.399, %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.366, label %while.exit.367 + br i1 %icmp, label %while.body.396, label %while.exit.397 -while.body.366: ; preds = %while.hdr.365 +while.body.396: ; preds = %while.hdr.395 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.368, label %if.merge.369 + br i1 %icmpN, label %if.then.398, label %if.merge.399 -while.exit.367: ; preds = %while.hdr.365 +while.exit.397: ; preds = %while.hdr.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) ret { ptr, i64 } %call -if.then.368: ; preds = %while.body.366 +if.then.398: ; preds = %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.369 + br label %if.merge.399 -if.merge.369: ; preds = %if.then.368, %while.body.366 +if.merge.399: ; preds = %if.then.398, %while.body.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7202,7 +7996,7 @@ if.merge.369: ; preds = %if.then.368, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.365 + br label %while.hdr.395 } ; Function Attrs: nounwind @@ -7212,35 +8006,35 @@ entry: %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.670, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.754, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 -while.hdr.370: ; preds = %if.merge.374, %entry +while.hdr.400: ; preds = %if.merge.404, %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.371, label %while.exit.372 + br i1 %icmp, label %while.body.401, label %while.exit.402 -while.body.371: ; preds = %while.hdr.370 +while.body.401: ; preds = %while.hdr.400 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.373, label %if.merge.374 + br i1 %icmpN, label %if.then.403, label %if.merge.404 -while.exit.372: ; preds = %while.hdr.370 +while.exit.402: ; preds = %while.hdr.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 1 }) ret { ptr, i64 } %call -if.then.373: ; preds = %while.body.371 +if.then.403: ; preds = %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.374 + br label %if.merge.404 -if.merge.374: ; preds = %if.then.373, %while.body.371 +if.merge.404: ; preds = %if.then.403, %while.body.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7256,206 +8050,11 @@ if.merge.374: ; preds = %if.then.373, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.370 + br label %while.hdr.400 } ; 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.412, label %if.else.413 - -if.then.412: ; preds = %entry - br label %if.merge.414 - -if.else.413: ; 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.414 - -if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - 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.428, label %if.else.429 - -if.then.428: ; preds = %entry - br label %if.merge.430 - -if.else.429: ; 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.430 - -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] - 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.431, label %if.else.432 - -if.then.431: ; preds = %entry - br label %if.merge.433 - -if.else.432: ; 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.433 - -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] - 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - ret { ptr, i64 } %bp -} - -; 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.440, label %if.else.441 - -if.then.440: ; preds = %entry - br label %if.merge.442 - -if.else.441: ; 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.690, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.442 - -if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] - 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.443, label %if.else.444 - -if.then.443: ; preds = %entry - br label %if.merge.445 - -if.else.444: ; 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.445 - -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] - 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 @@ -7473,12 +8072,207 @@ if.then.446: ; preds = %entry if.else.447: ; 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 5 }, { ptr, i64 } %callN) br label %if.merge.448 if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + 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.462, label %if.else.463 + +if.then.462: ; preds = %entry + br label %if.merge.464 + +if.else.463: ; 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.762, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + 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.465, label %if.else.466 + +if.then.465: ; preds = %entry + br label %if.merge.467 + +if.else.466: ; 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.765, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.467 + +if.merge.467: ; preds = %if.else.466, %if.then.465 + %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.768, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.771, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + ret { ptr, i64 } %bp +} + +; 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.774, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + 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.477, label %if.else.478 + +if.then.477: ; preds = %entry + br label %if.merge.479 + +if.else.478: ; 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.777, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.479 + +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + 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.480, label %if.else.481 + +if.then.480: ; preds = %entry + br label %if.merge.482 + +if.else.481: ; 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.780, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.482 + +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7493,20 +8287,20 @@ entry: 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.449, label %if.else.450 + br i1 %icmp, label %if.then.483, label %if.else.484 -if.then.449: ; preds = %entry - br label %if.merge.451 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.450: ; preds = %entry +if.else.484: ; 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.451 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7521,20 +8315,20 @@ entry: 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.452, label %if.else.453 + br i1 %icmp, label %if.then.486, label %if.else.487 -if.then.452: ; preds = %entry - br label %if.merge.454 +if.then.486: ; preds = %entry + br label %if.merge.488 -if.else.453: ; preds = %entry +if.else.487: ; 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.454 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.488 -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7549,20 +8343,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.705, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7577,20 +8371,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7604,20 +8398,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7632,20 +8426,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7659,20 +8453,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7687,20 +8481,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7715,20 +8509,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7743,20 +8537,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7771,20 +8565,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7799,20 +8593,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7827,20 +8621,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7855,20 +8649,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7883,20 +8677,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7911,20 +8705,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -7939,20 +8733,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -7967,20 +8761,131 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + 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.537, label %if.else.538 + +if.then.537: ; preds = %entry + br label %if.merge.539 + +if.else.538: ; 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.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.539 + +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + 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.540, label %if.else.541 + +if.then.540: ; preds = %entry + br label %if.merge.542 + +if.else.541: ; 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.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 + +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] + 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.543, label %if.else.544 + +if.then.543: ; preds = %entry + br label %if.merge.545 + +if.else.544: ; 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.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.545 + +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] + 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.546, label %if.else.547 + +if.then.546: ; preds = %entry + br label %if.merge.548 + +if.else.547: ; 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.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 + +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -7995,20 +8900,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.504: ; preds = %entry +if.else.550: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -8023,20 +8928,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.507: ; preds = %entry +if.else.553: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -8051,20 +8956,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 2 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 2 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8079,20 +8984,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8107,20 +9012,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8135,20 +9040,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8163,20 +9068,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8191,20 +9096,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.525: ; preds = %entry +if.else.571: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8219,20 +9124,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8245,12 +9150,12 @@ entry: %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.539, label %if.merge.540 + br i1 %lnot, label %if.then.585, label %if.merge.586 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.778, i64 4 } +if.then.585: ; preds = %entry + ret { ptr, i64 } { ptr @str.874, i64 4 } -if.merge.540: ; preds = %entry +if.merge.586: ; 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 @@ -8269,12 +9174,12 @@ entry: %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.541, label %if.merge.542 + br i1 %lnot, label %if.then.587, label %if.merge.588 -if.then.541: ; preds = %entry - ret { ptr, i64 } { ptr @str.779, i64 4 } +if.then.587: ; preds = %entry + ret { ptr, i64 } { ptr @str.875, i64 4 } -if.merge.542: ; preds = %entry +if.merge.588: ; 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 @@ -8292,12 +9197,12 @@ entry: %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.543, label %if.merge.544 + br i1 %lnot, label %if.then.589, label %if.merge.590 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.780, i64 4 } +if.then.589: ; preds = %entry + ret { ptr, i64 } { ptr @str.876, i64 4 } -if.merge.544: ; preds = %entry +if.merge.590: ; 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 @@ -8314,12 +9219,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.781, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.877, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 @@ -8338,12 +9243,12 @@ entry: %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.547, label %if.merge.548 + br i1 %lnot, label %if.then.593, label %if.merge.594 -if.then.547: ; preds = %entry - ret { ptr, i64 } { ptr @str.782, i64 4 } +if.then.593: ; preds = %entry + ret { ptr, i64 } { ptr @str.878, i64 4 } -if.merge.548: ; preds = %entry +if.merge.594: ; 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 @@ -8361,12 +9266,12 @@ entry: %load = load { i64, i1 }, ptr %alloca, align 8 %oh.has = extractvalue { i64, i1 } %load, 1 %lnot = xor i1 %oh.has, true - br i1 %lnot, label %if.then.549, label %if.merge.550 + br i1 %lnot, label %if.then.595, label %if.merge.596 -if.then.549: ; preds = %entry - ret { ptr, i64 } { ptr @str.783, i64 4 } +if.then.595: ; preds = %entry + ret { ptr, i64 } { ptr @str.879, i64 4 } -if.merge.550: ; preds = %entry +if.merge.596: ; preds = %entry %loadN = load { i64, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { i64, i1 } %loadN, 0 %ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %ou.val, 1 @@ -8382,12 +9287,12 @@ entry: %load = load { i1, i1 }, ptr %alloca, align 1 %oh.has = extractvalue { i1, i1 } %load, 1 %lnot = xor i1 %oh.has, true - br i1 %lnot, label %if.then.551, label %if.merge.552 + br i1 %lnot, label %if.then.597, label %if.merge.598 -if.then.551: ; preds = %entry - ret { ptr, i64 } { ptr @str.784, i64 4 } +if.then.597: ; preds = %entry + ret { ptr, i64 } { ptr @str.880, i64 4 } -if.merge.552: ; preds = %entry +if.merge.598: ; preds = %entry %loadN = load { i1, i1 }, ptr %alloca, align 1 %ou.val = extractvalue { i1, i1 } %loadN, 0 %zN = zext i1 %ou.val to i64 diff --git a/examples/expected/1004-errors-try.ir b/examples/expected/1004-errors-try.ir index 9f89a43..90fd16f 100644 --- a/examples/expected/1004-errors-try.ir +++ b/examples/expected/1004-errors-try.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [187 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] +@__sx_type_is_unsigned = private constant [205 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,469 +28,469 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag.str.102 = private constant [4 x i8] c"Bad\00" -@tag.str.103 = private constant [6 x i8] c"Worse\00" -@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 3 }, { ptr, i64 } { ptr @tag.str.103, i64 5 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag.str.104 = private constant [4 x i8] c"Bad\00" +@tag.str.105 = private constant [6 x i8] c"Worse\00" +@tag_names = private constant [24 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }, { ptr, i64 } { ptr @tag.str.104, i64 3 }, { ptr, i64 } { ptr @tag.str.105, i64 5 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.104 = private constant [5 x i8] c"bool\00" -@tn.str.105 = private constant [3 x i8] c"i8\00" -@tn.str.106 = private constant [4 x i8] c"i16\00" -@tn.str.107 = private constant [4 x i8] c"i32\00" -@tn.str.108 = private constant [4 x i8] c"i64\00" -@tn.str.109 = private constant [3 x i8] c"u8\00" -@tn.str.110 = private constant [4 x i8] c"u16\00" -@tn.str.111 = private constant [4 x i8] c"u32\00" -@tn.str.112 = private constant [4 x i8] c"u64\00" -@tn.str.113 = private constant [4 x i8] c"f32\00" -@tn.str.114 = private constant [4 x i8] c"f64\00" -@tn.str.115 = private constant [7 x i8] c"string\00" -@tn.str.116 = private constant [4 x i8] c"Any\00" -@tn.str.117 = private constant [9 x i8] c"noreturn\00" -@tn.str.118 = private constant [6 x i8] c"isize\00" -@tn.str.119 = private constant [6 x i8] c"usize\00" -@tn.str.120 = private constant [5 x i8] c"void\00" -@tn.str.121 = private constant [8 x i8] c"cstring\00" -@tn.str.122 = private constant [6 x i8] c"*void\00" -@tn.str.123 = private constant [16 x i8] c"Source_Location\00" -@tn.str.124 = private constant [10 x i8] c"Allocator\00" -@tn.str.125 = private constant [8 x i8] c"Context\00" -@tn.str.126 = private constant [7 x i8] c"[4]i64\00" -@tn.str.127 = private constant [9 x i8] c"[]string\00" -@tn.str.128 = private constant [11 x i8] c"CAllocator\00" -@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.130 = private constant [4 x i8] c"GPA\00" -@tn.str.131 = private constant [5 x i8] c"*GPA\00" -@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.134 = private constant [6 x i8] c"Arena\00" -@tn.str.135 = private constant [7 x i8] c"*Arena\00" -@tn.str.136 = private constant [6 x i8] c"[*]u8\00" -@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.141 = private constant [9 x i8] c"OpenMode\00" -@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.143 = private constant [5 x i8] c"File\00" -@tn.str.144 = private constant [6 x i8] c"*File\00" -@tn.str.145 = private constant [6 x i8] c"?File\00" -@tn.str.146 = private constant [8 x i8] c"?string\00" -@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.148 = private constant [9 x i8] c"?cstring\00" -@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.151 = private constant [5 x i8] c"*i32\00" -@tn.str.152 = private constant [9 x i8] c"SockAddr\00" -@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.154 = private constant [5 x i8] c"*u32\00" -@tn.str.155 = private constant [8 x i8] c"SockErr\00" -@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.158 = private constant [10 x i8] c"JsonError\00" -@tn.str.159 = private constant [6 x i8] c"Array\00" -@tn.str.160 = private constant [7 x i8] c"Object\00" -@tn.str.161 = private constant [6 x i8] c"Value\00" -@tn.str.162 = private constant [7 x i8] c"Member\00" -@tn.str.163 = private constant [9 x i8] c"[*]Value\00" -@tn.str.164 = private constant [7 x i8] c"*Array\00" -@tn.str.165 = private constant [10 x i8] c"[*]Member\00" -@tn.str.166 = private constant [8 x i8] c"*Object\00" -@tn.str.167 = private constant [5 x i8] c"[]u8\00" -@tn.str.168 = private constant [5 x i8] c"Sink\00" -@tn.str.169 = private constant [6 x i8] c"*Sink\00" -@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.173 = private constant [7 x i8] c"Parser\00" -@tn.str.174 = private constant [8 x i8] c"*Parser\00" -@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.178 = private constant [13 x i8] c"Architecture\00" -@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.180 = private constant [11 x i8] c"() -> bool\00" -@tn.str.181 = private constant [5 x i8] c"*i64\00" -@tn.str.182 = private constant [9 x i8] c"CliError\00" -@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.185 = private constant [8 x i8] c"Command\00" -@tn.str.186 = private constant [10 x i8] c"FlagValue\00" -@tn.str.187 = private constant [5 x i8] c"Diag\00" -@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.189 = private constant [7 x i8] c"Parsed\00" -@tn.str.190 = private constant [8 x i8] c"*Parsed\00" -@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.192 = private constant [10 x i8] c"[]Command\00" -@tn.str.193 = private constant [6 x i8] c"*Diag\00" -@tn.str.194 = private constant [7 x i8] c"[8]i64\00" -@tn.str.195 = private constant [7 x i8] c"[64]u8\00" -@tn.str.196 = private constant [7 x i8] c"Sha256\00" -@tn.str.197 = private constant [8 x i8] c"*Sha256\00" -@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.199 = private constant [8 x i8] c"[64]i64\00" -@tn.str.200 = private constant [9 x i8] c"Timespec\00" -@tn.str.201 = private constant [10 x i8] c"*Timespec\00" -@tn.str.202 = private constant [7 x i8] c"Kevent\00" -@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.204 = private constant [8 x i8] c"*Kevent\00" -@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.206 = private constant [9 x i8] c"EventErr\00" -@tn.str.207 = private constant [6 x i8] c"Event\00" -@tn.str.208 = private constant [5 x i8] c"Loop\00" -@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.210 = private constant [6 x i8] c"*Loop\00" -@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.212 = private constant [8 x i8] c"[]Event\00" -@tn.str.213 = private constant [2 x i8] c"E\00" -@tn.str.214 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.215 = private constant [7 x i8] c"**void\00" -@tn.str.216 = private constant [3 x i8] c"*E\00" -@tn.str.217 = private constant [8 x i8] c"*string\00" -@tn.str.218 = private constant [6 x i8] c"[]Any\00" -@tn.str.219 = private constant [5 x i8] c"*Any\00" -@tn.str.220 = private constant [7 x i8] c"[1]Any\00" -@tn.str.221 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.222 = private constant [7 x i8] c"*[]Any\00" -@tn.str.223 = private constant [4 x i8] c"*u8\00" -@tn.str.224 = private constant [6 x i8] c"*bool\00" -@tn.str.225 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.226 = private constant [5 x i8] c"*f64\00" -@tn.str.227 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.228 = private constant [11 x i8] c"*Allocator\00" -@tn.str.229 = private constant [9 x i8] c"*Context\00" -@tn.str.230 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.231 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.232 = private constant [8 x i8] c"*Member\00" -@tn.str.233 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.234 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.235 = private constant [9 x i8] c"*Command\00" -@tn.str.236 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.237 = private constant [7 x i8] c"*Event\00" -@tn.str.238 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.239 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.240 = private constant [7 x i8] c"*Value\00" -@tn.str.241 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.242 = private constant [14 x i8] c"*Architecture\00" -@tn.str.243 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.244 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.245 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.246 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.247 = private constant [10 x i8] c"*[]string\00" -@tn.str.248 = private constant [6 x i8] c"*[]u8\00" -@tn.str.249 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.250 = private constant [11 x i8] c"*[]Command\00" -@tn.str.251 = private constant [9 x i8] c"*[]Event\00" -@tn.str.252 = private constant [6 x i8] c"**GPA\00" -@tn.str.253 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.254 = private constant [8 x i8] c"**Arena\00" -@tn.str.255 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.256 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.257 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.258 = private constant [7 x i8] c"**File\00" -@tn.str.259 = private constant [6 x i8] c"**i32\00" -@tn.str.260 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.261 = private constant [6 x i8] c"**u32\00" -@tn.str.262 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.263 = private constant [8 x i8] c"**Array\00" -@tn.str.264 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.265 = private constant [9 x i8] c"**Object\00" -@tn.str.266 = private constant [7 x i8] c"**Sink\00" -@tn.str.267 = private constant [9 x i8] c"**Parser\00" -@tn.str.268 = private constant [6 x i8] c"**i64\00" -@tn.str.269 = private constant [9 x i8] c"**Parsed\00" -@tn.str.270 = private constant [7 x i8] c"**Diag\00" -@tn.str.271 = private constant [9 x i8] c"**Sha256\00" -@tn.str.272 = private constant [11 x i8] c"**Timespec\00" -@tn.str.273 = private constant [9 x i8] c"**Kevent\00" -@tn.str.274 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.275 = private constant [7 x i8] c"**Loop\00" -@tn.str.276 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.277 = private constant [8 x i8] c"***void\00" -@tn.str.278 = private constant [4 x i8] c"**E\00" -@tn.str.279 = private constant [9 x i8] c"**string\00" -@tn.str.280 = private constant [6 x i8] c"**Any\00" -@tn.str.281 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.282 = private constant [8 x i8] c"**[]Any\00" -@tn.str.283 = private constant [5 x i8] c"**u8\00" -@tn.str.284 = private constant [7 x i8] c"**bool\00" -@tn.str.285 = private constant [7 x i8] c"*?File\00" -@tn.str.286 = private constant [9 x i8] c"*?string\00" -@tn.str.287 = private constant [10 x i8] c"*?cstring\00" -@tn.str.288 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.289 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [187 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 1 }, { ptr, i64 } { ptr @tn.str.214, i64 12 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 2 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 5 }, { ptr, i64 } { ptr @tn.str.219, i64 4 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 3 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 16 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 8 }, { ptr, i64 } { ptr @tn.str.230, i64 11 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 13 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 9 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 11 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 12 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 19 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 12 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 13 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 3 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 7 }, { ptr, i64 } { ptr @tn.str.283, i64 4 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 9 }, { ptr, i64 } { ptr @tn.str.288, i64 15 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }] -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.297 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.298 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.299 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.300 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.301 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.302 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.303 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.304 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.305 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.307 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.308 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.309 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.310 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.106 = private constant [5 x i8] c"bool\00" +@tn.str.107 = private constant [3 x i8] c"i8\00" +@tn.str.108 = private constant [4 x i8] c"i16\00" +@tn.str.109 = private constant [4 x i8] c"i32\00" +@tn.str.110 = private constant [4 x i8] c"i64\00" +@tn.str.111 = private constant [3 x i8] c"u8\00" +@tn.str.112 = private constant [4 x i8] c"u16\00" +@tn.str.113 = private constant [4 x i8] c"u32\00" +@tn.str.114 = private constant [4 x i8] c"u64\00" +@tn.str.115 = private constant [4 x i8] c"f32\00" +@tn.str.116 = private constant [4 x i8] c"f64\00" +@tn.str.117 = private constant [7 x i8] c"string\00" +@tn.str.118 = private constant [4 x i8] c"Any\00" +@tn.str.119 = private constant [9 x i8] c"noreturn\00" +@tn.str.120 = private constant [6 x i8] c"isize\00" +@tn.str.121 = private constant [6 x i8] c"usize\00" +@tn.str.122 = private constant [5 x i8] c"void\00" +@tn.str.123 = private constant [8 x i8] c"cstring\00" +@tn.str.124 = private constant [6 x i8] c"*void\00" +@tn.str.125 = private constant [16 x i8] c"Source_Location\00" +@tn.str.126 = private constant [10 x i8] c"Allocator\00" +@tn.str.127 = private constant [8 x i8] c"Context\00" +@tn.str.128 = private constant [7 x i8] c"[4]i64\00" +@tn.str.129 = private constant [9 x i8] c"[]string\00" +@tn.str.130 = private constant [11 x i8] c"CAllocator\00" +@tn.str.131 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.132 = private constant [4 x i8] c"GPA\00" +@tn.str.133 = private constant [5 x i8] c"*GPA\00" +@tn.str.134 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.135 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.136 = private constant [6 x i8] c"Arena\00" +@tn.str.137 = private constant [7 x i8] c"*Arena\00" +@tn.str.138 = private constant [6 x i8] c"[*]u8\00" +@tn.str.139 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.140 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.141 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.142 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.143 = private constant [9 x i8] c"OpenMode\00" +@tn.str.144 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.145 = private constant [5 x i8] c"File\00" +@tn.str.146 = private constant [6 x i8] c"*File\00" +@tn.str.147 = private constant [6 x i8] c"?File\00" +@tn.str.148 = private constant [8 x i8] c"?string\00" +@tn.str.149 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.150 = private constant [9 x i8] c"?cstring\00" +@tn.str.151 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.152 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.153 = private constant [5 x i8] c"*i32\00" +@tn.str.154 = private constant [9 x i8] c"SockAddr\00" +@tn.str.155 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.156 = private constant [5 x i8] c"*u32\00" +@tn.str.157 = private constant [8 x i8] c"SockErr\00" +@tn.str.158 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.159 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.160 = private constant [10 x i8] c"JsonError\00" +@tn.str.161 = private constant [6 x i8] c"Array\00" +@tn.str.162 = private constant [7 x i8] c"Object\00" +@tn.str.163 = private constant [6 x i8] c"Value\00" +@tn.str.164 = private constant [7 x i8] c"Member\00" +@tn.str.165 = private constant [9 x i8] c"[*]Value\00" +@tn.str.166 = private constant [7 x i8] c"*Array\00" +@tn.str.167 = private constant [10 x i8] c"[*]Member\00" +@tn.str.168 = private constant [8 x i8] c"*Object\00" +@tn.str.169 = private constant [5 x i8] c"[]u8\00" +@tn.str.170 = private constant [5 x i8] c"Sink\00" +@tn.str.171 = private constant [6 x i8] c"*Sink\00" +@tn.str.172 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.173 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.174 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.175 = private constant [7 x i8] c"Parser\00" +@tn.str.176 = private constant [8 x i8] c"*Parser\00" +@tn.str.177 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.178 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.179 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.180 = private constant [13 x i8] c"Architecture\00" +@tn.str.181 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.182 = private constant [11 x i8] c"() -> bool\00" +@tn.str.183 = private constant [5 x i8] c"*i64\00" +@tn.str.184 = private constant [9 x i8] c"CliError\00" +@tn.str.185 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.186 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.187 = private constant [8 x i8] c"Command\00" +@tn.str.188 = private constant [10 x i8] c"FlagValue\00" +@tn.str.189 = private constant [5 x i8] c"Diag\00" +@tn.str.190 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.191 = private constant [7 x i8] c"Parsed\00" +@tn.str.192 = private constant [8 x i8] c"*Parsed\00" +@tn.str.193 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.194 = private constant [10 x i8] c"[]Command\00" +@tn.str.195 = private constant [6 x i8] c"*Diag\00" +@tn.str.196 = private constant [7 x i8] c"[8]i64\00" +@tn.str.197 = private constant [7 x i8] c"[64]u8\00" +@tn.str.198 = private constant [7 x i8] c"Sha256\00" +@tn.str.199 = private constant [8 x i8] c"*Sha256\00" +@tn.str.200 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.201 = private constant [8 x i8] c"[64]i64\00" +@tn.str.202 = private constant [9 x i8] c"Timespec\00" +@tn.str.203 = private constant [10 x i8] c"*Timespec\00" +@tn.str.204 = private constant [7 x i8] c"Kevent\00" +@tn.str.205 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.206 = private constant [8 x i8] c"*Kevent\00" +@tn.str.207 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.208 = private constant [9 x i8] c"EventErr\00" +@tn.str.209 = private constant [6 x i8] c"Event\00" +@tn.str.210 = private constant [5 x i8] c"Loop\00" +@tn.str.211 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.212 = private constant [6 x i8] c"*Loop\00" +@tn.str.213 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.214 = private constant [8 x i8] c"[]Event\00" +@tn.str.215 = private constant [8 x i8] c"HttpErr\00" +@tn.str.216 = private constant [7 x i8] c"Config\00" +@tn.str.217 = private constant [8 x i8] c"Request\00" +@tn.str.218 = private constant [9 x i8] c"Response\00" +@tn.str.219 = private constant [9 x i8] c"*Request\00" +@tn.str.220 = private constant [5 x i8] c"Conn\00" +@tn.str.221 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.222 = private constant [10 x i8] c"*Response\00" +@tn.str.223 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.224 = private constant [7 x i8] c"Server\00" +@tn.str.225 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.226 = private constant [8 x i8] c"*Server\00" +@tn.str.227 = private constant [2 x i8] c"E\00" +@tn.str.228 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.229 = private constant [7 x i8] c"**void\00" +@tn.str.230 = private constant [3 x i8] c"*E\00" +@tn.str.231 = private constant [8 x i8] c"*string\00" +@tn.str.232 = private constant [6 x i8] c"[]Any\00" +@tn.str.233 = private constant [5 x i8] c"*Any\00" +@tn.str.234 = private constant [7 x i8] c"[1]Any\00" +@tn.str.235 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.236 = private constant [7 x i8] c"*[]Any\00" +@tn.str.237 = private constant [4 x i8] c"*u8\00" +@tn.str.238 = private constant [6 x i8] c"*bool\00" +@tn.str.239 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.240 = private constant [5 x i8] c"*f64\00" +@tn.str.241 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.242 = private constant [11 x i8] c"*Allocator\00" +@tn.str.243 = private constant [9 x i8] c"*Context\00" +@tn.str.244 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.245 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.246 = private constant [8 x i8] c"*Member\00" +@tn.str.247 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.248 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.249 = private constant [9 x i8] c"*Command\00" +@tn.str.250 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.251 = private constant [7 x i8] c"*Event\00" +@tn.str.252 = private constant [8 x i8] c"*Config\00" +@tn.str.253 = private constant [6 x i8] c"*Conn\00" +@tn.str.254 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.255 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.256 = private constant [7 x i8] c"*Value\00" +@tn.str.257 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.258 = private constant [14 x i8] c"*Architecture\00" +@tn.str.259 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.260 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.261 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.262 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.263 = private constant [10 x i8] c"*[]string\00" +@tn.str.264 = private constant [6 x i8] c"*[]u8\00" +@tn.str.265 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.266 = private constant [11 x i8] c"*[]Command\00" +@tn.str.267 = private constant [9 x i8] c"*[]Event\00" +@tn.str.268 = private constant [6 x i8] c"**GPA\00" +@tn.str.269 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.270 = private constant [8 x i8] c"**Arena\00" +@tn.str.271 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.272 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.273 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.274 = private constant [7 x i8] c"**File\00" +@tn.str.275 = private constant [6 x i8] c"**i32\00" +@tn.str.276 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.277 = private constant [6 x i8] c"**u32\00" +@tn.str.278 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.279 = private constant [8 x i8] c"**Array\00" +@tn.str.280 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.281 = private constant [9 x i8] c"**Object\00" +@tn.str.282 = private constant [7 x i8] c"**Sink\00" +@tn.str.283 = private constant [9 x i8] c"**Parser\00" +@tn.str.284 = private constant [6 x i8] c"**i64\00" +@tn.str.285 = private constant [9 x i8] c"**Parsed\00" +@tn.str.286 = private constant [7 x i8] c"**Diag\00" +@tn.str.287 = private constant [9 x i8] c"**Sha256\00" +@tn.str.288 = private constant [11 x i8] c"**Timespec\00" +@tn.str.289 = private constant [9 x i8] c"**Kevent\00" +@tn.str.290 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.291 = private constant [7 x i8] c"**Loop\00" +@tn.str.292 = private constant [10 x i8] c"**Request\00" +@tn.str.293 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.294 = private constant [11 x i8] c"**Response\00" +@tn.str.295 = private constant [9 x i8] c"**Server\00" +@tn.str.296 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.297 = private constant [8 x i8] c"***void\00" +@tn.str.298 = private constant [4 x i8] c"**E\00" +@tn.str.299 = private constant [9 x i8] c"**string\00" +@tn.str.300 = private constant [6 x i8] c"**Any\00" +@tn.str.301 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.302 = private constant [8 x i8] c"**[]Any\00" +@tn.str.303 = private constant [5 x i8] c"**u8\00" +@tn.str.304 = private constant [7 x i8] c"**bool\00" +@tn.str.305 = private constant [7 x i8] c"*?File\00" +@tn.str.306 = private constant [9 x i8] c"*?string\00" +@tn.str.307 = private constant [10 x i8] c"*?cstring\00" +@tn.str.308 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.309 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [205 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.106, i64 4 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 2 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 3 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 6 }, { ptr, i64 } { ptr @tn.str.118, i64 3 }, { ptr, i64 } { ptr @tn.str.119, i64 8 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 5 }, { ptr, i64 } { ptr @tn.str.122, i64 4 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 15 }, { ptr, i64 } { ptr @tn.str.126, i64 9 }, { ptr, i64 } { ptr @tn.str.127, i64 7 }, { ptr, i64 } { ptr @tn.str.128, i64 6 }, { ptr, i64 } { ptr @tn.str.129, i64 8 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 3 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 10 }, { ptr, i64 } { ptr @tn.str.135, i64 11 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 6 }, { ptr, i64 } { ptr @tn.str.138, i64 5 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 9 }, { ptr, i64 } { ptr @tn.str.141, i64 17 }, { ptr, i64 } { ptr @tn.str.142, i64 18 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 4 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 7 }, { ptr, i64 } { ptr @tn.str.149, i64 10 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 13 }, { ptr, i64 } { ptr @tn.str.152, i64 14 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 8 }, { ptr, i64 } { ptr @tn.str.155, i64 9 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 7 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 9 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 5 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 8 }, { ptr, i64 } { ptr @tn.str.166, i64 6 }, { ptr, i64 } { ptr @tn.str.167, i64 9 }, { ptr, i64 } { ptr @tn.str.168, i64 7 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 16 }, { ptr, i64 } { ptr @tn.str.173, i64 14 }, { ptr, i64 } { ptr @tn.str.174, i64 21 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 24 }, { ptr, i64 } { ptr @tn.str.178, i64 23 }, { ptr, i64 } { ptr @tn.str.179, i64 15 }, { ptr, i64 } { ptr @tn.str.180, i64 12 }, { ptr, i64 } { ptr @tn.str.181, i64 12 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 4 }, { ptr, i64 } { ptr @tn.str.184, i64 8 }, { ptr, i64 } { ptr @tn.str.185, i64 8 }, { ptr, i64 } { ptr @tn.str.186, i64 10 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 13 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 18 }, { ptr, i64 } { ptr @tn.str.194, i64 9 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 8 }, { ptr, i64 } { ptr @tn.str.203, i64 9 }, { ptr, i64 } { ptr @tn.str.204, i64 6 }, { ptr, i64 } { ptr @tn.str.205, i64 10 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 11 }, { ptr, i64 } { ptr @tn.str.208, i64 8 }, { ptr, i64 } { ptr @tn.str.209, i64 5 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 16 }, { ptr, i64 } { ptr @tn.str.212, i64 5 }, { ptr, i64 } { ptr @tn.str.213, i64 15 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 4 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 21 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 17 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 1 }, { ptr, i64 } { ptr @tn.str.228, i64 12 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 2 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 3 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 4 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 10 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 11 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 5 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 16 }, { ptr, i64 } { ptr @tn.str.258, i64 13 }, { ptr, i64 } { ptr @tn.str.259, i64 14 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 11 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 19 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 10 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 12 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 9 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 10 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 13 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 3 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 7 }, { ptr, i64 } { ptr @tn.str.303, i64 4 }, { ptr, i64 } { ptr @tn.str.304, i64 6 }, { ptr, i64 } { ptr @tn.str.305, i64 6 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 15 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }] +@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.316 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.317 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.319 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.320 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.321 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.322 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.323 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.324 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.325 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.326 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.327 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.328 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.329 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.330 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @frame.str = private unnamed_addr constant [19 x i8] c"1004-errors-try.sx\00" -@frame.str.311 = private unnamed_addr constant [6 x i8] c"inner\00" -@frame.str.312 = private unnamed_addr constant [34 x i8] c" if n < 0 { raise error.Bad; }\00" -@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 18 }, i32 13, i32 16, { ptr, i64 } { ptr @frame.str.311, i64 5 }, { ptr, i64 } { ptr @frame.str.312, i64 33 } } -@frame.str.313 = private unnamed_addr constant [6 x i8] c"outer\00" -@frame.str.314 = private unnamed_addr constant [18 x i8] c" try inner(n);\00" -@trace.frame.315 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 18 }, i32 19, i32 5, { ptr, i64 } { ptr @frame.str.313, i64 5 }, { ptr, i64 } { ptr @frame.str.314, i64 17 } } -@str.316 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 -@str.317 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.318 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 -@str.319 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.320 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.321 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.322 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.331 = private unnamed_addr constant [6 x i8] c"inner\00" +@frame.str.332 = private unnamed_addr constant [34 x i8] c" if n < 0 { raise error.Bad; }\00" +@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 18 }, i32 13, i32 16, { ptr, i64 } { ptr @frame.str.331, i64 5 }, { ptr, i64 } { ptr @frame.str.332, i64 33 } } +@frame.str.333 = private unnamed_addr constant [6 x i8] c"outer\00" +@frame.str.334 = private unnamed_addr constant [18 x i8] c" try inner(n);\00" +@trace.frame.335 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 18 }, i32 19, i32 5, { ptr, i64 } { ptr @frame.str.333, i64 5 }, { ptr, i64 } { ptr @frame.str.334, i64 17 } } +@str.336 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 +@str.337 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.338 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 +@str.339 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.340 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.341 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.342 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.323 = private constant [5 x i8] c"line\00" -@fld.str.324 = private constant [4 x i8] c"col\00" -@fld.str.325 = 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.323, i64 4 }, { ptr, i64 } { ptr @fld.str.324, i64 3 }, { ptr, i64 } { ptr @fld.str.325, i64 4 }] -@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.327 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.328 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.329 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.330 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.331 = private constant [4 x i8] c"ctx\00" -@fld.str.332 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.333 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.334 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 3 }, { ptr, i64 } { ptr @fld.str.332, i64 11 }, { ptr, i64 } { ptr @fld.str.333, i64 13 }] -@str.335 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.336 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.337 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.338 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.339 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.340 = private constant [10 x i8] c"allocator\00" -@fld.str.341 = private constant [5 x i8] c"data\00" -@field_names.342 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 4 }] -@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.344 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.346 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.347 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.348 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.351 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.353 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.354 = private constant [12 x i8] c"alloc_count\00" -@field_names.355 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 11 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.361 = private constant [5 x i8] c"next\00" -@fld.str.362 = private constant [4 x i8] c"cap\00" -@field_names.363 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 4 }, { ptr, i64 } { ptr @fld.str.362, i64 3 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.367 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.368 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.369 = private constant [6 x i8] c"first\00" -@fld.str.370 = private constant [10 x i8] c"end_index\00" -@fld.str.371 = private constant [7 x i8] c"parent\00" -@field_names.372 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 5 }, { ptr, i64 } { ptr @fld.str.370, i64 9 }, { ptr, i64 } { ptr @fld.str.371, i64 6 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.375 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.376 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.377 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.378 = private constant [4 x i8] c"buf\00" -@fld.str.379 = private constant [4 x i8] c"len\00" -@fld.str.380 = private constant [4 x i8] c"pos\00" -@field_names.381 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 3 }, { ptr, i64 } { ptr @fld.str.379, i64 3 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }] -@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.383 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.387 = private constant [7 x i8] c"parent\00" -@fld.str.388 = private constant [12 x i8] c"alloc_count\00" -@fld.str.389 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.390 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.391 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 6 }, { ptr, i64 } { ptr @fld.str.388, i64 11 }, { ptr, i64 } { ptr @fld.str.389, i64 13 }, { ptr, i64 } { ptr @fld.str.390, i64 17 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.397 = private constant [3 x i8] c"fd\00" -@field_names.398 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 2 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [5 x i8] c"file\00" -@fld.str.405 = private constant [5 x i8] c"line\00" -@fld.str.406 = private constant [4 x i8] c"col\00" -@fld.str.407 = private constant [5 x i8] c"func\00" -@fld.str.408 = private constant [10 x i8] c"line_text\00" -@field_names.409 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 4 }, { ptr, i64 } { ptr @fld.str.405, i64 4 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }, { ptr, i64 } { ptr @fld.str.407, i64 4 }, { ptr, i64 } { ptr @fld.str.408, i64 9 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.412 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.414 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.415 = private constant [10 x i8] c"exit_code\00" -@fld.str.416 = private constant [7 x i8] c"stdout\00" -@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 9 }, { ptr, i64 } { ptr @fld.str.416, i64 6 }] -@str.418 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.419 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.421 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.422 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.423 = private constant [8 x i8] c"sin_len\00" -@fld.str.424 = private constant [11 x i8] c"sin_family\00" -@fld.str.425 = private constant [9 x i8] c"sin_port\00" -@fld.str.426 = private constant [9 x i8] c"sin_addr\00" -@fld.str.427 = private constant [9 x i8] c"sin_zero\00" -@field_names.428 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 7 }, { ptr, i64 } { ptr @fld.str.424, i64 10 }, { ptr, i64 } { ptr @fld.str.425, i64 8 }, { ptr, i64 } { ptr @fld.str.426, i64 8 }, { ptr, i64 } { ptr @fld.str.427, i64 8 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.431 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.432 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.433 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.434 = private constant [6 x i8] c"items\00" -@fld.str.435 = private constant [4 x i8] c"len\00" -@fld.str.436 = private constant [4 x i8] c"cap\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 5 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }] +@fld.str.343 = private constant [5 x i8] c"line\00" +@fld.str.344 = private constant [4 x i8] c"col\00" +@fld.str.345 = 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.343, i64 4 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 4 }] +@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.347 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.348 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.349 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.350 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.351 = private constant [4 x i8] c"ctx\00" +@fld.str.352 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.353 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.354 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 3 }, { ptr, i64 } { ptr @fld.str.352, i64 11 }, { ptr, i64 } { ptr @fld.str.353, i64 13 }] +@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.356 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.357 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.358 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.359 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.360 = private constant [10 x i8] c"allocator\00" +@fld.str.361 = private constant [5 x i8] c"data\00" +@field_names.362 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 9 }, { ptr, i64 } { ptr @fld.str.361, i64 4 }] +@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.364 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.368 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.371 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.373 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.374 = private constant [12 x i8] c"alloc_count\00" +@field_names.375 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 11 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.381 = private constant [5 x i8] c"next\00" +@fld.str.382 = private constant [4 x i8] c"cap\00" +@field_names.383 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 3 }] +@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.385 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.389 = private constant [6 x i8] c"first\00" +@fld.str.390 = private constant [10 x i8] c"end_index\00" +@fld.str.391 = private constant [7 x i8] c"parent\00" +@field_names.392 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 5 }, { ptr, i64 } { ptr @fld.str.390, i64 9 }, { ptr, i64 } { ptr @fld.str.391, i64 6 }] +@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.394 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.395 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.396 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.397 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.398 = private constant [4 x i8] c"buf\00" +@fld.str.399 = private constant [4 x i8] c"len\00" +@fld.str.400 = private constant [4 x i8] c"pos\00" +@field_names.401 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 3 }, { ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }] +@str.402 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.403 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.404 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.405 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.406 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.407 = private constant [7 x i8] c"parent\00" +@fld.str.408 = private constant [12 x i8] c"alloc_count\00" +@fld.str.409 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.410 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.411 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.407, i64 6 }, { ptr, i64 } { ptr @fld.str.408, i64 11 }, { ptr, i64 } { ptr @fld.str.409, i64 13 }, { ptr, i64 } { ptr @fld.str.410, i64 17 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.417 = private constant [3 x i8] c"fd\00" +@field_names.418 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 2 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [5 x i8] c"file\00" +@fld.str.425 = private constant [5 x i8] c"line\00" +@fld.str.426 = private constant [4 x i8] c"col\00" +@fld.str.427 = private constant [5 x i8] c"func\00" +@fld.str.428 = private constant [10 x i8] c"line_text\00" +@field_names.429 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 4 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 4 }, { ptr, i64 } { ptr @fld.str.428, i64 9 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.432 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.433 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.434 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.435 = private constant [10 x i8] c"exit_code\00" +@fld.str.436 = private constant [7 x i8] c"stdout\00" +@field_names.437 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 9 }, { ptr, i64 } { ptr @fld.str.436, i64 6 }] @str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.439 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.440 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.441 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.442 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.443 = private constant [6 x i8] c"items\00" -@fld.str.444 = private constant [4 x i8] c"len\00" -@fld.str.445 = private constant [4 x i8] c"cap\00" -@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 5 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 3 }] -@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.448 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.452 = private constant [4 x i8] c"key\00" -@fld.str.453 = private constant [4 x i8] c"val\00" -@field_names.454 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 3 }, { ptr, i64 } { ptr @fld.str.453, i64 3 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.458 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.459 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.460 = private constant [4 x i8] c"dst\00" -@fld.str.461 = private constant [4 x i8] c"pos\00" -@fld.str.462 = private constant [5 x i8] c"file\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 3 }, { ptr, i64 } { ptr @fld.str.462, i64 4 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.469 = private constant [4 x i8] c"src\00" -@fld.str.470 = private constant [4 x i8] c"pos\00" -@fld.str.471 = private constant [6 x i8] c"alloc\00" -@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 3 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 5 }] -@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.478 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.481 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.483 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.484 = private constant [5 x i8] c"name\00" -@fld.str.485 = private constant [12 x i8] c"takes_value\00" -@fld.str.486 = private constant [9 x i8] c"required\00" -@field_names.487 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 11 }, { ptr, i64 } { ptr @fld.str.486, i64 8 }] -@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.489 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.490 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.491 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.492 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.493 = private constant [6 x i8] c"group\00" -@fld.str.494 = private constant [8 x i8] c"command\00" -@fld.str.495 = private constant [6 x i8] c"flags\00" -@field_names.496 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.493, i64 5 }, { ptr, i64 } { ptr @fld.str.494, i64 7 }, { ptr, i64 } { ptr @fld.str.495, i64 5 }] -@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.498 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.499 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.500 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.501 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.502 = private constant [4 x i8] c"set\00" -@fld.str.503 = private constant [6 x i8] c"value\00" -@field_names.504 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 5 }] -@str.505 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.506 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.508 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.509 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.510 = private constant [6 x i8] c"index\00" -@fld.str.511 = private constant [6 x i8] c"token\00" -@field_names.512 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 5 }, { ptr, i64 } { ptr @fld.str.511, i64 5 }] -@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.514 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.516 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.517 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.518 = private constant [6 x i8] c"group\00" -@fld.str.519 = private constant [8 x i8] c"command\00" -@fld.str.520 = private constant [10 x i8] c"cmd_index\00" -@fld.str.521 = private constant [5 x i8] c"json\00" -@fld.str.522 = private constant [5 x i8] c"rest\00" -@fld.str.523 = private constant [5 x i8] c"spec\00" -@fld.str.524 = private constant [7 x i8] c"values\00" -@field_names.525 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 9 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 4 }, { ptr, i64 } { ptr @fld.str.524, i64 6 }] -@str.526 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.527 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.528 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.530 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.531 = private constant [2 x i8] c"h\00" -@fld.str.532 = private constant [4 x i8] c"buf\00" -@fld.str.533 = private constant [8 x i8] c"buf_len\00" -@fld.str.534 = private constant [10 x i8] c"total_len\00" -@field_names.535 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 1 }, { ptr, i64 } { ptr @fld.str.532, i64 3 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }, { ptr, i64 } { ptr @fld.str.534, i64 9 }] -@str.536 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.537 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.538 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.539 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.541 = private constant [4 x i8] c"sec\00" -@fld.str.542 = private constant [5 x i8] c"nsec\00" -@field_names.543 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }] -@str.544 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.545 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.547 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.549 = private constant [6 x i8] c"ident\00" -@fld.str.550 = private constant [7 x i8] c"filter\00" -@fld.str.551 = private constant [6 x i8] c"flags\00" -@fld.str.552 = private constant [7 x i8] c"fflags\00" -@fld.str.553 = private constant [5 x i8] c"data\00" -@fld.str.554 = private constant [6 x i8] c"udata\00" -@field_names.555 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.549, i64 5 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 4 }, { ptr, i64 } { ptr @fld.str.554, i64 5 }] +@fld.str.443 = private constant [8 x i8] c"sin_len\00" +@fld.str.444 = private constant [11 x i8] c"sin_family\00" +@fld.str.445 = private constant [9 x i8] c"sin_port\00" +@fld.str.446 = private constant [9 x i8] c"sin_addr\00" +@fld.str.447 = private constant [9 x i8] c"sin_zero\00" +@field_names.448 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 7 }, { ptr, i64 } { ptr @fld.str.444, i64 10 }, { ptr, i64 } { ptr @fld.str.445, i64 8 }, { ptr, i64 } { ptr @fld.str.446, i64 8 }, { ptr, i64 } { ptr @fld.str.447, i64 8 }] +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.451 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.452 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.453 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.454 = private constant [6 x i8] c"items\00" +@fld.str.455 = private constant [4 x i8] c"len\00" +@fld.str.456 = private constant [4 x i8] c"cap\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 5 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }, { ptr, i64 } { ptr @fld.str.456, i64 3 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.460 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.461 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.462 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.463 = private constant [6 x i8] c"items\00" +@fld.str.464 = private constant [4 x i8] c"len\00" +@fld.str.465 = private constant [4 x i8] c"cap\00" +@field_names.466 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.463, i64 5 }, { ptr, i64 } { ptr @fld.str.464, i64 3 }, { ptr, i64 } { ptr @fld.str.465, i64 3 }] +@str.467 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.468 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.469 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.470 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.471 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.472 = private constant [4 x i8] c"key\00" +@fld.str.473 = private constant [4 x i8] c"val\00" +@field_names.474 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.472, i64 3 }, { ptr, i64 } { ptr @fld.str.473, i64 3 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.478 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.479 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.480 = private constant [4 x i8] c"dst\00" +@fld.str.481 = private constant [4 x i8] c"pos\00" +@fld.str.482 = private constant [5 x i8] c"file\00" +@field_names.483 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 3 }, { ptr, i64 } { ptr @fld.str.481, i64 3 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }] +@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.485 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.489 = private constant [4 x i8] c"src\00" +@fld.str.490 = private constant [4 x i8] c"pos\00" +@fld.str.491 = private constant [6 x i8] c"alloc\00" +@field_names.492 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 3 }, { ptr, i64 } { ptr @fld.str.490, i64 3 }, { ptr, i64 } { ptr @fld.str.491, i64 5 }] +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.498 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.504 = private constant [5 x i8] c"name\00" +@fld.str.505 = private constant [12 x i8] c"takes_value\00" +@fld.str.506 = private constant [9 x i8] c"required\00" +@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 11 }, { ptr, i64 } { ptr @fld.str.506, i64 8 }] +@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.509 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.513 = private constant [6 x i8] c"group\00" +@fld.str.514 = private constant [8 x i8] c"command\00" +@fld.str.515 = private constant [6 x i8] c"flags\00" +@field_names.516 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 7 }, { ptr, i64 } { ptr @fld.str.515, i64 5 }] +@str.517 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.518 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.519 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.520 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.521 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.522 = private constant [4 x i8] c"set\00" +@fld.str.523 = private constant [6 x i8] c"value\00" +@field_names.524 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 3 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }] +@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.526 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.528 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.529 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.530 = private constant [6 x i8] c"index\00" +@fld.str.531 = private constant [6 x i8] c"token\00" +@field_names.532 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }] +@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.534 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.538 = private constant [6 x i8] c"group\00" +@fld.str.539 = private constant [8 x i8] c"command\00" +@fld.str.540 = private constant [10 x i8] c"cmd_index\00" +@fld.str.541 = private constant [5 x i8] c"json\00" +@fld.str.542 = private constant [5 x i8] c"rest\00" +@fld.str.543 = private constant [5 x i8] c"spec\00" +@fld.str.544 = private constant [7 x i8] c"values\00" +@field_names.545 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 9 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }] +@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.547 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.548 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.550 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.551 = private constant [2 x i8] c"h\00" +@fld.str.552 = private constant [4 x i8] c"buf\00" +@fld.str.553 = private constant [8 x i8] c"buf_len\00" +@fld.str.554 = private constant [10 x i8] c"total_len\00" +@field_names.555 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 1 }, { ptr, i64 } { ptr @fld.str.552, i64 3 }, { ptr, i64 } { ptr @fld.str.553, i64 7 }, { ptr, i64 } { ptr @fld.str.554, i64 9 }] @str.556 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.557 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.557 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.558 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.559 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.560 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -498,217 +498,313 @@ @fld.str.562 = private constant [5 x i8] c"nsec\00" @field_names.563 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.561, i64 3 }, { ptr, i64 } { ptr @fld.str.562, i64 4 }] @str.564 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.565 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.565 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.567 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.568 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.569 = private constant [3 x i8] c"fd\00" -@fld.str.570 = private constant [6 x i8] c"udata\00" -@fld.str.571 = private constant [9 x i8] c"readable\00" -@fld.str.572 = private constant [9 x i8] c"writable\00" -@fld.str.573 = private constant [4 x i8] c"eof\00" -@fld.str.574 = private constant [4 x i8] c"err\00" -@fld.str.575 = private constant [7 x i8] c"nbytes\00" -@field_names.576 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 2 }, { ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 8 }, { ptr, i64 } { ptr @fld.str.572, i64 8 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }, { ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 6 }] -@str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.578 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.582 = private constant [3 x i8] c"kq\00" -@field_names.583 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 2 }] +@fld.str.569 = private constant [6 x i8] c"ident\00" +@fld.str.570 = private constant [7 x i8] c"filter\00" +@fld.str.571 = private constant [6 x i8] c"flags\00" +@fld.str.572 = private constant [7 x i8] c"fflags\00" +@fld.str.573 = private constant [5 x i8] c"data\00" +@fld.str.574 = private constant [6 x i8] c"udata\00" +@field_names.575 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }, { ptr, i64 } { ptr @fld.str.571, i64 5 }, { ptr, i64 } { ptr @fld.str.572, i64 6 }, { ptr, i64 } { ptr @fld.str.573, i64 4 }, { ptr, i64 } { ptr @fld.str.574, i64 5 }] +@str.576 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.577 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.578 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.580 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.581 = private constant [4 x i8] c"sec\00" +@fld.str.582 = private constant [5 x i8] c"nsec\00" +@field_names.583 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 4 }] @str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.585 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.586 = private constant [5 x i8] c"read\00" -@fld.str.587 = private constant [6 x i8] c"write\00" -@fld.str.588 = private constant [7 x i8] c"append\00" -@fld.str.589 = private constant [11 x i8] c"read_write\00" -@field_names.590 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }, { ptr, i64 } { ptr @fld.str.589, i64 10 }] -@str.591 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.594 = private constant [4 x i8] c"set\00" -@fld.str.595 = private constant [8 x i8] c"current\00" -@fld.str.596 = private constant [4 x i8] c"end\00" -@field_names.597 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 7 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [6 x i8] c"null_\00" -@fld.str.602 = private constant [6 x i8] c"bool_\00" -@fld.str.603 = private constant [5 x i8] c"int_\00" -@fld.str.604 = private constant [4 x i8] c"str\00" -@fld.str.605 = private constant [6 x i8] c"array\00" -@fld.str.606 = private constant [7 x i8] c"object\00" -@field_names.607 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 5 }, { ptr, i64 } { ptr @fld.str.602, i64 5 }, { ptr, i64 } { ptr @fld.str.603, i64 4 }, { ptr, i64 } { ptr @fld.str.604, i64 3 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }] -@str.608 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.609 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.610 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.611 = private constant [6 x i8] c"macos\00" -@fld.str.612 = private constant [6 x i8] c"linux\00" -@fld.str.613 = private constant [8 x i8] c"windows\00" -@fld.str.614 = private constant [5 x i8] c"wasm\00" -@fld.str.615 = private constant [4 x i8] c"ios\00" -@fld.str.616 = private constant [8 x i8] c"android\00" -@fld.str.617 = private constant [8 x i8] c"unknown\00" -@field_names.618 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.611, i64 5 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 7 }, { ptr, i64 } { ptr @fld.str.614, i64 4 }, { ptr, i64 } { ptr @fld.str.615, i64 3 }, { ptr, i64 } { ptr @fld.str.616, i64 7 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }] -@str.619 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.620 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.621 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.622 = private constant [8 x i8] c"aarch64\00" -@fld.str.623 = private constant [7 x i8] c"x86_64\00" -@fld.str.624 = private constant [7 x i8] c"wasm32\00" -@fld.str.625 = private constant [7 x i8] c"wasm64\00" -@fld.str.626 = private constant [8 x i8] c"unknown\00" -@field_names.627 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 7 }, { ptr, i64 } { ptr @fld.str.623, i64 6 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }, { ptr, i64 } { ptr @fld.str.626, i64 7 }] -@str.628 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.629 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.630 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.641 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.644 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.647 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.653 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.656 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.659 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.665 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.666 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.667 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.668 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.669 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.670 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.671 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.672 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.674 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.675 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.676 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.677 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.678 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.679 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.680 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.681 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.682 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.683 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.685 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.686 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.687 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.688 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.689 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.691 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.692 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.693 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.695 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.697 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.698 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.700 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.701 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.703 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.704 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.705 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.706 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.707 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.708 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.709 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.710 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.711 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.712 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.713 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.714 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.715 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.716 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.717 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.718 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.719 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.720 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.722 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.724 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.725 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.726 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.727 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.728 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.729 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.730 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.731 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.732 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.733 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.734 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.736 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.737 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.738 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.739 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.740 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.742 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.743 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.744 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.746 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.747 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.748 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.749 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.585 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.587 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.588 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.589 = private constant [3 x i8] c"fd\00" +@fld.str.590 = private constant [6 x i8] c"udata\00" +@fld.str.591 = private constant [9 x i8] c"readable\00" +@fld.str.592 = private constant [9 x i8] c"writable\00" +@fld.str.593 = private constant [4 x i8] c"eof\00" +@fld.str.594 = private constant [4 x i8] c"err\00" +@fld.str.595 = private constant [7 x i8] c"nbytes\00" +@field_names.596 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 2 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 8 }, { ptr, i64 } { ptr @fld.str.592, i64 8 }, { ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 3 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.599 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.600 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.601 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.602 = private constant [3 x i8] c"kq\00" +@field_names.603 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 2 }] +@str.604 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.607 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.608 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.609 = private constant [5 x i8] c"port\00" +@fld.str.610 = private constant [8 x i8] c"backlog\00" +@fld.str.611 = private constant [9 x i8] c"max_conn\00" +@fld.str.612 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.613 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.614 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.615 = private constant [14 x i8] c"request_count\00" +@field_names.616 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 4 }, { ptr, i64 } { ptr @fld.str.610, i64 7 }, { ptr, i64 } { ptr @fld.str.611, i64 8 }, { ptr, i64 } { ptr @fld.str.612, i64 12 }, { ptr, i64 } { ptr @fld.str.613, i64 18 }, { ptr, i64 } { ptr @fld.str.614, i64 20 }, { ptr, i64 } { ptr @fld.str.615, i64 13 }] +@str.617 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.618 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.619 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.620 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.621 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.622 = private constant [7 x i8] c"method\00" +@fld.str.623 = private constant [5 x i8] c"path\00" +@fld.str.624 = private constant [8 x i8] c"version\00" +@fld.str.625 = private constant [12 x i8] c"headers_raw\00" +@fld.str.626 = private constant [5 x i8] c"body\00" +@fld.str.627 = private constant [11 x i8] c"keep_alive\00" +@field_names.628 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 4 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }, { ptr, i64 } { ptr @fld.str.625, i64 11 }, { ptr, i64 } { ptr @fld.str.626, i64 4 }, { ptr, i64 } { ptr @fld.str.627, i64 10 }] +@str.629 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.630 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.631 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.632 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.633 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.634 = private constant [7 x i8] c"status\00" +@fld.str.635 = private constant [13 x i8] c"content_type\00" +@fld.str.636 = private constant [14 x i8] c"extra_headers\00" +@fld.str.637 = private constant [5 x i8] c"body\00" +@field_names.638 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.634, i64 6 }, { ptr, i64 } { ptr @fld.str.635, i64 12 }, { ptr, i64 } { ptr @fld.str.636, i64 13 }, { ptr, i64 } { ptr @fld.str.637, i64 4 }] +@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.640 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.641 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.642 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.644 = private constant [3 x i8] c"fd\00" +@fld.str.645 = private constant [6 x i8] c"state\00" +@fld.str.646 = private constant [9 x i8] c"read_buf\00" +@fld.str.647 = private constant [9 x i8] c"read_len\00" +@fld.str.648 = private constant [8 x i8] c"out_buf\00" +@fld.str.649 = private constant [8 x i8] c"out_len\00" +@fld.str.650 = private constant [9 x i8] c"out_sent\00" +@fld.str.651 = private constant [9 x i8] c"deadline\00" +@fld.str.652 = private constant [7 x i8] c"served\00" +@fld.str.653 = private constant [12 x i8] c"close_after\00" +@fld.str.654 = private constant [12 x i8] c"write_armed\00" +@field_names.655 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 2 }, { ptr, i64 } { ptr @fld.str.645, i64 5 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 8 }, { ptr, i64 } { ptr @fld.str.648, i64 7 }, { ptr, i64 } { ptr @fld.str.649, i64 7 }, { ptr, i64 } { ptr @fld.str.650, i64 8 }, { ptr, i64 } { ptr @fld.str.651, i64 8 }, { ptr, i64 } { ptr @fld.str.652, i64 6 }, { ptr, i64 } { ptr @fld.str.653, i64 11 }, { ptr, i64 } { ptr @fld.str.654, i64 11 }] +@str.656 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.657 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.658 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.659 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.661 = private constant [4 x i8] c"cfg\00" +@fld.str.662 = private constant [5 x i8] c"loop\00" +@fld.str.663 = private constant [4 x i8] c"lfd\00" +@fld.str.664 = private constant [6 x i8] c"conns\00" +@fld.str.665 = private constant [10 x i8] c"own_alloc\00" +@fld.str.666 = private constant [8 x i8] c"handler\00" +@field_names.667 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.661, i64 3 }, { ptr, i64 } { ptr @fld.str.662, i64 4 }, { ptr, i64 } { ptr @fld.str.663, i64 3 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 9 }, { ptr, i64 } { ptr @fld.str.666, i64 7 }] +@str.668 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.669 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.670 = private constant [5 x i8] c"read\00" +@fld.str.671 = private constant [6 x i8] c"write\00" +@fld.str.672 = private constant [7 x i8] c"append\00" +@fld.str.673 = private constant [11 x i8] c"read_write\00" +@field_names.674 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 4 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 6 }, { ptr, i64 } { ptr @fld.str.673, i64 10 }] +@str.675 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.677 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.678 = private constant [4 x i8] c"set\00" +@fld.str.679 = private constant [8 x i8] c"current\00" +@fld.str.680 = private constant [4 x i8] c"end\00" +@field_names.681 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 7 }, { ptr, i64 } { ptr @fld.str.680, i64 3 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [6 x i8] c"null_\00" +@fld.str.686 = private constant [6 x i8] c"bool_\00" +@fld.str.687 = private constant [5 x i8] c"int_\00" +@fld.str.688 = private constant [4 x i8] c"str\00" +@fld.str.689 = private constant [6 x i8] c"array\00" +@fld.str.690 = private constant [7 x i8] c"object\00" +@field_names.691 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 5 }, { ptr, i64 } { ptr @fld.str.686, i64 5 }, { ptr, i64 } { ptr @fld.str.687, i64 4 }, { ptr, i64 } { ptr @fld.str.688, i64 3 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 6 }] +@str.692 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.693 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.694 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.695 = private constant [6 x i8] c"macos\00" +@fld.str.696 = private constant [6 x i8] c"linux\00" +@fld.str.697 = private constant [8 x i8] c"windows\00" +@fld.str.698 = private constant [5 x i8] c"wasm\00" +@fld.str.699 = private constant [4 x i8] c"ios\00" +@fld.str.700 = private constant [8 x i8] c"android\00" +@fld.str.701 = private constant [8 x i8] c"unknown\00" +@field_names.702 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 5 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 7 }, { ptr, i64 } { ptr @fld.str.698, i64 4 }, { ptr, i64 } { ptr @fld.str.699, i64 3 }, { ptr, i64 } { ptr @fld.str.700, i64 7 }, { ptr, i64 } { ptr @fld.str.701, i64 7 }] +@str.703 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.706 = private constant [8 x i8] c"aarch64\00" +@fld.str.707 = private constant [7 x i8] c"x86_64\00" +@fld.str.708 = private constant [7 x i8] c"wasm32\00" +@fld.str.709 = private constant [7 x i8] c"wasm64\00" +@fld.str.710 = private constant [8 x i8] c"unknown\00" +@field_names.711 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.706, i64 7 }, { ptr, i64 } { ptr @fld.str.707, i64 6 }, { ptr, i64 } { ptr @fld.str.708, i64 6 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }, { ptr, i64 } { ptr @fld.str.710, i64 7 }] +@str.712 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.716 = private unnamed_addr constant [3 x i8] c", \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 +@str.720 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.725 = private unnamed_addr constant [3 x i8] c", \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 +@str.729 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.731 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.734 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.737 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.740 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.743 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.746 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.749 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.750 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.751 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.751 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.752 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.753 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.754 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.754 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.755 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.757 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.757 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.758 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.760 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.760 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.761 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.762 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.763 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.763 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.764 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.766 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.766 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.767 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.768 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.769 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.769 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.770 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.771 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.772 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.773 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.775 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.776 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.778 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.779 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.781 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.782 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.783 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.784 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.785 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.787 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.788 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.789 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.790 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.791 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.792 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.793 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.794 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.795 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.796 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.797 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.798 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.799 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.800 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.801 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.802 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.803 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.804 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.806 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.808 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.809 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.810 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.811 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.812 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.813 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.814 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.815 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.816 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.817 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.818 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.819 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.820 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.821 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.822 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.823 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.824 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.825 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.826 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.827 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.828 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.829 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.830 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.831 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.832 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.833 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.834 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.835 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.836 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.837 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.838 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.839 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.841 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.842 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.844 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.845 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.847 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.848 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.849 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.850 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.851 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.852 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.853 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.854 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.856 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.857 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.858 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.859 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.860 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.863 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.864 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.865 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.866 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1146,38 +1242,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.421 + br label %while.hdr.455 -while.hdr.421: ; preds = %if.merge.426, %entry +while.hdr.455: ; preds = %if.merge.460, %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.422, label %while.exit.423 + br i1 %icmp, label %while.body.456, label %while.exit.457 -while.body.422: ; preds = %while.hdr.421 +while.body.456: ; preds = %while.hdr.455 %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.424, label %if.else.425 + br i1 %icmpN, label %if.then.458, label %if.else.459 -while.exit.423: ; preds = %while.hdr.421 +while.exit.457: ; preds = %while.hdr.455 ret void -if.then.424: ; preds = %while.body.422 +if.then.458: ; preds = %while.body.456 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.426 + br label %if.merge.460 -if.else.425: ; preds = %while.body.422 +if.else.459: ; preds = %while.body.456 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.426 + br label %if.merge.460 -if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi i64 [ %addN, %if.then.424 ], [ %addN, %if.else.425 ] +if.merge.460: ; preds = %if.else.459, %if.then.458 + %bp = phi i64 [ %addN, %if.then.458 ], [ %addN, %if.else.459 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1190,7 +1286,7 @@ if.merge.426: ; preds = %if.else.425, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.421 + br label %while.hdr.455 } ; Function Attrs: nounwind @@ -1303,12 +1399,12 @@ entry: 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.419, label %if.merge.420 + br i1 %icmp, label %if.then.453, label %if.merge.454 -if.then.419: ; preds = %entry +if.then.453: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.420: ; preds = %entry +if.merge.454: ; 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 @@ -1331,14 +1427,14 @@ if.merge.420: ; preds = %entry %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.427 + br label %while.hdr.461 -while.hdr.427: ; preds = %if.merge.431, %if.merge.420 +while.hdr.461: ; preds = %if.merge.465, %if.merge.454 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.428, label %while.exit.429 + br i1 %icmpN, label %while.body.462, label %while.exit.463 -while.body.428: ; preds = %while.hdr.427 +while.body.462: ; preds = %while.hdr.461 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1346,9 +1442,9 @@ while.body.428: ; preds = %while.hdr.427 %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.430, label %if.merge.431 + br i1 %icmpN, label %if.then.464, label %if.merge.465 -while.exit.429: ; preds = %if.then.430, %while.hdr.427 +while.exit.463: ; preds = %if.then.464, %while.hdr.461 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1356,14 +1452,14 @@ while.exit.429: ; preds = %if.then.430, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.430: ; preds = %while.body.428 - br label %while.exit.429 +if.then.464: ; preds = %while.body.462 + br label %while.exit.463 -if.merge.431: ; preds = %while.body.428 +if.merge.465: ; preds = %while.body.462 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.427 + br label %while.hdr.461 } ; Function Attrs: nounwind @@ -1511,6 +1607,11 @@ entry: i64 100, label %match.arm.53 i64 104, label %match.arm.53 i64 105, label %match.arm.53 + i64 111, label %match.arm.53 + i64 112, label %match.arm.53 + i64 113, label %match.arm.53 + i64 115, label %match.arm.53 + i64 119, label %match.arm.53 i64 38, label %match.arm.54 i64 39, label %match.arm.54 i64 58, label %match.arm.54 @@ -1522,18 +1623,19 @@ entry: i64 79, label %match.arm.55 i64 103, label %match.arm.55 i64 110, label %match.arm.55 + i64 122, label %match.arm.55 i64 23, label %match.arm.57 i64 85, label %match.arm.57 i64 91, label %match.arm.57 i64 92, label %match.arm.57 i64 96, label %match.arm.57 - i64 117, label %match.arm.57 + i64 129, label %match.arm.57 i64 24, label %match.arm.58 i64 64, label %match.arm.58 i64 81, label %match.arm.58 i64 89, label %match.arm.58 i64 109, label %match.arm.58 - i64 115, label %match.arm.58 + i64 127, label %match.arm.58 i64 19, label %match.arm.59 i64 26, label %match.arm.59 i64 28, label %match.arm.59 @@ -1560,15 +1662,19 @@ entry: i64 101, label %match.arm.59 i64 102, label %match.arm.59 i64 107, label %match.arm.59 - i64 111, label %match.arm.59 - i64 112, label %match.arm.59 - i64 113, label %match.arm.59 i64 114, label %match.arm.59 i64 116, label %match.arm.59 - i64 118, label %match.arm.59 - i64 119, label %match.arm.59 - i64 120, label %match.arm.59 + i64 117, label %match.arm.59 i64 121, label %match.arm.59 + i64 123, label %match.arm.59 + i64 124, label %match.arm.59 + i64 125, label %match.arm.59 + i64 126, label %match.arm.59 + i64 128, label %match.arm.59 + i64 130, label %match.arm.59 + i64 131, label %match.arm.59 + i64 132, label %match.arm.59 + i64 133, label %match.arm.59 i64 42, label %match.arm.60 i64 43, label %match.arm.60 i64 45, label %match.arm.60 @@ -1577,7 +1683,7 @@ entry: i64 13, label %match.arm.61 ] -match.merge.47: ; preds = %dispatch.merge.534, %dispatch.merge.379, %dispatch.merge.341, %dispatch.merge.303, %dispatch.merge.286, %dispatch.merge.104, %float.merge.93, %if.merge.65, %match.unr.62, %match.arm.61, %match.arm.55, %match.arm.51, %match.arm.50, %match.arm.48 +match.merge.47: ; preds = %dispatch.merge.580, %dispatch.merge.409, %dispatch.merge.371, %dispatch.merge.333, %dispatch.merge.316, %dispatch.merge.104, %float.merge.93, %if.merge.65, %match.unr.62, %match.arm.61, %match.arm.55, %match.arm.51, %match.arm.50, %match.arm.48 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1591,7 +1697,7 @@ match.arm.49: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [187 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [205 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.63, label %if.else.64 @@ -1619,7 +1725,7 @@ match.arm.52: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.91, label %fN.unbox.92 -match.arm.53: ; 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 +match.arm.53: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1654,28 +1760,33 @@ match.arm.53: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.133 i64 104, label %dispatch.case.134 i64 105, label %dispatch.case.135 + i64 111, label %dispatch.case.136 + i64 112, label %dispatch.case.137 + i64 113, label %dispatch.case.138 + i64 115, label %dispatch.case.139 + i64 119, label %dispatch.case.140 ] match.arm.54: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.287 [ - i64 38, label %dispatch.case.288 - i64 39, label %dispatch.case.289 - i64 58, label %dispatch.case.290 - i64 74, label %dispatch.case.291 - i64 75, label %dispatch.case.292 + switch i64 %ua.raw20, label %dispatch.default.317 [ + i64 38, label %dispatch.case.318 + i64 39, label %dispatch.case.319 + i64 58, label %dispatch.case.320 + i64 74, label %dispatch.case.321 + i64 75, label %dispatch.case.322 ] -match.arm.55: ; preds = %entry, %entry, %entry, %entry, %entry, %entry +match.arm.55: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [22 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [24 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.47 @@ -1687,80 +1798,84 @@ match.arm.57: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.304 [ - i64 23, label %dispatch.case.305 - i64 85, label %dispatch.case.306 - i64 91, label %dispatch.case.307 - i64 92, label %dispatch.case.308 - i64 96, label %dispatch.case.309 - i64 117, label %dispatch.case.310 + switch i64 %ua.raw29, label %dispatch.default.334 [ + i64 23, label %dispatch.case.335 + i64 85, label %dispatch.case.336 + i64 91, label %dispatch.case.337 + i64 92, label %dispatch.case.338 + i64 96, label %dispatch.case.339 + i64 129, label %dispatch.case.340 ] match.arm.58: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.342 [ - i64 24, label %dispatch.case.343 - i64 64, label %dispatch.case.344 - i64 81, label %dispatch.case.345 - i64 89, label %dispatch.case.346 - i64 109, label %dispatch.case.347 - i64 115, label %dispatch.case.348 + switch i64 %ua.raw33, label %dispatch.default.372 [ + i64 24, label %dispatch.case.373 + i64 64, label %dispatch.case.374 + i64 81, label %dispatch.case.375 + i64 89, label %dispatch.case.376 + i64 109, label %dispatch.case.377 + i64 127, label %dispatch.case.378 ] -match.arm.59: ; 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 +match.arm.59: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.380 [ - i64 19, label %dispatch.case.381 - i64 26, label %dispatch.case.382 - i64 28, label %dispatch.case.383 - i64 30, label %dispatch.case.384 - i64 32, label %dispatch.case.385 - i64 33, label %dispatch.case.386 - i64 35, label %dispatch.case.387 - i64 37, label %dispatch.case.388 - i64 41, label %dispatch.case.389 - i64 48, label %dispatch.case.390 - i64 50, label %dispatch.case.391 - i64 51, label %dispatch.case.392 - i64 60, label %dispatch.case.393 - i64 61, label %dispatch.case.394 - i64 62, label %dispatch.case.395 - i64 63, label %dispatch.case.396 - i64 66, label %dispatch.case.397 - i64 71, label %dispatch.case.398 - i64 78, label %dispatch.case.399 - i64 87, label %dispatch.case.400 - i64 90, label %dispatch.case.401 - i64 94, label %dispatch.case.402 - i64 98, label %dispatch.case.403 - i64 101, label %dispatch.case.404 - i64 102, label %dispatch.case.405 - i64 107, label %dispatch.case.406 - i64 111, label %dispatch.case.407 - i64 112, label %dispatch.case.408 - i64 113, label %dispatch.case.409 - i64 114, label %dispatch.case.410 - i64 116, label %dispatch.case.411 - i64 118, label %dispatch.case.412 - i64 119, label %dispatch.case.413 - i64 120, label %dispatch.case.414 - i64 121, label %dispatch.case.415 + switch i64 %ua.raw37, label %dispatch.default.410 [ + i64 19, label %dispatch.case.411 + i64 26, label %dispatch.case.412 + i64 28, label %dispatch.case.413 + i64 30, label %dispatch.case.414 + i64 32, label %dispatch.case.415 + i64 33, label %dispatch.case.416 + i64 35, label %dispatch.case.417 + i64 37, label %dispatch.case.418 + i64 41, label %dispatch.case.419 + i64 48, label %dispatch.case.420 + i64 50, label %dispatch.case.421 + i64 51, label %dispatch.case.422 + i64 60, label %dispatch.case.423 + i64 61, label %dispatch.case.424 + i64 62, label %dispatch.case.425 + i64 63, label %dispatch.case.426 + i64 66, label %dispatch.case.427 + i64 71, label %dispatch.case.428 + i64 78, label %dispatch.case.429 + i64 87, label %dispatch.case.430 + i64 90, label %dispatch.case.431 + i64 94, label %dispatch.case.432 + i64 98, label %dispatch.case.433 + i64 101, label %dispatch.case.434 + i64 102, label %dispatch.case.435 + i64 107, label %dispatch.case.436 + i64 114, label %dispatch.case.437 + i64 116, label %dispatch.case.438 + i64 117, label %dispatch.case.439 + i64 121, label %dispatch.case.440 + i64 123, label %dispatch.case.441 + i64 124, label %dispatch.case.442 + i64 125, label %dispatch.case.443 + i64 126, label %dispatch.case.444 + i64 128, label %dispatch.case.445 + i64 130, label %dispatch.case.446 + i64 131, label %dispatch.case.447 + i64 132, label %dispatch.case.448 + i64 133, label %dispatch.case.449 ] match.arm.60: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.535 [ - i64 42, label %dispatch.case.536 - i64 43, label %dispatch.case.537 - i64 45, label %dispatch.case.538 - i64 47, label %dispatch.case.539 - i64 95, label %dispatch.case.540 + switch i64 %ua.raw41, label %dispatch.default.581 [ + i64 42, label %dispatch.case.582 + i64 43, label %dispatch.case.583 + i64 45, label %dispatch.case.584 + i64 47, label %dispatch.case.585 + i64 95, label %dispatch.case.586 ] match.arm.61: ; preds = %entry @@ -1769,7 +1884,7 @@ match.arm.61: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [205 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.47 @@ -1814,13 +1929,13 @@ float.merge.93: ; preds = %fN.unbox.92, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.merge.104: ; preds = %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.default.105 +dispatch.merge.104: ; preds = %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.default.105 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 dispatch.default.105: ; preds = %match.arm.53 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.104 dispatch.case.106: ; preds = %match.arm.53 @@ -2063,462 +2178,530 @@ dispatch.case.135: ; preds = %match.arm.53 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.104 -dispatch.merge.286: ; preds = %dispatch.case.292, %dispatch.case.291, %dispatch.case.290, %dispatch.case.289, %dispatch.case.288, %dispatch.default.287 +dispatch.case.136: ; preds = %match.arm.53 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.104 + +dispatch.case.137: ; preds = %match.arm.53 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.104 + +dispatch.case.138: ; preds = %match.arm.53 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.104 + +dispatch.case.139: ; preds = %match.arm.53 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.104 + +dispatch.case.140: ; preds = %match.arm.53 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.104 + +dispatch.merge.316: ; preds = %dispatch.case.322, %dispatch.case.321, %dispatch.case.320, %dispatch.case.319, %dispatch.case.318, %dispatch.default.317 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.default.287: ; preds = %match.arm.54 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.286 +dispatch.default.317: ; preds = %match.arm.54 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.316 -dispatch.case.288: ; preds = %match.arm.54 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.318: ; preds = %match.arm.54 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.286 + br label %dispatch.merge.316 -dispatch.case.289: ; preds = %match.arm.54 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.319: ; preds = %match.arm.54 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.286 + br label %dispatch.merge.316 -dispatch.case.290: ; preds = %match.arm.54 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.320: ; preds = %match.arm.54 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.286 + br label %dispatch.merge.316 -dispatch.case.291: ; preds = %match.arm.54 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.321: ; preds = %match.arm.54 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.286 + br label %dispatch.merge.316 -dispatch.case.292: ; preds = %match.arm.54 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.322: ; preds = %match.arm.54 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.286 + br label %dispatch.merge.316 -dispatch.merge.303: ; preds = %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.case.307, %dispatch.case.306, %dispatch.case.305, %dispatch.default.304 +dispatch.merge.333: ; preds = %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.default.334 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.default.304: ; preds = %match.arm.57 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.303 +dispatch.default.334: ; preds = %match.arm.57 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.333 -dispatch.case.305: ; preds = %match.arm.57 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 - -dispatch.case.306: ; preds = %match.arm.57 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 - -dispatch.case.307: ; preds = %match.arm.57 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 - -dispatch.case.308: ; preds = %match.arm.57 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 - -dispatch.case.309: ; preds = %match.arm.57 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 - -dispatch.case.310: ; preds = %match.arm.57 +dispatch.case.335: ; preds = %match.arm.57 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.303 + br label %dispatch.merge.333 -dispatch.merge.341: ; preds = %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.case.344, %dispatch.case.343, %dispatch.default.342 +dispatch.case.336: ; preds = %match.arm.57 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.333 + +dispatch.case.337: ; preds = %match.arm.57 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.333 + +dispatch.case.338: ; preds = %match.arm.57 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.333 + +dispatch.case.339: ; preds = %match.arm.57 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.333 + +dispatch.case.340: ; preds = %match.arm.57 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.333 + +dispatch.merge.371: ; preds = %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.case.374, %dispatch.case.373, %dispatch.default.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.default.342: ; preds = %match.arm.58 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.341 +dispatch.default.372: ; preds = %match.arm.58 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.371 -dispatch.case.343: ; preds = %match.arm.58 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 - -dispatch.case.344: ; preds = %match.arm.58 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 - -dispatch.case.345: ; preds = %match.arm.58 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 - -dispatch.case.346: ; preds = %match.arm.58 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 - -dispatch.case.347: ; preds = %match.arm.58 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 - -dispatch.case.348: ; preds = %match.arm.58 +dispatch.case.373: ; preds = %match.arm.58 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.341 + br label %dispatch.merge.371 -dispatch.merge.379: ; preds = %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.default.380 +dispatch.case.374: ; preds = %match.arm.58 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.371 + +dispatch.case.375: ; preds = %match.arm.58 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.371 + +dispatch.case.376: ; preds = %match.arm.58 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.371 + +dispatch.case.377: ; preds = %match.arm.58 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.371 + +dispatch.case.378: ; preds = %match.arm.58 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.371 + +dispatch.merge.409: ; preds = %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.default.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.default.380: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.381: ; preds = %match.arm.59 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.382: ; preds = %match.arm.59 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.383: ; preds = %match.arm.59 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.384: ; preds = %match.arm.59 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.385: ; preds = %match.arm.59 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.386: ; preds = %match.arm.59 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.387: ; preds = %match.arm.59 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.388: ; preds = %match.arm.59 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.389: ; preds = %match.arm.59 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.390: ; preds = %match.arm.59 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.391: ; preds = %match.arm.59 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.392: ; preds = %match.arm.59 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.393: ; preds = %match.arm.59 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.394: ; preds = %match.arm.59 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.395: ; preds = %match.arm.59 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.396: ; preds = %match.arm.59 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.397: ; preds = %match.arm.59 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.398: ; preds = %match.arm.59 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.399: ; preds = %match.arm.59 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.400: ; preds = %match.arm.59 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.401: ; preds = %match.arm.59 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.402: ; preds = %match.arm.59 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.403: ; preds = %match.arm.59 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.404: ; preds = %match.arm.59 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.405: ; preds = %match.arm.59 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.406: ; preds = %match.arm.59 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.407: ; preds = %match.arm.59 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.408: ; preds = %match.arm.59 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.409: ; preds = %match.arm.59 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 - -dispatch.case.410: ; preds = %match.arm.59 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 +dispatch.default.410: ; preds = %match.arm.59 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.409 dispatch.case.411: ; preds = %match.arm.59 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 + br label %dispatch.merge.409 dispatch.case.412: ; preds = %match.arm.59 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 + br label %dispatch.merge.409 dispatch.case.413: ; preds = %match.arm.59 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 + br label %dispatch.merge.409 dispatch.case.414: ; preds = %match.arm.59 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 + br label %dispatch.merge.409 dispatch.case.415: ; preds = %match.arm.59 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.379 + br label %dispatch.merge.409 -dispatch.merge.534: ; preds = %dispatch.case.540, %dispatch.case.539, %dispatch.case.538, %dispatch.case.537, %dispatch.case.536, %dispatch.default.535 +dispatch.case.416: ; preds = %match.arm.59 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.417: ; preds = %match.arm.59 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.418: ; preds = %match.arm.59 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.419: ; preds = %match.arm.59 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.420: ; preds = %match.arm.59 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.421: ; preds = %match.arm.59 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.422: ; preds = %match.arm.59 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.423: ; preds = %match.arm.59 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.424: ; preds = %match.arm.59 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.425: ; preds = %match.arm.59 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.426: ; preds = %match.arm.59 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.427: ; preds = %match.arm.59 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.428: ; preds = %match.arm.59 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.429: ; preds = %match.arm.59 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.430: ; preds = %match.arm.59 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.431: ; preds = %match.arm.59 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.432: ; preds = %match.arm.59 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.433: ; preds = %match.arm.59 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.434: ; preds = %match.arm.59 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.435: ; preds = %match.arm.59 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.436: ; preds = %match.arm.59 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.437: ; preds = %match.arm.59 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.438: ; preds = %match.arm.59 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.439: ; preds = %match.arm.59 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.440: ; preds = %match.arm.59 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.441: ; preds = %match.arm.59 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.442: ; preds = %match.arm.59 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.443: ; preds = %match.arm.59 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.444: ; preds = %match.arm.59 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.445: ; preds = %match.arm.59 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.446: ; preds = %match.arm.59 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.447: ; preds = %match.arm.59 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.448: ; preds = %match.arm.59 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.case.449: ; preds = %match.arm.59 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.409 + +dispatch.merge.580: ; preds = %dispatch.case.586, %dispatch.case.585, %dispatch.case.584, %dispatch.case.583, %dispatch.case.582, %dispatch.default.581 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 -dispatch.default.535: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.534 +dispatch.default.581: ; preds = %match.arm.60 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.580 -dispatch.case.536: ; preds = %match.arm.60 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.582: ; preds = %match.arm.60 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.534 + br label %dispatch.merge.580 -dispatch.case.537: ; preds = %match.arm.60 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.583: ; preds = %match.arm.60 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.534 + br label %dispatch.merge.580 -dispatch.case.538: ; preds = %match.arm.60 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.584: ; preds = %match.arm.60 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.534 + br label %dispatch.merge.580 -dispatch.case.539: ; preds = %match.arm.60 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.585: ; preds = %match.arm.60 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.534 + br label %dispatch.merge.580 -dispatch.case.540: ; preds = %match.arm.60 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.586: ; preds = %match.arm.60 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.534 + br label %dispatch.merge.580 } ; Function Attrs: nounwind @@ -2527,7 +2710,7 @@ 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.296, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.316, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2623,7 +2806,7 @@ if.merge.21: ; preds = %if.merge.35, %if.me if.then.22: ; preds = %if.then.19 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, 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 @@ -2631,7 +2814,7 @@ if.then.22: ; preds = %if.then.19 %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.298, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2641,13 +2824,13 @@ if.then.22: ; preds = %if.then.19 %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.299, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.23 if.merge.23: ; preds = %if.then.22, %if.then.19 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2655,7 +2838,7 @@ if.merge.23: ; preds = %if.then.22, %if.the %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.301, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2669,7 +2852,7 @@ if.merge.23: ; preds = %if.then.22, %if.the if.then.33: ; preds = %if.else.20 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2677,7 +2860,7 @@ if.then.33: ; preds = %if.else.20 %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.303, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2688,7 +2871,7 @@ if.then.33: ; preds = %if.else.20 %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.304, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2745,7 +2928,7 @@ if.merge.41: ; preds = %if.merge.44, %if.el if.then.42: ; preds = %if.then.39 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.305, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2753,7 +2936,7 @@ if.then.42: ; preds = %if.then.39 %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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2764,7 +2947,7 @@ if.then.42: ; preds = %if.then.39 %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.307, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2784,7 +2967,7 @@ if.merge.44: ; preds = %if.else.43, %if.the if.then.45: ; preds = %while.exit.12 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, 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 @@ -2792,7 +2975,7 @@ if.then.45: ; preds = %while.exit.12 %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.309, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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 @@ -2803,7 +2986,7 @@ if.then.45: ; preds = %while.exit.12 %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.310, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.46 @@ -3636,6 +3819,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @inner(ptr %0, i32 %1) #0 { entry: @@ -3647,7 +3878,7 @@ entry: br i1 %icmp, label %if.then.0, label %if.merge.1 if.then.0: ; preds = %entry - ret i32 20 + ret i32 22 if.merge.1: ; preds = %entry ret i32 0 @@ -3682,7 +3913,7 @@ entry: %allocaN = alloca i32, align 4 store i32 0, ptr %allocaN, align 4 %load = load i32, ptr %alloca, align 4 - %icmp = icmp eq i32 %load, 20 + %icmp = icmp eq i32 %load, 22 br i1 %icmp, label %if.then.4, label %if.merge.5 if.then.4: ; preds = %entry @@ -3693,7 +3924,7 @@ if.then.4: ; preds = %entry if.merge.5: ; preds = %if.then.4, %entry %loadN = load i32, ptr %allocaN, align 4 - %icmpN = icmp eq i32 %loadN, 20 + %icmpN = icmp eq i32 %loadN, 22 br i1 %icmpN, label %if.then.6, label %if.merge.7 if.then.6: ; preds = %if.merge.5 @@ -3704,7 +3935,7 @@ if.then.6: ; preds = %if.merge.5 if.merge.7: ; preds = %if.then.6, %if.merge.5 %loadN = load i32, ptr %alloca, align 4 - %icmpN = icmp eq i32 %loadN, 21 + %icmpN = icmp eq i32 %loadN, 23 br i1 %icmpN, label %if.then.8, label %if.merge.9 if.then.8: ; preds = %if.merge.7 @@ -3738,7 +3969,7 @@ entry: define internal void @print__ct_s1c36e8f510df0c92__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.316, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.336, i64 15 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3754,7 +3985,7 @@ entry: %gepN = getelementptr inbounds { 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.317, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.337, 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 12) @@ -3782,7 +4013,7 @@ entry: ; 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.318, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.338, i64 15 }) ret { ptr, i64 } %call } @@ -3793,35 +4024,35 @@ entry: %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.319, i64 15 }, { ptr, i64 } { ptr @str.320, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.339, i64 15 }, { ptr, i64 } { ptr @str.340, 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.136 + br label %while.hdr.141 -while.hdr.136: ; preds = %fv.merge, %entry +while.hdr.141: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.137, label %while.exit.138 + br i1 %icmp, label %while.body.142, label %while.exit.143 -while.body.137: ; preds = %while.hdr.136 +while.body.142: ; preds = %while.hdr.141 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.139, label %if.merge.140 + br i1 %icmpN, label %if.then.144, label %if.merge.145 -while.exit.138: ; preds = %while.hdr.136 +while.exit.143: ; preds = %while.hdr.141 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 1 }) ret { ptr, i64 } %callN -if.then.139: ; preds = %while.body.137 +if.then.144: ; preds = %while.body.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.140 + br label %if.merge.145 -if.merge.140: ; preds = %if.then.139, %while.body.137 +if.merge.145: ; preds = %if.then.144, %while.body.142 %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 @@ -3829,7 +4060,7 @@ if.merge.140: ; preds = %if.then.139, %while %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.326, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, 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 @@ -3849,31 +4080,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.136 + br label %while.hdr.141 -fv.default: ; preds = %if.merge.140 +fv.default: ; preds = %if.merge.145 br label %fv.merge -fv.case: ; preds = %if.merge.140 +fv.case: ; preds = %if.merge.145 %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.140 +fv.case17: ; preds = %if.merge.145 %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.140 +fv.case20: ; preds = %if.merge.145 %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.140 +fv.case24: ; preds = %if.merge.145 %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 @@ -3886,43 +4117,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.327, i64 9 }, { ptr, i64 } { ptr @str.328, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.347, i64 9 }, { ptr, i64 } { ptr @str.348, 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.141 + br label %while.hdr.146 -while.hdr.141: ; preds = %fv.merge, %entry +while.hdr.146: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.142, label %while.exit.143 + br i1 %icmp, label %while.body.147, label %while.exit.148 -while.body.142: ; preds = %while.hdr.141 +while.body.147: ; preds = %while.hdr.146 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.144, label %if.merge.145 + br i1 %icmpN, label %if.then.149, label %if.merge.150 -while.exit.143: ; preds = %while.hdr.141 +while.exit.148: ; preds = %while.hdr.146 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 1 }) ret { ptr, i64 } %callN -if.then.144: ; preds = %while.body.142 +if.then.149: ; preds = %while.body.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.145 + br label %if.merge.150 -if.merge.145: ; preds = %if.then.144, %while.body.142 +if.merge.150: ; preds = %if.then.149, %while.body.147 %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.334, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.354, 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.335, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, 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 @@ -3941,24 +4172,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.141 + br label %while.hdr.146 -fv.default: ; preds = %if.merge.145 +fv.default: ; preds = %if.merge.150 br label %fv.merge -fv.case: ; preds = %if.merge.145 +fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.145 +fv.case17: ; preds = %if.merge.150 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.145 +fv.case21: ; preds = %if.merge.150 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3971,43 +4202,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.336, i64 7 }, { ptr, i64 } { ptr @str.337, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.356, i64 7 }, { ptr, i64 } { ptr @str.357, 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.146 + br label %while.hdr.151 -while.hdr.146: ; preds = %fv.merge, %entry +while.hdr.151: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.147, label %while.exit.148 + br i1 %icmp, label %while.body.152, label %while.exit.153 -while.body.147: ; preds = %while.hdr.146 +while.body.152: ; preds = %while.hdr.151 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.149, label %if.merge.150 + br i1 %icmpN, label %if.then.154, label %if.merge.155 -while.exit.148: ; preds = %while.hdr.146 +while.exit.153: ; preds = %while.hdr.151 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.338, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.358, i64 1 }) ret { ptr, i64 } %callN -if.then.149: ; preds = %while.body.147 +if.then.154: ; preds = %while.body.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.150 + br label %if.merge.155 -if.merge.150: ; preds = %if.then.149, %while.body.147 +if.merge.155: ; preds = %if.then.154, %while.body.152 %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.342, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.362, 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.343, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, 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 %alloca, align 8 @@ -4025,19 +4256,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.146 + br label %while.hdr.151 -fv.default: ; preds = %if.merge.150 +fv.default: ; preds = %if.merge.155 br label %fv.merge -fv.case: ; preds = %if.merge.150 +fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.150 +fv.case17: ; preds = %if.merge.155 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4049,43 +4280,43 @@ 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.344, i64 10 }, { ptr, i64 } { ptr @str.345, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.364, i64 10 }, { ptr, i64 } { ptr @str.365, 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.151 + br label %while.hdr.156 -while.hdr.151: ; preds = %if.merge.155, %entry +while.hdr.156: ; preds = %if.merge.160, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.152, label %while.exit.153 + br i1 %icmp, label %while.body.157, label %while.exit.158 -while.body.152: ; preds = %while.hdr.151 +while.body.157: ; preds = %while.hdr.156 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.154, label %if.merge.155 + br i1 %icmpN, label %if.then.159, label %if.merge.160 -while.exit.153: ; preds = %while.hdr.151 +while.exit.158: ; preds = %while.hdr.156 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) ret { ptr, i64 } %callN -if.then.154: ; preds = %while.body.152 +if.then.159: ; preds = %while.body.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.155 + br label %if.merge.160 -if.merge.155: ; preds = %if.then.154, %while.body.152 +if.merge.160: ; preds = %if.then.159, %while.body.157 %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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.368, 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.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4096,7 +4327,7 @@ if.merge.155: ; preds = %if.then.154, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.151 + br label %while.hdr.156 } ; Function Attrs: nounwind @@ -4104,43 +4335,43 @@ 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.350, i64 3 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 3 }, { ptr, i64 } { ptr @str.371, 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.156 + br label %while.hdr.161 -while.hdr.156: ; preds = %fv.merge, %entry +while.hdr.161: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.157, label %while.exit.158 + br i1 %icmp, label %while.body.162, label %while.exit.163 -while.body.157: ; preds = %while.hdr.156 +while.body.162: ; preds = %while.hdr.161 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 + br i1 %icmpN, label %if.then.164, label %if.merge.165 -while.exit.158: ; preds = %while.hdr.156 +while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 1 }) ret { ptr, i64 } %callN -if.then.159: ; preds = %while.body.157 +if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 + br label %if.merge.165 -if.merge.160: ; preds = %if.then.159, %while.body.157 +if.merge.165: ; preds = %if.then.164, %while.body.162 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, 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 @@ -4157,12 +4388,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.156 + br label %while.hdr.161 -fv.default: ; preds = %if.merge.160 +fv.default: ; preds = %if.merge.165 br label %fv.merge -fv.case: ; preds = %if.merge.160 +fv.case: ; preds = %if.merge.165 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4173,43 +4404,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.357, i64 10 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 10 }, { ptr, i64 } { ptr @str.378, 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.161 + br label %while.hdr.166 -while.hdr.161: ; preds = %fv.merge, %entry +while.hdr.166: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.162, label %while.exit.163 + br i1 %icmp, label %while.body.167, label %while.exit.168 -while.body.162: ; preds = %while.hdr.161 +while.body.167: ; preds = %while.hdr.166 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.164, label %if.merge.165 + br i1 %icmpN, label %if.then.169, label %if.merge.170 -while.exit.163: ; preds = %while.hdr.161 +while.exit.168: ; preds = %while.hdr.166 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.164: ; preds = %while.body.162 +if.then.169: ; preds = %while.body.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.165 + br label %if.merge.170 -if.merge.165: ; preds = %if.then.164, %while.body.162 +if.merge.170: ; preds = %if.then.169, %while.body.167 %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.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.383, 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.364, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, 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 @@ -4227,18 +4458,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.161 + br label %while.hdr.166 -fv.default: ; preds = %if.merge.165 +fv.default: ; preds = %if.merge.170 br label %fv.merge -fv.case: ; preds = %if.merge.165 +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4250,91 +4481,7 @@ 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.365, i64 5 }, { ptr, i64 } { ptr @str.366, 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.166 - -while.hdr.166: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.167, label %while.exit.168 - -while.body.167: ; preds = %while.hdr.166 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 - -while.exit.168: ; preds = %while.hdr.166 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 1 }) - ret { ptr, i64 } %callN - -if.then.169: ; preds = %while.body.167 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 - -if.merge.170: ; preds = %if.then.169, %while.body.167 - %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.372, 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.373, 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.166 - -fv.default: ; preds = %if.merge.170 - br label %fv.merge - -fv.case: ; preds = %if.merge.170 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.170 - %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.170 - %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 21, 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.374, i64 8 }, { ptr, i64 } { ptr @str.375, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.385, i64 5 }, { ptr, i64 } { ptr @str.386, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4353,27 +4500,27 @@ while.body.172: ; preds = %while.hdr.171 while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) ret { ptr, i64 } %callN if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.175 if.merge.175: ; preds = %if.then.174, %while.body.172 %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.381, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.392, 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.382, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, 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 { 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 @@ -4395,17 +4542,101 @@ fv.default: ; preds = %if.merge.175 br label %fv.merge fv.case: ; preds = %if.merge.175 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.175 + %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.175 + %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 21, 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.394, i64 8 }, { ptr, i64 } { ptr @str.395, 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.176 + +while.hdr.176: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.177, label %while.exit.178 + +while.body.177: ; preds = %while.hdr.176 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.179, label %if.merge.180 + +while.exit.178: ; preds = %while.hdr.176 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) + ret { ptr, i64 } %callN + +if.then.179: ; preds = %while.body.177 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.180 + +if.merge.180: ; preds = %if.then.179, %while.body.177 + %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.401, 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.402, 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.176 + +fv.default: ; preds = %if.merge.180 + br label %fv.merge + +fv.case: ; preds = %if.merge.180 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.175 +fv.case17: ; preds = %if.merge.180 %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.175 +fv.case20: ; preds = %if.merge.180 %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 @@ -4417,43 +4648,43 @@ 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.383, i64 17 }, { ptr, i64 } { ptr @str.384, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.403, i64 17 }, { ptr, i64 } { ptr @str.404, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.411, 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.392, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, 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 @@ -4473,29 +4704,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.180 +fv.case17: ; preds = %if.merge.185 %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.180 +fv.case20: ; preds = %if.merge.185 %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.180 +fv.case23: ; preds = %if.merge.185 %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 @@ -4506,43 +4737,43 @@ 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.393, i64 4 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 4 }, { ptr, i64 } { ptr @str.414, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4559,12 +4790,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %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 @@ -4579,43 +4810,43 @@ entry: %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.400, i64 10 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 10 }, { ptr, i64 } { ptr @str.421, 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.186 + br label %while.hdr.191 -while.hdr.186: ; preds = %fv.merge, %entry +while.hdr.191: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.187, label %while.exit.188 + br i1 %icmp, label %while.body.192, label %while.exit.193 -while.body.187: ; preds = %while.hdr.186 +while.body.192: ; preds = %while.hdr.191 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.189, label %if.merge.190 + br i1 %icmpN, label %if.then.194, label %if.merge.195 -while.exit.188: ; preds = %while.hdr.186 +while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN -if.then.189: ; preds = %while.body.187 +if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 + br label %if.merge.195 -if.merge.190: ; preds = %if.then.189, %while.body.187 +if.merge.195: ; preds = %if.then.194, %while.body.192 %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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.429, 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.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, 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 @@ -4636,38 +4867,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.186 + br label %while.hdr.191 -fv.default: ; preds = %if.merge.190 +fv.default: ; preds = %if.merge.195 br label %fv.merge -fv.case: ; preds = %if.merge.190 +fv.case: ; preds = %if.merge.195 %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.190 +fv.case17: ; preds = %if.merge.195 %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.190 +fv.case20: ; preds = %if.merge.195 %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.190 +fv.case24: ; preds = %if.merge.195 %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.190 +fv.case29: ; preds = %if.merge.195 %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 @@ -4681,43 +4912,43 @@ 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.411, i64 13 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 13 }, { ptr, i64 } { ptr @str.432, 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.191 + br label %while.hdr.196 -while.hdr.191: ; preds = %fv.merge, %entry +while.hdr.196: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.192, label %while.exit.193 + br i1 %icmp, label %while.body.197, label %while.exit.198 -while.body.192: ; preds = %while.hdr.191 +while.body.197: ; preds = %while.hdr.196 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.194, label %if.merge.195 + br i1 %icmpN, label %if.then.199, label %if.merge.200 -while.exit.193: ; preds = %while.hdr.191 +while.exit.198: ; preds = %while.hdr.196 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 1 }) ret { ptr, i64 } %callN -if.then.194: ; preds = %while.body.192 +if.then.199: ; preds = %while.body.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.195 + br label %if.merge.200 -if.merge.195: ; preds = %if.then.194, %while.body.192 +if.merge.200: ; preds = %if.then.199, %while.body.197 %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.417, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.437, 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.418, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, 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 @@ -4735,18 +4966,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.191 + br label %while.hdr.196 -fv.default: ; preds = %if.merge.195 +fv.default: ; preds = %if.merge.200 br label %fv.merge -fv.case: ; preds = %if.merge.195 +fv.case: ; preds = %if.merge.200 %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.195 +fv.case17: ; preds = %if.merge.200 %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 @@ -4759,43 +4990,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.419, i64 8 }, { ptr, i64 } { ptr @str.420, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.439, i64 8 }, { ptr, i64 } { ptr @str.440, 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.196 + br label %while.hdr.201 -while.hdr.196: ; preds = %fv.merge, %entry +while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.197, label %while.exit.198 + br i1 %icmp, label %while.body.202, label %while.exit.203 -while.body.197: ; preds = %while.hdr.196 +while.body.202: ; preds = %while.hdr.201 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.199, label %if.merge.200 + br i1 %icmpN, label %if.then.204, label %if.merge.205 -while.exit.198: ; preds = %while.hdr.196 +while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) ret { ptr, i64 } %callN -if.then.199: ; preds = %while.body.197 +if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.200 + br label %if.merge.205 -if.merge.200: ; preds = %if.then.199, %while.body.197 +if.merge.205: ; preds = %if.then.204, %while.body.202 %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.428, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.448, 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.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, 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 @@ -4816,36 +5047,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.196 + br label %while.hdr.201 -fv.default: ; preds = %if.merge.200 +fv.default: ; preds = %if.merge.205 br label %fv.merge -fv.case: ; preds = %if.merge.200 +fv.case: ; preds = %if.merge.205 %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.200 +fv.case17: ; preds = %if.merge.205 %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.200 +fv.case21: ; preds = %if.merge.205 %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.200 +fv.case25: ; preds = %if.merge.205 %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.200 +fv.case29: ; preds = %if.merge.205 %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 @@ -4856,89 +5087,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.430, i64 5 }, { ptr, i64 } { ptr @str.431, 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.201 - -while.hdr.201: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.202, label %while.exit.203 - -while.body.202: ; preds = %while.hdr.201 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.204, label %if.merge.205 - -while.exit.203: ; preds = %while.hdr.201 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 1 }) - ret { ptr, i64 } %callN - -if.then.204: ; preds = %while.body.202 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.205 - -if.merge.205: ; preds = %if.then.204, %while.body.202 - %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.437, 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.438, 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.201 - -fv.default: ; preds = %if.merge.205 - br label %fv.merge - -fv.case: ; preds = %if.merge.205 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.205 - %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.205 - %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.439, i64 6 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 5 }, { ptr, i64 } { ptr @str.451, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4957,24 +5106,24 @@ while.body.207: ; preds = %while.hdr.206 while.exit.208: ; preds = %while.hdr.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 1 }) ret { ptr, i64 } %callN if.then.209: ; preds = %while.body.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.210 if.merge.210: ; preds = %if.then.209, %while.body.207 %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.446, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.457, 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.447, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, 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 @@ -5001,7 +5150,7 @@ fv.default: ; preds = %if.merge.210 fv.case: ; preds = %if.merge.210 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.210 @@ -5016,13 +5165,11 @@ fv.case20: ; preds = %if.merge.210 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.448, i64 6 }, { ptr, i64 } { ptr @str.449, i64 1 }) + %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.459, i64 6 }, { ptr, i64 } { ptr @str.460, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5031,7 +5178,7 @@ entry: while.hdr.211: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.212, label %while.exit.213 while.body.212: ; preds = %while.hdr.211 @@ -5041,24 +5188,108 @@ while.body.212: ; preds = %while.hdr.211 while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 1 }) ret { ptr, i64 } %callN if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.462, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.215 if.merge.215: ; preds = %if.then.214, %while.body.212 %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.454, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.466, 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.455, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, 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.211 + +fv.default: ; preds = %if.merge.215 + br label %fv.merge + +fv.case: ; preds = %if.merge.215 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.215 + %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.215 + %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.468, i64 6 }, { ptr, i64 } { ptr @str.469, 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.216 + +while.hdr.216: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.217, label %while.exit.218 + +while.body.217: ; preds = %while.hdr.216 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.219, label %if.merge.220 + +while.exit.218: ; preds = %while.hdr.216 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 1 }) + ret { ptr, i64 } %callN + +if.then.219: ; preds = %while.body.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.471, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.220 + +if.merge.220: ; preds = %if.then.219, %while.body.217 + %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.474, 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.475, 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 @@ -5076,19 +5307,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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 @@ -5102,93 +5333,7 @@ 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.456, i64 4 }, { ptr, i64 } { ptr @str.457, 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.216 - -while.hdr.216: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.217, label %while.exit.218 - -while.body.217: ; preds = %while.hdr.216 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 - -while.exit.218: ; preds = %while.hdr.216 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 1 }) - ret { ptr, i64 } %callN - -if.then.219: ; preds = %while.body.217 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 - -if.merge.220: ; preds = %if.then.219, %while.body.217 - %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.463, 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.464, 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.216 - -fv.default: ; preds = %if.merge.220 - br label %fv.merge - -fv.case: ; preds = %if.merge.220 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.220 - %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.220 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.465, i64 6 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.476, i64 4 }, { ptr, i64 } { ptr @str.477, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5207,24 +5352,110 @@ while.body.222: ; preds = %while.hdr.221 while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 1 }) ret { ptr, i64 } %callN if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.225 if.merge.225: ; preds = %if.then.224, %while.body.222 %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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.483, 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.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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.221 + +fv.default: ; preds = %if.merge.225 + br label %fv.merge + +fv.case: ; preds = %if.merge.225 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.225 + %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.225 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.485, i64 6 }, { ptr, i64 } { ptr @str.486, 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.226 + +while.hdr.226: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.227, label %while.exit.228 + +while.body.227: ; preds = %while.hdr.226 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.229, label %if.merge.230 + +while.exit.228: ; preds = %while.hdr.226 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) + ret { ptr, i64 } %callN + +if.then.229: ; preds = %while.body.227 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.230 + +if.merge.230: ; preds = %if.then.229, %while.body.227 + %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.492, 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.493, 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 @@ -5243,24 +5474,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.221 + br label %while.hdr.226 -fv.default: ; preds = %if.merge.225 +fv.default: ; preds = %if.merge.230 br label %fv.merge -fv.case: ; preds = %if.merge.225 +fv.case: ; preds = %if.merge.230 %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.225 +fv.case17: ; preds = %if.merge.230 %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.225 +fv.case20: ; preds = %if.merge.230 %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 @@ -5273,43 +5504,43 @@ 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.474, i64 12 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.494, i64 12 }, { ptr, i64 } { ptr @str.495, 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.226 + br label %while.hdr.231 -while.hdr.226: ; preds = %if.merge.230, %entry +while.hdr.231: ; preds = %if.merge.235, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.227, label %while.exit.228 + br i1 %icmp, label %while.body.232, label %while.exit.233 -while.body.227: ; preds = %while.hdr.226 +while.body.232: ; preds = %while.hdr.231 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.229, label %if.merge.230 + br i1 %icmpN, label %if.then.234, label %if.merge.235 -while.exit.228: ; preds = %while.hdr.226 +while.exit.233: ; preds = %while.hdr.231 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN -if.then.229: ; preds = %while.body.227 +if.then.234: ; preds = %while.body.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.230 + br label %if.merge.235 -if.merge.230: ; preds = %if.then.229, %while.body.227 +if.merge.235: ; preds = %if.then.234, %while.body.232 %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.478, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.498, 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.479, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5320,7 +5551,7 @@ if.merge.230: ; preds = %if.then.229, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.226 + br label %while.hdr.231 } ; Function Attrs: nounwind @@ -5329,95 +5560,7 @@ 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.480, i64 8 }, { ptr, i64 } { ptr @str.481, 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.231 - -while.hdr.231: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.232, label %while.exit.233 - -while.body.232: ; preds = %while.hdr.231 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.234, label %if.merge.235 - -while.exit.233: ; preds = %while.hdr.231 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, i64 1 }) - ret { ptr, i64 } %callN - -if.then.234: ; preds = %while.body.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.235 - -if.merge.235: ; preds = %if.then.234, %while.body.232 - %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.487, 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.488, 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.231 - -fv.default: ; preds = %if.merge.235 - br label %fv.merge - -fv.case: ; preds = %if.merge.235 - %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.235 - %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.235 - %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.489, i64 7 }, { ptr, i64 } { ptr @str.490, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.500, i64 8 }, { ptr, i64 } { ptr @str.501, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5436,24 +5579,112 @@ while.body.237: ; preds = %while.hdr.236 while.exit.238: ; preds = %while.hdr.236 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) ret { ptr, i64 } %callN if.then.239: ; preds = %while.body.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.240 if.merge.240: ; preds = %if.then.239, %while.body.237 %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.496, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.507, 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.497, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, 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.236 + +fv.default: ; preds = %if.merge.240 + br label %fv.merge + +fv.case: ; preds = %if.merge.240 + %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.240 + %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.240 + %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.509, i64 7 }, { ptr, i64 } { ptr @str.510, 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.241 + +while.hdr.241: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.242, label %while.exit.243 + +while.body.242: ; preds = %while.hdr.241 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.244, label %if.merge.245 + +while.exit.243: ; preds = %while.hdr.241 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) + ret { ptr, i64 } %callN + +if.then.244: ; preds = %while.body.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.245 + +if.merge.245: ; preds = %if.then.244, %while.body.242 + %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.516, 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.517, 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 @@ -5472,26 +5703,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.236 + br label %while.hdr.241 -fv.default: ; preds = %if.merge.240 +fv.default: ; preds = %if.merge.245 br label %fv.merge -fv.case: ; preds = %if.merge.240 +fv.case: ; preds = %if.merge.245 %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.240 +fv.case17: ; preds = %if.merge.245 %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.240 +fv.case22: ; preds = %if.merge.245 %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 @@ -5505,86 +5736,7 @@ 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.498, i64 9 }, { ptr, i64 } { ptr @str.499, 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.241 - -while.hdr.241: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.242, label %while.exit.243 - -while.body.242: ; preds = %while.hdr.241 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.244, label %if.merge.245 - -while.exit.243: ; preds = %while.hdr.241 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.500, i64 1 }) - ret { ptr, i64 } %callN - -if.then.244: ; preds = %while.body.242 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.245 - -if.merge.245: ; preds = %if.then.244, %while.body.242 - %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.504, 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.505, 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.241 - -fv.default: ; preds = %if.merge.245 - br label %fv.merge - -fv.case: ; preds = %if.merge.245 - %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.245 - %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.506, i64 4 }, { ptr, i64 } { ptr @str.507, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.518, i64 9 }, { ptr, i64 } { ptr @str.519, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5603,27 +5755,27 @@ while.body.247: ; preds = %while.hdr.246 while.exit.248: ; preds = %while.hdr.246 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 1 }) ret { ptr, i64 } %callN if.then.249: ; preds = %while.body.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.250 if.merge.250: ; preds = %if.then.249, %while.body.247 %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.512, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.524, 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.513, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, 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 { 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 @@ -5644,11 +5796,90 @@ fv.default: ; preds = %if.merge.250 br label %fv.merge fv.case: ; preds = %if.merge.250 + %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.250 + %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.526, i64 4 }, { ptr, i64 } { ptr @str.527, 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.251 + +while.hdr.251: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.252, label %while.exit.253 + +while.body.252: ; preds = %while.hdr.251 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.254, label %if.merge.255 + +while.exit.253: ; preds = %while.hdr.251 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 1 }) + ret { ptr, i64 } %callN + +if.then.254: ; preds = %while.body.252 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.255 + +if.merge.255: ; preds = %if.then.254, %while.body.252 + %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.532, 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.533, 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.251 + +fv.default: ; preds = %if.merge.255 + br label %fv.merge + +fv.case: ; preds = %if.merge.255 %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.250 +fv.case17: ; preds = %if.merge.255 %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 @@ -5666,43 +5897,43 @@ entry: %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.514, i64 6 }, { ptr, i64 } { ptr @str.515, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 6 }, { ptr, i64 } { ptr @str.535, 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.251 + br label %while.hdr.256 -while.hdr.251: ; preds = %fv.merge, %entry +while.hdr.256: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.252, label %while.exit.253 + br i1 %icmp, label %while.body.257, label %while.exit.258 -while.body.252: ; preds = %while.hdr.251 +while.body.257: ; preds = %while.hdr.256 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 + br i1 %icmpN, label %if.then.259, label %if.merge.260 -while.exit.253: ; preds = %while.hdr.251 +while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) ret { ptr, i64 } %callN -if.then.254: ; preds = %while.body.252 +if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.517, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 + br label %if.merge.260 -if.merge.255: ; preds = %if.then.254, %while.body.252 +if.merge.260: ; preds = %if.then.259, %while.body.257 %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.525, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.545, 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.526, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, 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 @@ -5725,51 +5956,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.251 + br label %while.hdr.256 -fv.default: ; preds = %if.merge.255 +fv.default: ; preds = %if.merge.260 br label %fv.merge -fv.case: ; preds = %if.merge.255 +fv.case: ; preds = %if.merge.260 %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.255 +fv.case17: ; preds = %if.merge.260 %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.255 +fv.case22: ; preds = %if.merge.260 %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.255 +fv.case25: ; preds = %if.merge.260 %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.255 +fv.case28: ; preds = %if.merge.260 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.255 +fv.case33: ; preds = %if.merge.260 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.255 +fv.case38: ; preds = %if.merge.260 %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 @@ -5784,43 +6015,43 @@ entry: %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.527, i64 6 }, { ptr, i64 } { ptr @str.528, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 6 }, { ptr, i64 } { ptr @str.548, 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.256 + br label %while.hdr.261 -while.hdr.256: ; preds = %fv.merge, %entry +while.hdr.261: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.257, label %while.exit.258 + br i1 %icmp, label %while.body.262, label %while.exit.263 -while.body.257: ; preds = %while.hdr.256 +while.body.262: ; preds = %while.hdr.261 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.259, label %if.merge.260 + br i1 %icmpN, label %if.then.264, label %if.merge.265 -while.exit.258: ; preds = %while.hdr.256 +while.exit.263: ; preds = %while.hdr.261 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.529, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %callN -if.then.259: ; preds = %while.body.257 +if.then.264: ; preds = %while.body.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.260 + br label %if.merge.265 -if.merge.260: ; preds = %if.then.259, %while.body.257 +if.merge.265: ; preds = %if.then.264, %while.body.262 %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.535, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.555, 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.536, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, 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 @@ -5840,31 +6071,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.256 + br label %while.hdr.261 -fv.default: ; preds = %if.merge.260 +fv.default: ; preds = %if.merge.265 br label %fv.merge -fv.case: ; preds = %if.merge.260 +fv.case: ; preds = %if.merge.265 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.260 +fv.case17: ; preds = %if.merge.265 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.260 +fv.case22: ; preds = %if.merge.265 %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.260 +fv.case25: ; preds = %if.merge.265 %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 @@ -5875,82 +6106,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.537, i64 8 }, { ptr, i64 } { ptr @str.538, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 - %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.543, 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.544, 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.261 - -fv.default: ; preds = %if.merge.265 - br label %fv.merge - -fv.case: ; preds = %if.merge.265 - %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.265 - %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__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.545, i64 6 }, { ptr, i64 } { ptr @str.546, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, i64 8 }, { ptr, i64 } { ptr @str.558, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5959,7 +6115,7 @@ entry: while.hdr.266: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.267, label %while.exit.268 while.body.267: ; preds = %while.hdr.266 @@ -5969,118 +6125,16 @@ while.body.267: ; preds = %while.hdr.266 while.exit.268: ; preds = %while.hdr.266 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %callN if.then.269: ; preds = %while.body.267 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.270 if.merge.270: ; preds = %if.then.269, %while.body.267 - %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.555, 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.556, 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.266 - -fv.default: ; preds = %if.merge.270 - br label %fv.merge - -fv.case: ; preds = %if.merge.270 - %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.270 - %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.270 - %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.270 - %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.270 - %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.270 - %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.557, i64 10 }, { ptr, i64 } { ptr @str.558, 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.271 - -while.hdr.271: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.272, label %while.exit.273 - -while.body.272: ; preds = %while.hdr.271 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 - -while.exit.273: ; preds = %while.hdr.271 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) - ret { ptr, i64 } %callN - -if.then.274: ; preds = %while.body.272 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 - -if.merge.275: ; preds = %if.then.274, %while.body.272 %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.563, i64 0, i64 %loadN @@ -6106,17 +6160,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.266 + +fv.default: ; preds = %if.merge.270 + br label %fv.merge + +fv.case: ; preds = %if.merge.270 + %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.270 + %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__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.565, i64 6 }, { ptr, i64 } { ptr @str.566, 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.271 + +while.hdr.271: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.272, label %while.exit.273 + +while.body.272: ; preds = %while.hdr.271 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.274, label %if.merge.275 + +while.exit.273: ; preds = %while.hdr.271 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + ret { ptr, i64 } %callN + +if.then.274: ; preds = %while.body.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.275 + +if.merge.275: ; preds = %if.then.274, %while.body.272 + %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.575, 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.576, 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.271 fv.default: ; preds = %if.merge.275 br label %fv.merge fv.case: ; preds = %if.merge.275 + %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.275 + %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.275 + %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.275 + %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.275 + %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.275 + %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.577, i64 10 }, { ptr, i64 } { ptr @str.578, 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.276 + +while.hdr.276: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.277, label %while.exit.278 + +while.body.277: ; preds = %while.hdr.276 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.279, label %if.merge.280 + +while.exit.278: ; preds = %while.hdr.276 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + ret { ptr, i64 } %callN + +if.then.279: ; preds = %while.body.277 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.280 + +if.merge.280: ; preds = %if.then.279, %while.body.277 + %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.583, 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.584, 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.276 + +fv.default: ; preds = %if.merge.280 + br label %fv.merge + +fv.case: ; preds = %if.merge.280 %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.275 +fv.case17: ; preds = %if.merge.280 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6127,43 +6358,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.565, i64 5 }, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 5 }, { ptr, i64 } { ptr @str.586, 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.276 + br label %while.hdr.281 -while.hdr.276: ; preds = %fv.merge, %entry +while.hdr.281: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.277, label %while.exit.278 + br i1 %icmp, label %while.body.282, label %while.exit.283 -while.body.277: ; preds = %while.hdr.276 +while.body.282: ; preds = %while.hdr.281 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.279, label %if.merge.280 + br i1 %icmpN, label %if.then.284, label %if.merge.285 -while.exit.278: ; preds = %while.hdr.276 +while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %callN -if.then.279: ; preds = %while.body.277 +if.then.284: ; preds = %while.body.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.280 + br label %if.merge.285 -if.merge.280: ; preds = %if.then.279, %while.body.277 +if.merge.285: ; preds = %if.then.284, %while.body.282 %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.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.596, 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.577, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.597, 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, i64 }, ptr %alloca, align 8 @@ -6186,47 +6417,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.276 + br label %while.hdr.281 -fv.default: ; preds = %if.merge.280 +fv.default: ; preds = %if.merge.285 br label %fv.merge -fv.case: ; preds = %if.merge.280 +fv.case: ; preds = %if.merge.285 %fv.field = extractvalue { i32, i64, 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.280 +fv.case17: ; preds = %if.merge.285 %fv.field18 = extractvalue { i32, i64, 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.280 +fv.case20: ; preds = %if.merge.285 %fv.field21 = extractvalue { i32, i64, 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.280 +fv.case23: ; preds = %if.merge.285 %fv.field24 = extractvalue { i32, i64, 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.280 +fv.case27: ; preds = %if.merge.285 %fv.field28 = extractvalue { i32, i64, 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.280 +fv.case31: ; preds = %if.merge.285 %fv.field32 = extractvalue { i32, i64, 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.280 +fv.case35: ; preds = %if.merge.285 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6237,43 +6468,43 @@ 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.578, i64 4 }, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 4 }, { ptr, i64 } { ptr @str.599, 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.281 + br label %while.hdr.286 -while.hdr.281: ; preds = %fv.merge, %entry +while.hdr.286: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.282, label %while.exit.283 + br i1 %icmp, label %while.body.287, label %while.exit.288 -while.body.282: ; preds = %while.hdr.281 +while.body.287: ; preds = %while.hdr.286 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.284, label %if.merge.285 + br i1 %icmpN, label %if.then.289, label %if.merge.290 -while.exit.283: ; preds = %while.hdr.281 +while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, i64 1 }) ret { ptr, i64 } %callN -if.then.284: ; preds = %while.body.282 +if.then.289: ; preds = %while.body.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.285 + br label %if.merge.290 -if.merge.285: ; preds = %if.then.284, %while.body.282 +if.merge.290: ; preds = %if.then.289, %while.body.287 %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.603, 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.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, 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 @@ -6290,18 +6521,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.281 + br label %while.hdr.286 -fv.default: ; preds = %if.merge.285 +fv.default: ; preds = %if.merge.290 br label %fv.merge -fv.case: ; preds = %if.merge.285 +fv.case: ; preds = %if.merge.290 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } { ptr @str.606, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.616, 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.617, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.291 + +fv.default: ; preds = %if.merge.295 + br label %fv.merge + +fv.case: ; preds = %if.merge.295 + %fv.field = extractvalue { i64, i32, 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.295 + %fv.field18 = extractvalue { i64, i32, 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.295 + %fv.field21 = extractvalue { i64, i32, 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.295 + %fv.field24 = extractvalue { i64, i32, 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.295 + %fv.field27 = extractvalue { i64, i32, 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.295 + %fv.field30 = extractvalue { i64, i32, 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.295 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.618, i64 7 }, { ptr, i64 } { ptr @str.619, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %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.628, 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.629, 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 + %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.300 + %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.300 + %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.300 + %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.300 + %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.300 + %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.630, i64 8 }, { ptr, i64 } { ptr @str.631, 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.301 + +while.hdr.301: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.302, label %while.exit.303 + +while.body.302: ; preds = %while.hdr.301 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.304, label %if.merge.305 + +while.exit.303: ; preds = %while.hdr.301 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) + ret { ptr, i64 } %callN + +if.then.304: ; preds = %while.body.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.305 + +if.merge.305: ; preds = %if.then.304, %while.body.302 + %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.638, 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.639, 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.301 + +fv.default: ; preds = %if.merge.305 + br label %fv.merge + +fv.case: ; preds = %if.merge.305 + %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.305 + %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.305 + %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.305 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } { ptr @str.641, 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.306 + +while.hdr.306: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.307, label %while.exit.308 + +while.body.307: ; preds = %while.hdr.306 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.309, label %if.merge.310 + +while.exit.308: ; preds = %while.hdr.306 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + ret { ptr, i64 } %callN + +if.then.309: ; preds = %while.body.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.310 + +if.merge.310: ; preds = %if.then.309, %while.body.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.655, 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.656, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.306 + +fv.default: ; preds = %if.merge.310 + br label %fv.merge + +fv.case: ; preds = %if.merge.310 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.310 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.310 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.310 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.310 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.310 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.310 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.310 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.310 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.310 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.310 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } { ptr @str.658, 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.311 + +while.hdr.311: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.312, label %while.exit.313 + +while.body.312: ; preds = %while.hdr.311 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.314, label %if.merge.315 + +while.exit.313: ; preds = %while.hdr.311 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + ret { ptr, i64 } %callN + +if.then.314: ; preds = %while.body.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.315 + +if.merge.315: ; preds = %if.then.314, %while.body.312 + %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.667, 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.668, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.311 + +fv.default: ; preds = %if.merge.315 + br label %fv.merge + +fv.case: ; preds = %if.merge.315 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.315 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.315 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.315 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.315 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.315 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6311,9 +7105,9 @@ entry: %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.674, 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.585, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, 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 @@ -6327,18 +7121,18 @@ entry: %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.293, label %if.merge.294 + br i1 %icmp, label %if.then.323, label %if.merge.324 -if.then.293: ; preds = %entry +if.then.323: ; 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.592, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, 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.294 + br label %if.merge.324 -if.merge.294: ; preds = %if.then.293, %entry +if.merge.324: ; preds = %if.then.323, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6352,9 +7146,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.681, 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.593, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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 @@ -6368,18 +7162,18 @@ entry: %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.295, label %if.merge.296 + br i1 %icmp, label %if.then.325, label %if.merge.326 -if.then.295: ; preds = %entry +if.then.325: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %entry +if.merge.326: ; preds = %if.then.325, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6404,9 +7198,9 @@ entry: %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.607, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.691, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6420,16 +7214,16 @@ entry: i64 5, label %fv.case24 ] -if.then.297: ; preds = %fv.merge +if.then.327: ; 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.609, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, 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.298 + br label %if.merge.328 -if.merge.298: ; preds = %if.then.297, %fv.merge +if.merge.328: ; preds = %if.then.327, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6442,7 +7236,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.297, label %if.merge.298 + br i1 %icmp, label %if.then.327, label %if.merge.328 fv.default: ; preds = %entry br label %fv.merge @@ -6502,9 +7296,9 @@ entry: %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.618, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.702, 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.610, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, 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 @@ -6518,18 +7312,18 @@ entry: %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.299, label %if.merge.300 + br i1 %icmp, label %if.then.329, label %if.merge.330 -if.then.299: ; preds = %entry +if.then.329: ; 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.620, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, 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.300 + br label %if.merge.330 -if.merge.300: ; preds = %if.then.299, %entry +if.merge.330: ; preds = %if.then.329, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6543,9 +7337,9 @@ entry: %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.627, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.711, 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.621, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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 @@ -6559,18 +7353,18 @@ entry: %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.301, label %if.merge.302 + br i1 %icmp, label %if.then.331, label %if.merge.332 -if.then.301: ; preds = %entry +if.then.331: ; 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.629, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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.302 + br label %if.merge.332 -if.merge.302: ; preds = %if.then.301, %entry +if.merge.332: ; preds = %if.then.331, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6582,33 +7376,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.714, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 -while.hdr.311: ; preds = %if.merge.315, %entry +while.hdr.341: ; preds = %if.merge.345, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.312, label %while.exit.313 + br i1 %icmp, label %while.body.342, label %while.exit.343 -while.body.312: ; preds = %while.hdr.311 +while.body.342: ; preds = %while.hdr.341 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.314, label %if.merge.315 + br i1 %icmpN, label %if.then.344, label %if.merge.345 -while.exit.313: ; preds = %while.hdr.311 +while.exit.343: ; preds = %while.hdr.341 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %call -if.then.314: ; preds = %while.body.312 +if.then.344: ; preds = %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.315 + br label %if.merge.345 -if.merge.315: ; preds = %if.then.314, %while.body.312 +if.merge.345: ; preds = %if.then.344, %while.body.342 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6622,7 +7416,7 @@ if.merge.315: ; preds = %if.then.314, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.311 + br label %while.hdr.341 } ; Function Attrs: nounwind @@ -6633,33 +7427,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.633, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.717, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 -while.hdr.316: ; preds = %if.merge.320, %entry +while.hdr.346: ; preds = %if.merge.350, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.317, label %while.exit.318 + br i1 %icmp, label %while.body.347, label %while.exit.348 -while.body.317: ; preds = %while.hdr.316 +while.body.347: ; preds = %while.hdr.346 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.319, label %if.merge.320 + br i1 %icmpN, label %if.then.349, label %if.merge.350 -while.exit.318: ; preds = %while.hdr.316 +while.exit.348: ; preds = %while.hdr.346 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 1 }) ret { ptr, i64 } %call -if.then.319: ; preds = %while.body.317 +if.then.349: ; preds = %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + %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.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %while.body.317 +if.merge.350: ; preds = %if.then.349, %while.body.347 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6675,7 +7469,7 @@ if.merge.320: ; preds = %if.then.319, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.316 + br label %while.hdr.346 } ; Function Attrs: nounwind @@ -6685,33 +7479,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.636, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.720, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 -while.hdr.321: ; preds = %if.merge.325, %entry +while.hdr.351: ; preds = %if.merge.355, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.322, label %while.exit.323 + br i1 %icmp, label %while.body.352, label %while.exit.353 -while.body.322: ; preds = %while.hdr.321 +while.body.352: ; preds = %while.hdr.351 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.324, label %if.merge.325 + br i1 %icmpN, label %if.then.354, label %if.merge.355 -while.exit.323: ; preds = %while.hdr.321 +while.exit.353: ; preds = %while.hdr.351 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) ret { ptr, i64 } %call -if.then.324: ; preds = %while.body.322 +if.then.354: ; preds = %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.325 + br label %if.merge.355 -if.merge.325: ; preds = %if.then.324, %while.body.322 +if.merge.355: ; preds = %if.then.354, %while.body.352 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6725,7 +7519,7 @@ if.merge.325: ; preds = %if.then.324, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.321 + br label %while.hdr.351 } ; Function Attrs: nounwind @@ -6735,33 +7529,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.639, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.723, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 -while.hdr.326: ; preds = %if.merge.330, %entry +while.hdr.356: ; preds = %if.merge.360, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.327, label %while.exit.328 + br i1 %icmp, label %while.body.357, label %while.exit.358 -while.body.327: ; preds = %while.hdr.326 +while.body.357: ; preds = %while.hdr.356 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.329, label %if.merge.330 + br i1 %icmpN, label %if.then.359, label %if.merge.360 -while.exit.328: ; preds = %while.hdr.326 +while.exit.358: ; preds = %while.hdr.356 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.724, i64 1 }) ret { ptr, i64 } %call -if.then.329: ; preds = %while.body.327 +if.then.359: ; preds = %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.330 + br label %if.merge.360 -if.merge.330: ; preds = %if.then.329, %while.body.327 +if.merge.360: ; preds = %if.then.359, %while.body.357 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6776,7 +7570,7 @@ if.merge.330: ; preds = %if.then.329, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.326 + br label %while.hdr.356 } ; Function Attrs: nounwind @@ -6786,33 +7580,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.642, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.726, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 -while.hdr.331: ; preds = %if.merge.335, %entry +while.hdr.361: ; preds = %if.merge.365, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.332, label %while.exit.333 + br i1 %icmp, label %while.body.362, label %while.exit.363 -while.body.332: ; preds = %while.hdr.331 +while.body.362: ; preds = %while.hdr.361 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.334, label %if.merge.335 + br i1 %icmpN, label %if.then.364, label %if.merge.365 -while.exit.333: ; preds = %while.hdr.331 +while.exit.363: ; preds = %while.hdr.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 1 }) ret { ptr, i64 } %call -if.then.334: ; preds = %while.body.332 +if.then.364: ; preds = %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 2 }) + %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.335 + br label %if.merge.365 -if.merge.335: ; preds = %if.then.334, %while.body.332 +if.merge.365: ; preds = %if.then.364, %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6826,7 +7620,7 @@ if.merge.335: ; preds = %if.then.334, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 } ; Function Attrs: nounwind @@ -6837,33 +7631,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.645, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.729, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 -while.hdr.336: ; preds = %if.merge.340, %entry +while.hdr.366: ; preds = %if.merge.370, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.337, label %while.exit.338 + br i1 %icmp, label %while.body.367, label %while.exit.368 -while.body.337: ; preds = %while.hdr.336 +while.body.367: ; preds = %while.hdr.366 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.339, label %if.merge.340 + br i1 %icmpN, label %if.then.369, label %if.merge.370 -while.exit.338: ; preds = %while.hdr.336 +while.exit.368: ; preds = %while.hdr.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 1 }) ret { ptr, i64 } %call -if.then.339: ; preds = %while.body.337 +if.then.369: ; preds = %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.340 + br label %if.merge.370 -if.merge.340: ; preds = %if.then.339, %while.body.337 +if.merge.370: ; preds = %if.then.369, %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6879,7 +7673,7 @@ if.merge.340: ; preds = %if.then.339, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 } ; Function Attrs: nounwind @@ -6889,35 +7683,35 @@ entry: %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.648, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.732, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 -while.hdr.349: ; preds = %if.merge.353, %entry +while.hdr.379: ; preds = %if.merge.383, %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.350, label %while.exit.351 + br i1 %icmp, label %while.body.380, label %while.exit.381 -while.body.350: ; preds = %while.hdr.349 +while.body.380: ; preds = %while.hdr.379 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.352, label %if.merge.353 + br i1 %icmpN, label %if.then.382, label %if.merge.383 -while.exit.351: ; preds = %while.hdr.349 +while.exit.381: ; preds = %while.hdr.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 1 }) ret { ptr, i64 } %call -if.then.352: ; preds = %while.body.350 +if.then.382: ; preds = %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.353 + br label %if.merge.383 -if.merge.353: ; preds = %if.then.352, %while.body.350 +if.merge.383: ; preds = %if.then.382, %while.body.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6933,7 +7727,7 @@ if.merge.353: ; preds = %if.then.352, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.349 + br label %while.hdr.379 } ; Function Attrs: nounwind @@ -6942,35 +7736,35 @@ 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.651, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.735, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 -while.hdr.354: ; preds = %if.merge.358, %entry +while.hdr.384: ; preds = %if.merge.388, %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.355, label %while.exit.356 + br i1 %icmp, label %while.body.385, label %while.exit.386 -while.body.355: ; preds = %while.hdr.354 +while.body.385: ; preds = %while.hdr.384 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.357, label %if.merge.358 + br i1 %icmpN, label %if.then.387, label %if.merge.388 -while.exit.356: ; preds = %while.hdr.354 +while.exit.386: ; preds = %while.hdr.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.736, i64 1 }) ret { ptr, i64 } %call -if.then.357: ; preds = %while.body.355 +if.then.387: ; preds = %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.358 + br label %if.merge.388 -if.merge.358: ; preds = %if.then.357, %while.body.355 +if.merge.388: ; preds = %if.then.387, %while.body.385 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6985,7 +7779,7 @@ if.merge.358: ; preds = %if.then.357, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.354 + br label %while.hdr.384 } ; Function Attrs: nounwind @@ -6995,35 +7789,35 @@ entry: %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.654, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.738, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 -while.hdr.359: ; preds = %if.merge.363, %entry +while.hdr.389: ; preds = %if.merge.393, %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.360, label %while.exit.361 + br i1 %icmp, label %while.body.390, label %while.exit.391 -while.body.360: ; preds = %while.hdr.359 +while.body.390: ; preds = %while.hdr.389 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.362, label %if.merge.363 + br i1 %icmpN, label %if.then.392, label %if.merge.393 -while.exit.361: ; preds = %while.hdr.359 +while.exit.391: ; preds = %while.hdr.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 1 }) ret { ptr, i64 } %call -if.then.362: ; preds = %while.body.360 +if.then.392: ; preds = %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.363 + br label %if.merge.393 -if.merge.363: ; preds = %if.then.362, %while.body.360 +if.merge.393: ; preds = %if.then.392, %while.body.390 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7039,7 +7833,7 @@ if.merge.363: ; preds = %if.then.362, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.359 + br label %while.hdr.389 } ; Function Attrs: nounwind @@ -7049,35 +7843,35 @@ entry: %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.657, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.741, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 -while.hdr.364: ; preds = %if.merge.368, %entry +while.hdr.394: ; preds = %if.merge.398, %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.365, label %while.exit.366 + br i1 %icmp, label %while.body.395, label %while.exit.396 -while.body.365: ; preds = %while.hdr.364 +while.body.395: ; preds = %while.hdr.394 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.367, label %if.merge.368 + br i1 %icmpN, label %if.then.397, label %if.merge.398 -while.exit.366: ; preds = %while.hdr.364 +while.exit.396: ; preds = %while.hdr.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 1 }) ret { ptr, i64 } %call -if.then.367: ; preds = %while.body.365 +if.then.397: ; preds = %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.368 + br label %if.merge.398 -if.merge.368: ; preds = %if.then.367, %while.body.365 +if.merge.398: ; preds = %if.then.397, %while.body.395 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7093,7 +7887,7 @@ if.merge.368: ; preds = %if.then.367, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.364 + br label %while.hdr.394 } ; Function Attrs: nounwind @@ -7103,35 +7897,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.660, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.744, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 -while.hdr.369: ; preds = %if.merge.373, %entry +while.hdr.399: ; preds = %if.merge.403, %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.370, label %while.exit.371 + br i1 %icmp, label %while.body.400, label %while.exit.401 -while.body.370: ; preds = %while.hdr.369 +while.body.400: ; preds = %while.hdr.399 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.372, label %if.merge.373 + br i1 %icmpN, label %if.then.402, label %if.merge.403 -while.exit.371: ; preds = %while.hdr.369 +while.exit.401: ; preds = %while.hdr.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 1 }) ret { ptr, i64 } %call -if.then.372: ; preds = %while.body.370 +if.then.402: ; preds = %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.373 + br label %if.merge.403 -if.merge.373: ; preds = %if.then.372, %while.body.370 +if.merge.403: ; preds = %if.then.402, %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7147,7 +7941,7 @@ if.merge.373: ; preds = %if.then.372, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 } ; Function Attrs: nounwind @@ -7157,35 +7951,35 @@ entry: %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.663, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.747, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.374 + br label %while.hdr.404 -while.hdr.374: ; preds = %if.merge.378, %entry +while.hdr.404: ; preds = %if.merge.408, %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.375, label %while.exit.376 + br i1 %icmp, label %while.body.405, label %while.exit.406 -while.body.375: ; preds = %while.hdr.374 +while.body.405: ; preds = %while.hdr.404 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.377, label %if.merge.378 + br i1 %icmpN, label %if.then.407, label %if.merge.408 -while.exit.376: ; preds = %while.hdr.374 +while.exit.406: ; preds = %while.hdr.404 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 1 }) ret { ptr, i64 } %call -if.then.377: ; preds = %while.body.375 +if.then.407: ; preds = %while.body.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.378 + br label %if.merge.408 -if.merge.378: ; preds = %if.then.377, %while.body.375 +if.merge.408: ; preds = %if.then.407, %while.body.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7201,206 +7995,11 @@ if.merge.378: ; preds = %if.then.377, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.374 + br label %while.hdr.404 } ; 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.416, label %if.else.417 - -if.then.416: ; preds = %entry - br label %if.merge.418 - -if.else.417: ; 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.418 - -if.merge.418: ; preds = %if.else.417, %if.then.416 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.416 ], [ %callN, %if.else.417 ] - 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.432, label %if.else.433 - -if.then.432: ; preds = %entry - br label %if.merge.434 - -if.else.433: ; 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.434 - -if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] - 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.435, label %if.else.436 - -if.then.435: ; preds = %entry - br label %if.merge.437 - -if.else.436: ; 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.437 - -if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] - 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.438, label %if.else.439 - -if.then.438: ; preds = %entry - br label %if.merge.440 - -if.else.439: ; 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.440 - -if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] - 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.441, label %if.else.442 - -if.then.441: ; preds = %entry - br label %if.merge.443 - -if.else.442: ; 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.443 - -if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] - ret { ptr, i64 } %bp -} - -; 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.444, label %if.else.445 - -if.then.444: ; preds = %entry - br label %if.merge.446 - -if.else.445: ; 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.446 - -if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] - 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.447, label %if.else.448 - -if.then.447: ; preds = %entry - br label %if.merge.449 - -if.else.448: ; 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.449 - -if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] - 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 @@ -7418,12 +8017,207 @@ if.then.450: ; preds = %entry if.else.451: ; 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 5 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + 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.466, label %if.else.467 + +if.then.466: ; preds = %entry + br label %if.merge.468 + +if.else.467: ; 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.755, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.468 + +if.merge.468: ; preds = %if.else.467, %if.then.466 + %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + 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.469, label %if.else.470 + +if.then.469: ; preds = %entry + br label %if.merge.471 + +if.else.470: ; 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.758, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.471 + +if.merge.471: ; preds = %if.else.470, %if.then.469 + %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + 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.472, label %if.else.473 + +if.then.472: ; preds = %entry + br label %if.merge.474 + +if.else.473: ; 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.761, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.474 + +if.merge.474: ; preds = %if.else.473, %if.then.472 + %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + 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.475, label %if.else.476 + +if.then.475: ; preds = %entry + br label %if.merge.477 + +if.else.476: ; 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.764, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.477 + +if.merge.477: ; preds = %if.else.476, %if.then.475 + %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + ret { ptr, i64 } %bp +} + +; 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.478, label %if.else.479 + +if.then.478: ; preds = %entry + br label %if.merge.480 + +if.else.479: ; 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.767, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.480 + +if.merge.480: ; preds = %if.else.479, %if.then.478 + %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + 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.481, label %if.else.482 + +if.then.481: ; preds = %entry + br label %if.merge.483 + +if.else.482: ; 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.770, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.483 + +if.merge.483: ; preds = %if.else.482, %if.then.481 + %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + 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.484, label %if.else.485 + +if.then.484: ; preds = %entry + br label %if.merge.486 + +if.else.485: ; 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.773, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.772, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.486 + +if.merge.486: ; preds = %if.else.485, %if.then.484 + %bp = phi { ptr, i64 } [ { ptr @str.771, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] ret { ptr, i64 } %bp } @@ -7438,20 +8232,20 @@ entry: 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.453, label %if.else.454 + br i1 %icmp, label %if.then.487, label %if.else.488 -if.then.453: ; preds = %entry - br label %if.merge.455 +if.then.487: ; preds = %entry + br label %if.merge.489 -if.else.454: ; preds = %entry +if.else.488: ; 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.692, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.455 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.775, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.489 -if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] +if.merge.489: ; preds = %if.else.488, %if.then.487 + %bp = phi { ptr, i64 } [ { ptr @str.774, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] ret { ptr, i64 } %bp } @@ -7466,20 +8260,20 @@ entry: 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.456, label %if.else.457 + br i1 %icmp, label %if.then.490, label %if.else.491 -if.then.456: ; preds = %entry - br label %if.merge.458 +if.then.490: ; preds = %entry + br label %if.merge.492 -if.else.457: ; preds = %entry +if.else.491: ; 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.458 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.492 -if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] +if.merge.492: ; preds = %if.else.491, %if.then.490 + %bp = phi { ptr, i64 } [ { ptr @str.777, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] ret { ptr, i64 } %bp } @@ -7494,20 +8288,20 @@ entry: 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.459, label %if.else.460 + br i1 %icmp, label %if.then.493, label %if.else.494 -if.then.459: ; preds = %entry - br label %if.merge.461 +if.then.493: ; preds = %entry + br label %if.merge.495 -if.else.460: ; preds = %entry +if.else.494: ; 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.461 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.495 -if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] +if.merge.495: ; preds = %if.else.494, %if.then.493 + %bp = phi { ptr, i64 } [ { ptr @str.780, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] ret { ptr, i64 } %bp } @@ -7522,20 +8316,20 @@ entry: 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.462, label %if.else.463 + br i1 %icmp, label %if.then.496, label %if.else.497 -if.then.462: ; preds = %entry - br label %if.merge.464 +if.then.496: ; preds = %entry + br label %if.merge.498 -if.else.463: ; preds = %entry +if.else.497: ; 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.464 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.498 -if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] +if.merge.498: ; preds = %if.else.497, %if.then.496 + %bp = phi { ptr, i64 } [ { ptr @str.783, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] ret { ptr, i64 } %bp } @@ -7549,20 +8343,20 @@ entry: 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.465, label %if.else.466 + br i1 %icmp, label %if.then.499, label %if.else.500 -if.then.465: ; preds = %entry - br label %if.merge.467 +if.then.499: ; preds = %entry + br label %if.merge.501 -if.else.466: ; preds = %entry +if.else.500: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.467 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.501 -if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] +if.merge.501: ; preds = %if.else.500, %if.then.499 + %bp = phi { ptr, i64 } [ { ptr @str.786, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] ret { ptr, i64 } %bp } @@ -7577,20 +8371,20 @@ entry: 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.468, label %if.else.469 + br i1 %icmp, label %if.then.502, label %if.else.503 -if.then.468: ; preds = %entry - br label %if.merge.470 +if.then.502: ; preds = %entry + br label %if.merge.504 -if.else.469: ; preds = %entry +if.else.503: ; 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.470 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.504 -if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] +if.merge.504: ; preds = %if.else.503, %if.then.502 + %bp = phi { ptr, i64 } [ { ptr @str.789, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] ret { ptr, i64 } %bp } @@ -7604,20 +8398,20 @@ entry: 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.471, label %if.else.472 + br i1 %icmp, label %if.then.505, label %if.else.506 -if.then.471: ; preds = %entry - br label %if.merge.473 +if.then.505: ; preds = %entry + br label %if.merge.507 -if.else.472: ; preds = %entry +if.else.506: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.473 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.507 -if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] +if.merge.507: ; preds = %if.else.506, %if.then.505 + %bp = phi { ptr, i64 } [ { ptr @str.792, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] ret { ptr, i64 } %bp } @@ -7632,20 +8426,20 @@ entry: 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.474, label %if.else.475 + br i1 %icmp, label %if.then.508, label %if.else.509 -if.then.474: ; preds = %entry - br label %if.merge.476 +if.then.508: ; preds = %entry + br label %if.merge.510 -if.else.475: ; preds = %entry +if.else.509: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.476 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.510 -if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] +if.merge.510: ; preds = %if.else.509, %if.then.508 + %bp = phi { ptr, i64 } [ { ptr @str.795, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] ret { ptr, i64 } %bp } @@ -7660,20 +8454,20 @@ entry: 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.477, label %if.else.478 + br i1 %icmp, label %if.then.511, label %if.else.512 -if.then.477: ; preds = %entry - br label %if.merge.479 +if.then.511: ; preds = %entry + br label %if.merge.513 -if.else.478: ; preds = %entry +if.else.512: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.479 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.513 -if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] +if.merge.513: ; preds = %if.else.512, %if.then.511 + %bp = phi { ptr, i64 } [ { ptr @str.798, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] ret { ptr, i64 } %bp } @@ -7688,20 +8482,20 @@ entry: 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.480, label %if.else.481 + br i1 %icmp, label %if.then.514, label %if.else.515 -if.then.480: ; preds = %entry - br label %if.merge.482 +if.then.514: ; preds = %entry + br label %if.merge.516 -if.else.481: ; preds = %entry +if.else.515: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.482 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.516 -if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] +if.merge.516: ; preds = %if.else.515, %if.then.514 + %bp = phi { ptr, i64 } [ { ptr @str.801, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] ret { ptr, i64 } %bp } @@ -7716,20 +8510,20 @@ entry: 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.483, label %if.else.484 + br i1 %icmp, label %if.then.517, label %if.else.518 -if.then.483: ; preds = %entry - br label %if.merge.485 +if.then.517: ; preds = %entry + br label %if.merge.519 -if.else.484: ; preds = %entry +if.else.518: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.485 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.519 -if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] +if.merge.519: ; preds = %if.else.518, %if.then.517 + %bp = phi { ptr, i64 } [ { ptr @str.804, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] ret { ptr, i64 } %bp } @@ -7744,20 +8538,20 @@ entry: 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.486, label %if.else.487 + br i1 %icmp, label %if.then.520, label %if.else.521 -if.then.486: ; preds = %entry - br label %if.merge.488 +if.then.520: ; preds = %entry + br label %if.merge.522 -if.else.487: ; preds = %entry +if.else.521: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.488 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.522 -if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] +if.merge.522: ; preds = %if.else.521, %if.then.520 + %bp = phi { ptr, i64 } [ { ptr @str.807, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] ret { ptr, i64 } %bp } @@ -7772,20 +8566,20 @@ entry: 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.489, label %if.else.490 + br i1 %icmp, label %if.then.523, label %if.else.524 -if.then.489: ; preds = %entry - br label %if.merge.491 +if.then.523: ; preds = %entry + br label %if.merge.525 -if.else.490: ; preds = %entry +if.else.524: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.491 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.525 -if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] +if.merge.525: ; preds = %if.else.524, %if.then.523 + %bp = phi { ptr, i64 } [ { ptr @str.810, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] ret { ptr, i64 } %bp } @@ -7800,20 +8594,20 @@ entry: 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.492, label %if.else.493 + br i1 %icmp, label %if.then.526, label %if.else.527 -if.then.492: ; preds = %entry - br label %if.merge.494 +if.then.526: ; preds = %entry + br label %if.merge.528 -if.else.493: ; preds = %entry +if.else.527: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.494 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.528 -if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] +if.merge.528: ; preds = %if.else.527, %if.then.526 + %bp = phi { ptr, i64 } [ { ptr @str.813, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] ret { ptr, i64 } %bp } @@ -7828,20 +8622,20 @@ entry: 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.495, label %if.else.496 + br i1 %icmp, label %if.then.529, label %if.else.530 -if.then.495: ; preds = %entry - br label %if.merge.497 +if.then.529: ; preds = %entry + br label %if.merge.531 -if.else.496: ; preds = %entry +if.else.530: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.497 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.531 -if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] +if.merge.531: ; preds = %if.else.530, %if.then.529 + %bp = phi { ptr, i64 } [ { ptr @str.816, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] ret { ptr, i64 } %bp } @@ -7856,20 +8650,20 @@ entry: 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.498, label %if.else.499 + br i1 %icmp, label %if.then.532, label %if.else.533 -if.then.498: ; preds = %entry - br label %if.merge.500 +if.then.532: ; preds = %entry + br label %if.merge.534 -if.else.499: ; preds = %entry +if.else.533: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.500 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.534 -if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] +if.merge.534: ; preds = %if.else.533, %if.then.532 + %bp = phi { ptr, i64 } [ { ptr @str.819, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] ret { ptr, i64 } %bp } @@ -7884,20 +8678,20 @@ entry: 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.501, label %if.else.502 + br i1 %icmp, label %if.then.535, label %if.else.536 -if.then.501: ; preds = %entry - br label %if.merge.503 +if.then.535: ; preds = %entry + br label %if.merge.537 -if.else.502: ; preds = %entry +if.else.536: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.503 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.537 -if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] +if.merge.537: ; preds = %if.else.536, %if.then.535 + %bp = phi { ptr, i64 } [ { ptr @str.822, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] ret { ptr, i64 } %bp } @@ -7912,20 +8706,131 @@ entry: 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.504, label %if.else.505 + br i1 %icmp, label %if.then.538, label %if.else.539 -if.then.504: ; preds = %entry - br label %if.merge.506 +if.then.538: ; preds = %entry + br label %if.merge.540 -if.else.505: ; preds = %entry +if.else.539: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.506 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.540 -if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] +if.merge.540: ; preds = %if.else.539, %if.then.538 + %bp = phi { ptr, i64 } [ { ptr @str.825, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] + 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.541, label %if.else.542 + +if.then.541: ; preds = %entry + br label %if.merge.543 + +if.else.542: ; 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.830, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.543 + +if.merge.543: ; preds = %if.else.542, %if.then.541 + %bp = phi { ptr, i64 } [ { ptr @str.828, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] + 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.544, label %if.else.545 + +if.then.544: ; preds = %entry + br label %if.merge.546 + +if.else.545: ; 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.833, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.546 + +if.merge.546: ; preds = %if.else.545, %if.then.544 + %bp = phi { ptr, i64 } [ { ptr @str.831, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] + 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.547, label %if.else.548 + +if.then.547: ; preds = %entry + br label %if.merge.549 + +if.else.548: ; 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.836, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.549 + +if.merge.549: ; preds = %if.else.548, %if.then.547 + %bp = phi { ptr, i64 } [ { ptr @str.834, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] + 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.550, label %if.else.551 + +if.then.550: ; preds = %entry + br label %if.merge.552 + +if.else.551: ; 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.839, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.552 + +if.merge.552: ; preds = %if.else.551, %if.then.550 + %bp = phi { ptr, i64 } [ { ptr @str.837, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] ret { ptr, i64 } %bp } @@ -7940,20 +8845,20 @@ entry: 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.507, label %if.else.508 + br i1 %icmp, label %if.then.553, label %if.else.554 -if.then.507: ; preds = %entry - br label %if.merge.509 +if.then.553: ; preds = %entry + br label %if.merge.555 -if.else.508: ; preds = %entry +if.else.554: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.509 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.555 -if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] +if.merge.555: ; preds = %if.else.554, %if.then.553 + %bp = phi { ptr, i64 } [ { ptr @str.840, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] ret { ptr, i64 } %bp } @@ -7968,20 +8873,20 @@ entry: 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.510, label %if.else.511 + br i1 %icmp, label %if.then.556, label %if.else.557 -if.then.510: ; preds = %entry - br label %if.merge.512 +if.then.556: ; preds = %entry + br label %if.merge.558 -if.else.511: ; preds = %entry +if.else.557: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.512 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.558 -if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] +if.merge.558: ; preds = %if.else.557, %if.then.556 + %bp = phi { ptr, i64 } [ { ptr @str.843, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] ret { ptr, i64 } %bp } @@ -7996,20 +8901,20 @@ entry: 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.513, label %if.else.514 + br i1 %icmp, label %if.then.559, label %if.else.560 -if.then.513: ; preds = %entry - br label %if.merge.515 +if.then.559: ; preds = %entry + br label %if.merge.561 -if.else.514: ; preds = %entry +if.else.560: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 10 }, { ptr, i64 } %callN) - br label %if.merge.515 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 10 }, { ptr, i64 } %callN) + br label %if.merge.561 -if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] +if.merge.561: ; preds = %if.else.560, %if.then.559 + %bp = phi { ptr, i64 } [ { ptr @str.846, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] ret { ptr, i64 } %bp } @@ -8024,20 +8929,20 @@ entry: 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.516, label %if.else.517 + br i1 %icmp, label %if.then.562, label %if.else.563 -if.then.516: ; preds = %entry - br label %if.merge.518 +if.then.562: ; preds = %entry + br label %if.merge.564 -if.else.517: ; preds = %entry +if.else.563: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.518 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.564 -if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] +if.merge.564: ; preds = %if.else.563, %if.then.562 + %bp = phi { ptr, i64 } [ { ptr @str.849, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] ret { ptr, i64 } %bp } @@ -8052,20 +8957,20 @@ entry: 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.519, label %if.else.520 + br i1 %icmp, label %if.then.565, label %if.else.566 -if.then.519: ; preds = %entry - br label %if.merge.521 +if.then.565: ; preds = %entry + br label %if.merge.567 -if.else.520: ; preds = %entry +if.else.566: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.521 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.567 -if.merge.521: ; preds = %if.else.520, %if.then.519 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] +if.merge.567: ; preds = %if.else.566, %if.then.565 + %bp = phi { ptr, i64 } [ { ptr @str.852, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] ret { ptr, i64 } %bp } @@ -8080,20 +8985,20 @@ entry: 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.522, label %if.else.523 + br i1 %icmp, label %if.then.568, label %if.else.569 -if.then.522: ; preds = %entry - br label %if.merge.524 +if.then.568: ; preds = %entry + br label %if.merge.570 -if.else.523: ; preds = %entry +if.else.569: ; 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.761, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.524 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.570 -if.merge.524: ; preds = %if.else.523, %if.then.522 - %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] +if.merge.570: ; preds = %if.else.569, %if.then.568 + %bp = phi { ptr, i64 } [ { ptr @str.855, i64 4 }, %if.then.568 ], [ %callN, %if.else.569 ] ret { ptr, i64 } %bp } @@ -8108,20 +9013,20 @@ entry: 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.525, label %if.else.526 + br i1 %icmp, label %if.then.571, label %if.else.572 -if.then.525: ; preds = %entry - br label %if.merge.527 +if.then.571: ; preds = %entry + br label %if.merge.573 -if.else.526: ; preds = %entry +if.else.572: ; 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.764, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.527 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.573 -if.merge.527: ; preds = %if.else.526, %if.then.525 - %bp = phi { ptr, i64 } [ { ptr @str.762, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] +if.merge.573: ; preds = %if.else.572, %if.then.571 + %bp = phi { ptr, i64 } [ { ptr @str.858, i64 4 }, %if.then.571 ], [ %callN, %if.else.572 ] ret { ptr, i64 } %bp } @@ -8136,20 +9041,20 @@ entry: 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.528, label %if.else.529 + br i1 %icmp, label %if.then.574, label %if.else.575 -if.then.528: ; preds = %entry - br label %if.merge.530 +if.then.574: ; preds = %entry + br label %if.merge.576 -if.else.529: ; preds = %entry +if.else.575: ; 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.767, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.766, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.530 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.576 -if.merge.530: ; preds = %if.else.529, %if.then.528 - %bp = phi { ptr, i64 } [ { ptr @str.765, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] +if.merge.576: ; preds = %if.else.575, %if.then.574 + %bp = phi { ptr, i64 } [ { ptr @str.861, i64 4 }, %if.then.574 ], [ %callN, %if.else.575 ] ret { ptr, i64 } %bp } @@ -8164,20 +9069,20 @@ entry: 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.531, label %if.else.532 + br i1 %icmp, label %if.then.577, label %if.else.578 -if.then.531: ; preds = %entry - br label %if.merge.533 +if.then.577: ; preds = %entry + br label %if.merge.579 -if.else.532: ; preds = %entry +if.else.578: ; 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.770, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.769, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.533 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.579 -if.merge.533: ; preds = %if.else.532, %if.then.531 - %bp = phi { ptr, i64 } [ { ptr @str.768, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] +if.merge.579: ; preds = %if.else.578, %if.then.577 + %bp = phi { ptr, i64 } [ { ptr @str.864, i64 4 }, %if.then.577 ], [ %callN, %if.else.578 ] ret { ptr, i64 } %bp } @@ -8190,12 +9095,12 @@ entry: %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.541, label %if.merge.542 + br i1 %lnot, label %if.then.587, label %if.merge.588 -if.then.541: ; preds = %entry - ret { ptr, i64 } { ptr @str.771, i64 4 } +if.then.587: ; preds = %entry + ret { ptr, i64 } { ptr @str.867, i64 4 } -if.merge.542: ; preds = %entry +if.merge.588: ; 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 @@ -8214,12 +9119,12 @@ entry: %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.543, label %if.merge.544 + br i1 %lnot, label %if.then.589, label %if.merge.590 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.772, i64 4 } +if.then.589: ; preds = %entry + ret { ptr, i64 } { ptr @str.868, i64 4 } -if.merge.544: ; preds = %entry +if.merge.590: ; 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 @@ -8237,12 +9142,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.773, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.869, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 @@ -8259,12 +9164,12 @@ entry: %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.547, label %if.merge.548 + br i1 %lnot, label %if.then.593, label %if.merge.594 -if.then.547: ; preds = %entry - ret { ptr, i64 } { ptr @str.774, i64 4 } +if.then.593: ; preds = %entry + ret { ptr, i64 } { ptr @str.870, i64 4 } -if.merge.548: ; preds = %entry +if.merge.594: ; 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 @@ -8283,12 +9188,12 @@ entry: %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.549, label %if.merge.550 + br i1 %lnot, label %if.then.595, label %if.merge.596 -if.then.549: ; preds = %entry - ret { ptr, i64 } { ptr @str.775, i64 4 } +if.then.595: ; preds = %entry + ret { ptr, i64 } { ptr @str.871, i64 4 } -if.merge.550: ; preds = %entry +if.merge.596: ; 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 diff --git a/examples/expected/1006-errors-inferred-error-sets.ir b/examples/expected/1006-errors-inferred-error-sets.ir index ff2246f..4afc603 100644 --- a/examples/expected/1006-errors-inferred-error-sets.ir +++ b/examples/expected/1006-errors-inferred-error-sets.ir @@ -7,7 +7,7 @@ @str.81 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.82 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.83 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [188 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] +@__sx_type_is_unsigned = private constant [206 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.84 = private constant [11 x i8] c"WouldBlock\00" @tag.str.85 = private constant [7 x i8] c"Closed\00" @@ -28,475 +28,475 @@ @tag.str.100 = private constant [5 x i8] c"Init\00" @tag.str.101 = private constant [9 x i8] c"Register\00" @tag.str.102 = private constant [5 x i8] c"Wait\00" -@tag.str.103 = private constant [4 x i8] c"Foo\00" -@tag.str.104 = private constant [4 x i8] c"Bar\00" -@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.84, i64 10 }, { ptr, i64 } { ptr @tag.str.85, i64 6 }, { ptr, i64 } { ptr @tag.str.86, i64 5 }, { ptr, i64 } { ptr @tag.str.87, i64 8 }, { ptr, i64 } { ptr @tag.str.88, i64 2 }, { ptr, i64 } { ptr @tag.str.89, i64 15 }, { ptr, i64 } { ptr @tag.str.90, i64 13 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 9 }, { ptr, i64 } { ptr @tag.str.93, i64 15 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 14 }, { ptr, i64 } { ptr @tag.str.96, i64 11 }, { ptr, i64 } { ptr @tag.str.97, i64 12 }, { ptr, i64 } { ptr @tag.str.98, i64 15 }, { ptr, i64 } { ptr @tag.str.99, i64 12 }, { ptr, i64 } { ptr @tag.str.100, i64 4 }, { ptr, i64 } { ptr @tag.str.101, i64 8 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 3 }, { ptr, i64 } { ptr @tag.str.104, i64 3 }] +@tag.str.103 = private constant [5 x i8] c"Bind\00" +@tag.str.104 = private constant [5 x i8] c"Loop\00" +@tag.str.105 = private constant [4 x i8] c"Foo\00" +@tag.str.106 = private constant [4 x i8] c"Bar\00" +@tag_names = private constant [24 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.84, i64 10 }, { ptr, i64 } { ptr @tag.str.85, i64 6 }, { ptr, i64 } { ptr @tag.str.86, i64 5 }, { ptr, i64 } { ptr @tag.str.87, i64 8 }, { ptr, i64 } { ptr @tag.str.88, i64 2 }, { ptr, i64 } { ptr @tag.str.89, i64 15 }, { ptr, i64 } { ptr @tag.str.90, i64 13 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 9 }, { ptr, i64 } { ptr @tag.str.93, i64 15 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 14 }, { ptr, i64 } { ptr @tag.str.96, i64 11 }, { ptr, i64 } { ptr @tag.str.97, i64 12 }, { ptr, i64 } { ptr @tag.str.98, i64 15 }, { ptr, i64 } { ptr @tag.str.99, i64 12 }, { ptr, i64 } { ptr @tag.str.100, i64 4 }, { ptr, i64 } { ptr @tag.str.101, i64 8 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }, { ptr, i64 } { ptr @tag.str.104, i64 4 }, { ptr, i64 } { ptr @tag.str.105, i64 3 }, { ptr, i64 } { ptr @tag.str.106, i64 3 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.105 = private constant [5 x i8] c"bool\00" -@tn.str.106 = private constant [3 x i8] c"i8\00" -@tn.str.107 = private constant [4 x i8] c"i16\00" -@tn.str.108 = private constant [4 x i8] c"i32\00" -@tn.str.109 = private constant [4 x i8] c"i64\00" -@tn.str.110 = private constant [3 x i8] c"u8\00" -@tn.str.111 = private constant [4 x i8] c"u16\00" -@tn.str.112 = private constant [4 x i8] c"u32\00" -@tn.str.113 = private constant [4 x i8] c"u64\00" -@tn.str.114 = private constant [4 x i8] c"f32\00" -@tn.str.115 = private constant [4 x i8] c"f64\00" -@tn.str.116 = private constant [7 x i8] c"string\00" -@tn.str.117 = private constant [4 x i8] c"Any\00" -@tn.str.118 = private constant [9 x i8] c"noreturn\00" -@tn.str.119 = private constant [6 x i8] c"isize\00" -@tn.str.120 = private constant [6 x i8] c"usize\00" -@tn.str.121 = private constant [5 x i8] c"void\00" -@tn.str.122 = private constant [8 x i8] c"cstring\00" -@tn.str.123 = private constant [6 x i8] c"*void\00" -@tn.str.124 = private constant [16 x i8] c"Source_Location\00" -@tn.str.125 = private constant [10 x i8] c"Allocator\00" -@tn.str.126 = private constant [8 x i8] c"Context\00" -@tn.str.127 = private constant [7 x i8] c"[4]i64\00" -@tn.str.128 = private constant [9 x i8] c"[]string\00" -@tn.str.129 = private constant [11 x i8] c"CAllocator\00" -@tn.str.130 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.131 = private constant [4 x i8] c"GPA\00" -@tn.str.132 = private constant [5 x i8] c"*GPA\00" -@tn.str.133 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.134 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.135 = private constant [6 x i8] c"Arena\00" -@tn.str.136 = private constant [7 x i8] c"*Arena\00" -@tn.str.137 = private constant [6 x i8] c"[*]u8\00" -@tn.str.138 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.139 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.140 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.141 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.142 = private constant [9 x i8] c"OpenMode\00" -@tn.str.143 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.144 = private constant [5 x i8] c"File\00" -@tn.str.145 = private constant [6 x i8] c"*File\00" -@tn.str.146 = private constant [6 x i8] c"?File\00" -@tn.str.147 = private constant [8 x i8] c"?string\00" -@tn.str.148 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.149 = private constant [9 x i8] c"?cstring\00" -@tn.str.150 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.151 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.152 = private constant [5 x i8] c"*i32\00" -@tn.str.153 = private constant [9 x i8] c"SockAddr\00" -@tn.str.154 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.155 = private constant [5 x i8] c"*u32\00" -@tn.str.156 = private constant [8 x i8] c"SockErr\00" -@tn.str.157 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.158 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.159 = private constant [10 x i8] c"JsonError\00" -@tn.str.160 = private constant [6 x i8] c"Array\00" -@tn.str.161 = private constant [7 x i8] c"Object\00" -@tn.str.162 = private constant [6 x i8] c"Value\00" -@tn.str.163 = private constant [7 x i8] c"Member\00" -@tn.str.164 = private constant [9 x i8] c"[*]Value\00" -@tn.str.165 = private constant [7 x i8] c"*Array\00" -@tn.str.166 = private constant [10 x i8] c"[*]Member\00" -@tn.str.167 = private constant [8 x i8] c"*Object\00" -@tn.str.168 = private constant [5 x i8] c"[]u8\00" -@tn.str.169 = private constant [5 x i8] c"Sink\00" -@tn.str.170 = private constant [6 x i8] c"*Sink\00" -@tn.str.171 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.172 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.173 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.174 = private constant [7 x i8] c"Parser\00" -@tn.str.175 = private constant [8 x i8] c"*Parser\00" -@tn.str.176 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.177 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.178 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.179 = private constant [13 x i8] c"Architecture\00" -@tn.str.180 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.181 = private constant [11 x i8] c"() -> bool\00" -@tn.str.182 = private constant [5 x i8] c"*i64\00" -@tn.str.183 = private constant [9 x i8] c"CliError\00" -@tn.str.184 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.185 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.186 = private constant [8 x i8] c"Command\00" -@tn.str.187 = private constant [10 x i8] c"FlagValue\00" -@tn.str.188 = private constant [5 x i8] c"Diag\00" -@tn.str.189 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.190 = private constant [7 x i8] c"Parsed\00" -@tn.str.191 = private constant [8 x i8] c"*Parsed\00" -@tn.str.192 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.193 = private constant [10 x i8] c"[]Command\00" -@tn.str.194 = private constant [6 x i8] c"*Diag\00" -@tn.str.195 = private constant [7 x i8] c"[8]i64\00" -@tn.str.196 = private constant [7 x i8] c"[64]u8\00" -@tn.str.197 = private constant [7 x i8] c"Sha256\00" -@tn.str.198 = private constant [8 x i8] c"*Sha256\00" -@tn.str.199 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.200 = private constant [8 x i8] c"[64]i64\00" -@tn.str.201 = private constant [9 x i8] c"Timespec\00" -@tn.str.202 = private constant [10 x i8] c"*Timespec\00" -@tn.str.203 = private constant [7 x i8] c"Kevent\00" -@tn.str.204 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.205 = private constant [8 x i8] c"*Kevent\00" -@tn.str.206 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.207 = private constant [9 x i8] c"EventErr\00" -@tn.str.208 = private constant [6 x i8] c"Event\00" -@tn.str.209 = private constant [5 x i8] c"Loop\00" -@tn.str.210 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.211 = private constant [6 x i8] c"*Loop\00" -@tn.str.212 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.213 = private constant [8 x i8] c"[]Event\00" -@tn.str.214 = private constant [2 x i8] c"A\00" -@tn.str.215 = private constant [2 x i8] c"!\00" -@tn.str.216 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.217 = private constant [7 x i8] c"**void\00" -@tn.str.218 = private constant [3 x i8] c"*A\00" -@tn.str.219 = private constant [8 x i8] c"*string\00" -@tn.str.220 = private constant [6 x i8] c"[]Any\00" -@tn.str.221 = private constant [5 x i8] c"*Any\00" -@tn.str.222 = private constant [7 x i8] c"[1]Any\00" -@tn.str.223 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.224 = private constant [7 x i8] c"*[]Any\00" -@tn.str.225 = private constant [4 x i8] c"*u8\00" -@tn.str.226 = private constant [6 x i8] c"*bool\00" -@tn.str.227 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.228 = private constant [5 x i8] c"*f64\00" -@tn.str.229 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.230 = private constant [11 x i8] c"*Allocator\00" -@tn.str.231 = private constant [9 x i8] c"*Context\00" -@tn.str.232 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.233 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.234 = private constant [8 x i8] c"*Member\00" -@tn.str.235 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.236 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.237 = private constant [9 x i8] c"*Command\00" -@tn.str.238 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.239 = private constant [7 x i8] c"*Event\00" -@tn.str.240 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.241 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.242 = private constant [7 x i8] c"*Value\00" -@tn.str.243 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.244 = private constant [14 x i8] c"*Architecture\00" -@tn.str.245 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.246 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.247 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.248 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.249 = private constant [10 x i8] c"*[]string\00" -@tn.str.250 = private constant [6 x i8] c"*[]u8\00" -@tn.str.251 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.252 = private constant [11 x i8] c"*[]Command\00" -@tn.str.253 = private constant [9 x i8] c"*[]Event\00" -@tn.str.254 = private constant [6 x i8] c"**GPA\00" -@tn.str.255 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.256 = private constant [8 x i8] c"**Arena\00" -@tn.str.257 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.258 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.259 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.260 = private constant [7 x i8] c"**File\00" -@tn.str.261 = private constant [6 x i8] c"**i32\00" -@tn.str.262 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.263 = private constant [6 x i8] c"**u32\00" -@tn.str.264 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.265 = private constant [8 x i8] c"**Array\00" -@tn.str.266 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.267 = private constant [9 x i8] c"**Object\00" -@tn.str.268 = private constant [7 x i8] c"**Sink\00" -@tn.str.269 = private constant [9 x i8] c"**Parser\00" -@tn.str.270 = private constant [6 x i8] c"**i64\00" -@tn.str.271 = private constant [9 x i8] c"**Parsed\00" -@tn.str.272 = private constant [7 x i8] c"**Diag\00" -@tn.str.273 = private constant [9 x i8] c"**Sha256\00" -@tn.str.274 = private constant [11 x i8] c"**Timespec\00" -@tn.str.275 = private constant [9 x i8] c"**Kevent\00" -@tn.str.276 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.277 = private constant [7 x i8] c"**Loop\00" -@tn.str.278 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.279 = private constant [8 x i8] c"***void\00" -@tn.str.280 = private constant [4 x i8] c"**A\00" -@tn.str.281 = private constant [9 x i8] c"**string\00" -@tn.str.282 = private constant [6 x i8] c"**Any\00" -@tn.str.283 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.284 = private constant [8 x i8] c"**[]Any\00" -@tn.str.285 = private constant [5 x i8] c"**u8\00" -@tn.str.286 = private constant [7 x i8] c"**bool\00" -@tn.str.287 = private constant [7 x i8] c"*?File\00" -@tn.str.288 = private constant [9 x i8] c"*?string\00" -@tn.str.289 = private constant [10 x i8] c"*?cstring\00" -@tn.str.290 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.291 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [188 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.105, i64 4 }, { ptr, i64 } { ptr @tn.str.106, i64 2 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 2 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 3 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 3 }, { ptr, i64 } { ptr @tn.str.118, i64 8 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 7 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 15 }, { ptr, i64 } { ptr @tn.str.125, i64 9 }, { ptr, i64 } { ptr @tn.str.126, i64 7 }, { ptr, i64 } { ptr @tn.str.127, i64 6 }, { ptr, i64 } { ptr @tn.str.128, i64 8 }, { ptr, i64 } { ptr @tn.str.129, i64 10 }, { ptr, i64 } { ptr @tn.str.130, i64 11 }, { ptr, i64 } { ptr @tn.str.131, i64 3 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 10 }, { ptr, i64 } { ptr @tn.str.134, i64 11 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 6 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 9 }, { ptr, i64 } { ptr @tn.str.140, i64 17 }, { ptr, i64 } { ptr @tn.str.141, i64 18 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 7 }, { ptr, i64 } { ptr @tn.str.148, i64 10 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 13 }, { ptr, i64 } { ptr @tn.str.151, i64 14 }, { ptr, i64 } { ptr @tn.str.152, i64 4 }, { ptr, i64 } { ptr @tn.str.153, i64 8 }, { ptr, i64 } { ptr @tn.str.154, i64 9 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 7 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 9 }, { ptr, i64 } { ptr @tn.str.160, i64 5 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 5 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 8 }, { ptr, i64 } { ptr @tn.str.165, i64 6 }, { ptr, i64 } { ptr @tn.str.166, i64 9 }, { ptr, i64 } { ptr @tn.str.167, i64 7 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 5 }, { ptr, i64 } { ptr @tn.str.171, i64 16 }, { ptr, i64 } { ptr @tn.str.172, i64 14 }, { ptr, i64 } { ptr @tn.str.173, i64 21 }, { ptr, i64 } { ptr @tn.str.174, i64 6 }, { ptr, i64 } { ptr @tn.str.175, i64 7 }, { ptr, i64 } { ptr @tn.str.176, i64 24 }, { ptr, i64 } { ptr @tn.str.177, i64 23 }, { ptr, i64 } { ptr @tn.str.178, i64 15 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 12 }, { ptr, i64 } { ptr @tn.str.181, i64 10 }, { ptr, i64 } { ptr @tn.str.182, i64 4 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 8 }, { ptr, i64 } { ptr @tn.str.185, i64 10 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 9 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 13 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 18 }, { ptr, i64 } { ptr @tn.str.193, i64 9 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 9 }, { ptr, i64 } { ptr @tn.str.203, i64 6 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 7 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 5 }, { ptr, i64 } { ptr @tn.str.209, i64 4 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 5 }, { ptr, i64 } { ptr @tn.str.212, i64 15 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 1 }, { ptr, i64 } { ptr @tn.str.215, i64 1 }, { ptr, i64 } { ptr @tn.str.216, i64 12 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 2 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 3 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 16 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 11 }, { ptr, i64 } { ptr @tn.str.233, i64 14 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 13 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 9 }, { ptr, i64 } { ptr @tn.str.241, i64 9 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 16 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 9 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 11 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 5 }, { ptr, i64 } { ptr @tn.str.255, i64 12 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 19 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 10 }, { ptr, i64 } { ptr @tn.str.263, i64 5 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 7 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 12 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 13 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 3 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 5 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 7 }, { ptr, i64 } { ptr @tn.str.285, i64 4 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 6 }, { ptr, i64 } { ptr @tn.str.288, i64 8 }, { ptr, i64 } { ptr @tn.str.289, i64 9 }, { ptr, i64 } { ptr @tn.str.290, i64 15 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }] -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.297 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.298 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.299 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.301 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.302 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.303 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.304 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.306 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.307 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.308 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.309 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.310 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.312 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.107 = private constant [5 x i8] c"bool\00" +@tn.str.108 = private constant [3 x i8] c"i8\00" +@tn.str.109 = private constant [4 x i8] c"i16\00" +@tn.str.110 = private constant [4 x i8] c"i32\00" +@tn.str.111 = private constant [4 x i8] c"i64\00" +@tn.str.112 = private constant [3 x i8] c"u8\00" +@tn.str.113 = private constant [4 x i8] c"u16\00" +@tn.str.114 = private constant [4 x i8] c"u32\00" +@tn.str.115 = private constant [4 x i8] c"u64\00" +@tn.str.116 = private constant [4 x i8] c"f32\00" +@tn.str.117 = private constant [4 x i8] c"f64\00" +@tn.str.118 = private constant [7 x i8] c"string\00" +@tn.str.119 = private constant [4 x i8] c"Any\00" +@tn.str.120 = private constant [9 x i8] c"noreturn\00" +@tn.str.121 = private constant [6 x i8] c"isize\00" +@tn.str.122 = private constant [6 x i8] c"usize\00" +@tn.str.123 = private constant [5 x i8] c"void\00" +@tn.str.124 = private constant [8 x i8] c"cstring\00" +@tn.str.125 = private constant [6 x i8] c"*void\00" +@tn.str.126 = private constant [16 x i8] c"Source_Location\00" +@tn.str.127 = private constant [10 x i8] c"Allocator\00" +@tn.str.128 = private constant [8 x i8] c"Context\00" +@tn.str.129 = private constant [7 x i8] c"[4]i64\00" +@tn.str.130 = private constant [9 x i8] c"[]string\00" +@tn.str.131 = private constant [11 x i8] c"CAllocator\00" +@tn.str.132 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.133 = private constant [4 x i8] c"GPA\00" +@tn.str.134 = private constant [5 x i8] c"*GPA\00" +@tn.str.135 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.136 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.137 = private constant [6 x i8] c"Arena\00" +@tn.str.138 = private constant [7 x i8] c"*Arena\00" +@tn.str.139 = private constant [6 x i8] c"[*]u8\00" +@tn.str.140 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.141 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.142 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.143 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.144 = private constant [9 x i8] c"OpenMode\00" +@tn.str.145 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.146 = private constant [5 x i8] c"File\00" +@tn.str.147 = private constant [6 x i8] c"*File\00" +@tn.str.148 = private constant [6 x i8] c"?File\00" +@tn.str.149 = private constant [8 x i8] c"?string\00" +@tn.str.150 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.151 = private constant [9 x i8] c"?cstring\00" +@tn.str.152 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.153 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.154 = private constant [5 x i8] c"*i32\00" +@tn.str.155 = private constant [9 x i8] c"SockAddr\00" +@tn.str.156 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.157 = private constant [5 x i8] c"*u32\00" +@tn.str.158 = private constant [8 x i8] c"SockErr\00" +@tn.str.159 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.160 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.161 = private constant [10 x i8] c"JsonError\00" +@tn.str.162 = private constant [6 x i8] c"Array\00" +@tn.str.163 = private constant [7 x i8] c"Object\00" +@tn.str.164 = private constant [6 x i8] c"Value\00" +@tn.str.165 = private constant [7 x i8] c"Member\00" +@tn.str.166 = private constant [9 x i8] c"[*]Value\00" +@tn.str.167 = private constant [7 x i8] c"*Array\00" +@tn.str.168 = private constant [10 x i8] c"[*]Member\00" +@tn.str.169 = private constant [8 x i8] c"*Object\00" +@tn.str.170 = private constant [5 x i8] c"[]u8\00" +@tn.str.171 = private constant [5 x i8] c"Sink\00" +@tn.str.172 = private constant [6 x i8] c"*Sink\00" +@tn.str.173 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.174 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.175 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.176 = private constant [7 x i8] c"Parser\00" +@tn.str.177 = private constant [8 x i8] c"*Parser\00" +@tn.str.178 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.179 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.180 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.181 = private constant [13 x i8] c"Architecture\00" +@tn.str.182 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.183 = private constant [11 x i8] c"() -> bool\00" +@tn.str.184 = private constant [5 x i8] c"*i64\00" +@tn.str.185 = private constant [9 x i8] c"CliError\00" +@tn.str.186 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.187 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.188 = private constant [8 x i8] c"Command\00" +@tn.str.189 = private constant [10 x i8] c"FlagValue\00" +@tn.str.190 = private constant [5 x i8] c"Diag\00" +@tn.str.191 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.192 = private constant [7 x i8] c"Parsed\00" +@tn.str.193 = private constant [8 x i8] c"*Parsed\00" +@tn.str.194 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.195 = private constant [10 x i8] c"[]Command\00" +@tn.str.196 = private constant [6 x i8] c"*Diag\00" +@tn.str.197 = private constant [7 x i8] c"[8]i64\00" +@tn.str.198 = private constant [7 x i8] c"[64]u8\00" +@tn.str.199 = private constant [7 x i8] c"Sha256\00" +@tn.str.200 = private constant [8 x i8] c"*Sha256\00" +@tn.str.201 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.202 = private constant [8 x i8] c"[64]i64\00" +@tn.str.203 = private constant [9 x i8] c"Timespec\00" +@tn.str.204 = private constant [10 x i8] c"*Timespec\00" +@tn.str.205 = private constant [7 x i8] c"Kevent\00" +@tn.str.206 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.207 = private constant [8 x i8] c"*Kevent\00" +@tn.str.208 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.209 = private constant [9 x i8] c"EventErr\00" +@tn.str.210 = private constant [6 x i8] c"Event\00" +@tn.str.211 = private constant [5 x i8] c"Loop\00" +@tn.str.212 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.213 = private constant [6 x i8] c"*Loop\00" +@tn.str.214 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.215 = private constant [8 x i8] c"[]Event\00" +@tn.str.216 = private constant [8 x i8] c"HttpErr\00" +@tn.str.217 = private constant [7 x i8] c"Config\00" +@tn.str.218 = private constant [8 x i8] c"Request\00" +@tn.str.219 = private constant [9 x i8] c"Response\00" +@tn.str.220 = private constant [9 x i8] c"*Request\00" +@tn.str.221 = private constant [5 x i8] c"Conn\00" +@tn.str.222 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.223 = private constant [10 x i8] c"*Response\00" +@tn.str.224 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.225 = private constant [7 x i8] c"Server\00" +@tn.str.226 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.227 = private constant [8 x i8] c"*Server\00" +@tn.str.228 = private constant [2 x i8] c"A\00" +@tn.str.229 = private constant [2 x i8] c"!\00" +@tn.str.230 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.231 = private constant [7 x i8] c"**void\00" +@tn.str.232 = private constant [3 x i8] c"*A\00" +@tn.str.233 = private constant [8 x i8] c"*string\00" +@tn.str.234 = private constant [6 x i8] c"[]Any\00" +@tn.str.235 = private constant [5 x i8] c"*Any\00" +@tn.str.236 = private constant [7 x i8] c"[1]Any\00" +@tn.str.237 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.238 = private constant [7 x i8] c"*[]Any\00" +@tn.str.239 = private constant [4 x i8] c"*u8\00" +@tn.str.240 = private constant [6 x i8] c"*bool\00" +@tn.str.241 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.242 = private constant [5 x i8] c"*f64\00" +@tn.str.243 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.244 = private constant [11 x i8] c"*Allocator\00" +@tn.str.245 = private constant [9 x i8] c"*Context\00" +@tn.str.246 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.247 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.248 = private constant [8 x i8] c"*Member\00" +@tn.str.249 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.250 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.251 = private constant [9 x i8] c"*Command\00" +@tn.str.252 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.253 = private constant [7 x i8] c"*Event\00" +@tn.str.254 = private constant [8 x i8] c"*Config\00" +@tn.str.255 = private constant [6 x i8] c"*Conn\00" +@tn.str.256 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.257 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.258 = private constant [7 x i8] c"*Value\00" +@tn.str.259 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.260 = private constant [14 x i8] c"*Architecture\00" +@tn.str.261 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.262 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.263 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.264 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.265 = private constant [10 x i8] c"*[]string\00" +@tn.str.266 = private constant [6 x i8] c"*[]u8\00" +@tn.str.267 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.268 = private constant [11 x i8] c"*[]Command\00" +@tn.str.269 = private constant [9 x i8] c"*[]Event\00" +@tn.str.270 = private constant [6 x i8] c"**GPA\00" +@tn.str.271 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.272 = private constant [8 x i8] c"**Arena\00" +@tn.str.273 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.274 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.275 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.276 = private constant [7 x i8] c"**File\00" +@tn.str.277 = private constant [6 x i8] c"**i32\00" +@tn.str.278 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.279 = private constant [6 x i8] c"**u32\00" +@tn.str.280 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.281 = private constant [8 x i8] c"**Array\00" +@tn.str.282 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.283 = private constant [9 x i8] c"**Object\00" +@tn.str.284 = private constant [7 x i8] c"**Sink\00" +@tn.str.285 = private constant [9 x i8] c"**Parser\00" +@tn.str.286 = private constant [6 x i8] c"**i64\00" +@tn.str.287 = private constant [9 x i8] c"**Parsed\00" +@tn.str.288 = private constant [7 x i8] c"**Diag\00" +@tn.str.289 = private constant [9 x i8] c"**Sha256\00" +@tn.str.290 = private constant [11 x i8] c"**Timespec\00" +@tn.str.291 = private constant [9 x i8] c"**Kevent\00" +@tn.str.292 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.293 = private constant [7 x i8] c"**Loop\00" +@tn.str.294 = private constant [10 x i8] c"**Request\00" +@tn.str.295 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.296 = private constant [11 x i8] c"**Response\00" +@tn.str.297 = private constant [9 x i8] c"**Server\00" +@tn.str.298 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.299 = private constant [8 x i8] c"***void\00" +@tn.str.300 = private constant [4 x i8] c"**A\00" +@tn.str.301 = private constant [9 x i8] c"**string\00" +@tn.str.302 = private constant [6 x i8] c"**Any\00" +@tn.str.303 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.304 = private constant [8 x i8] c"**[]Any\00" +@tn.str.305 = private constant [5 x i8] c"**u8\00" +@tn.str.306 = private constant [7 x i8] c"**bool\00" +@tn.str.307 = private constant [7 x i8] c"*?File\00" +@tn.str.308 = private constant [9 x i8] c"*?string\00" +@tn.str.309 = private constant [10 x i8] c"*?cstring\00" +@tn.str.310 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.311 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [206 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.107, i64 4 }, { ptr, i64 } { ptr @tn.str.108, i64 2 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 2 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 3 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 3 }, { ptr, i64 } { ptr @tn.str.118, i64 6 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 8 }, { ptr, i64 } { ptr @tn.str.121, i64 5 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 4 }, { ptr, i64 } { ptr @tn.str.124, i64 7 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 15 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 7 }, { ptr, i64 } { ptr @tn.str.129, i64 6 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 10 }, { ptr, i64 } { ptr @tn.str.132, i64 11 }, { ptr, i64 } { ptr @tn.str.133, i64 3 }, { ptr, i64 } { ptr @tn.str.134, i64 4 }, { ptr, i64 } { ptr @tn.str.135, i64 10 }, { ptr, i64 } { ptr @tn.str.136, i64 11 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 6 }, { ptr, i64 } { ptr @tn.str.139, i64 5 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 9 }, { ptr, i64 } { ptr @tn.str.142, i64 17 }, { ptr, i64 } { ptr @tn.str.143, i64 18 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 8 }, { ptr, i64 } { ptr @tn.str.146, i64 4 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 7 }, { ptr, i64 } { ptr @tn.str.150, i64 10 }, { ptr, i64 } { ptr @tn.str.151, i64 8 }, { ptr, i64 } { ptr @tn.str.152, i64 13 }, { ptr, i64 } { ptr @tn.str.153, i64 14 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 8 }, { ptr, i64 } { ptr @tn.str.156, i64 9 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 7 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 14 }, { ptr, i64 } { ptr @tn.str.161, i64 9 }, { ptr, i64 } { ptr @tn.str.162, i64 5 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 5 }, { ptr, i64 } { ptr @tn.str.165, i64 6 }, { ptr, i64 } { ptr @tn.str.166, i64 8 }, { ptr, i64 } { ptr @tn.str.167, i64 6 }, { ptr, i64 } { ptr @tn.str.168, i64 9 }, { ptr, i64 } { ptr @tn.str.169, i64 7 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 4 }, { ptr, i64 } { ptr @tn.str.172, i64 5 }, { ptr, i64 } { ptr @tn.str.173, i64 16 }, { ptr, i64 } { ptr @tn.str.174, i64 14 }, { ptr, i64 } { ptr @tn.str.175, i64 21 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 24 }, { ptr, i64 } { ptr @tn.str.179, i64 23 }, { ptr, i64 } { ptr @tn.str.180, i64 15 }, { ptr, i64 } { ptr @tn.str.181, i64 12 }, { ptr, i64 } { ptr @tn.str.182, i64 12 }, { ptr, i64 } { ptr @tn.str.183, i64 10 }, { ptr, i64 } { ptr @tn.str.184, i64 4 }, { ptr, i64 } { ptr @tn.str.185, i64 8 }, { ptr, i64 } { ptr @tn.str.186, i64 8 }, { ptr, i64 } { ptr @tn.str.187, i64 10 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 9 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 13 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 18 }, { ptr, i64 } { ptr @tn.str.195, i64 9 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 9 }, { ptr, i64 } { ptr @tn.str.205, i64 6 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 7 }, { ptr, i64 } { ptr @tn.str.208, i64 11 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 5 }, { ptr, i64 } { ptr @tn.str.214, i64 15 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 8 }, { ptr, i64 } { ptr @tn.str.221, i64 4 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 9 }, { ptr, i64 } { ptr @tn.str.224, i64 21 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 17 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 1 }, { ptr, i64 } { ptr @tn.str.229, i64 1 }, { ptr, i64 } { ptr @tn.str.230, i64 12 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 2 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 4 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 3 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 4 }, { ptr, i64 } { ptr @tn.str.243, i64 16 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 11 }, { ptr, i64 } { ptr @tn.str.247, i64 14 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 13 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 10 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 9 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 16 }, { ptr, i64 } { ptr @tn.str.260, i64 13 }, { ptr, i64 } { ptr @tn.str.261, i64 14 }, { ptr, i64 } { ptr @tn.str.262, i64 7 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 9 }, { ptr, i64 } { ptr @tn.str.266, i64 5 }, { ptr, i64 } { ptr @tn.str.267, i64 11 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 12 }, { ptr, i64 } { ptr @tn.str.272, i64 7 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 10 }, { ptr, i64 } { ptr @tn.str.275, i64 19 }, { ptr, i64 } { ptr @tn.str.276, i64 6 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 5 }, { ptr, i64 } { ptr @tn.str.280, i64 9 }, { ptr, i64 } { ptr @tn.str.281, i64 7 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 5 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 6 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 12 }, { ptr, i64 } { ptr @tn.str.293, i64 6 }, { ptr, i64 } { ptr @tn.str.294, i64 9 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 10 }, { ptr, i64 } { ptr @tn.str.297, i64 8 }, { ptr, i64 } { ptr @tn.str.298, i64 13 }, { ptr, i64 } { ptr @tn.str.299, i64 7 }, { ptr, i64 } { ptr @tn.str.300, i64 3 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 5 }, { ptr, i64 } { ptr @tn.str.303, i64 8 }, { ptr, i64 } { ptr @tn.str.304, i64 7 }, { ptr, i64 } { ptr @tn.str.305, i64 4 }, { ptr, i64 } { ptr @tn.str.306, i64 6 }, { ptr, i64 } { ptr @tn.str.307, i64 6 }, { ptr, i64 } { ptr @tn.str.308, i64 8 }, { ptr, i64 } { ptr @tn.str.309, i64 9 }, { ptr, i64 } { ptr @tn.str.310, i64 15 }, { ptr, i64 } { ptr @tn.str.311, i64 8 }] +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.317 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.318 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.319 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.321 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.322 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.323 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.324 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.326 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.327 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.329 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.330 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.332 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @frame.str = private unnamed_addr constant [35 x i8] c"1006-errors-inferred-error-sets.sx\00" -@frame.str.313 = private unnamed_addr constant [5 x i8] c"leaf\00" -@frame.str.314 = private unnamed_addr constant [34 x i8] c" if n < 0 { raise error.Foo; }\00" -@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 15, i32 16, { ptr, i64 } { ptr @frame.str.313, i64 4 }, { ptr, i64 } { ptr @frame.str.314, i64 33 } } -@frame.str.315 = private unnamed_addr constant [4 x i8] c"mid\00" -@frame.str.316 = private unnamed_addr constant [17 x i8] c" try leaf(n);\00" -@trace.frame.317 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 22, i32 5, { ptr, i64 } { ptr @frame.str.315, i64 3 }, { ptr, i64 } { ptr @frame.str.316, i64 16 } } -@frame.str.318 = private unnamed_addr constant [37 x i8] c" if n == 100 { raise error.Bar; }\00" -@trace.frame.319 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 23, i32 19, { ptr, i64 } { ptr @frame.str.315, i64 3 }, { ptr, i64 } { ptr @frame.str.318, i64 36 } } -@frame.str.320 = private unnamed_addr constant [4 x i8] c"run\00" -@frame.str.321 = private unnamed_addr constant [16 x i8] c" try mid(n);\00" -@trace.frame.322 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 29, i32 5, { ptr, i64 } { ptr @frame.str.320, i64 3 }, { ptr, i64 } { ptr @frame.str.321, i64 15 } } -@str.323 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 -@str.324 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.325 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 -@str.326 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.327 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.328 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.329 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.333 = private unnamed_addr constant [5 x i8] c"leaf\00" +@frame.str.334 = private unnamed_addr constant [34 x i8] c" if n < 0 { raise error.Foo; }\00" +@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 15, i32 16, { ptr, i64 } { ptr @frame.str.333, i64 4 }, { ptr, i64 } { ptr @frame.str.334, i64 33 } } +@frame.str.335 = private unnamed_addr constant [4 x i8] c"mid\00" +@frame.str.336 = private unnamed_addr constant [17 x i8] c" try leaf(n);\00" +@trace.frame.337 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 22, i32 5, { ptr, i64 } { ptr @frame.str.335, i64 3 }, { ptr, i64 } { ptr @frame.str.336, i64 16 } } +@frame.str.338 = private unnamed_addr constant [37 x i8] c" if n == 100 { raise error.Bar; }\00" +@trace.frame.339 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 23, i32 19, { ptr, i64 } { ptr @frame.str.335, i64 3 }, { ptr, i64 } { ptr @frame.str.338, i64 36 } } +@frame.str.340 = private unnamed_addr constant [4 x i8] c"run\00" +@frame.str.341 = private unnamed_addr constant [16 x i8] c" try mid(n);\00" +@trace.frame.342 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 34 }, i32 29, i32 5, { ptr, i64 } { ptr @frame.str.340, i64 3 }, { ptr, i64 } { ptr @frame.str.341, i64 15 } } +@str.343 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 +@str.344 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.345 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 +@str.346 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.347 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.348 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.349 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.330 = private constant [5 x i8] c"line\00" -@fld.str.331 = private constant [4 x i8] c"col\00" -@fld.str.332 = 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.330, i64 4 }, { ptr, i64 } { ptr @fld.str.331, i64 3 }, { ptr, i64 } { ptr @fld.str.332, i64 4 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.335 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.336 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.337 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.338 = private constant [4 x i8] c"ctx\00" -@fld.str.339 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.340 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.341 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 3 }, { ptr, i64 } { ptr @fld.str.339, i64 11 }, { ptr, i64 } { ptr @fld.str.340, i64 13 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.344 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.345 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.347 = private constant [10 x i8] c"allocator\00" -@fld.str.348 = private constant [5 x i8] c"data\00" -@field_names.349 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 9 }, { ptr, i64 } { ptr @fld.str.348, i64 4 }] -@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.351 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.352 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.353 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.354 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.355 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.358 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.359 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.361 = private constant [12 x i8] c"alloc_count\00" -@field_names.362 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 11 }] -@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.364 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.366 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.367 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.368 = private constant [5 x i8] c"next\00" -@fld.str.369 = private constant [4 x i8] c"cap\00" -@field_names.370 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 3 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.375 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.376 = private constant [6 x i8] c"first\00" -@fld.str.377 = private constant [10 x i8] c"end_index\00" -@fld.str.378 = private constant [7 x i8] c"parent\00" -@field_names.379 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 5 }, { ptr, i64 } { ptr @fld.str.377, i64 9 }, { ptr, i64 } { ptr @fld.str.378, i64 6 }] -@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.381 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.383 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.384 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.385 = private constant [4 x i8] c"buf\00" -@fld.str.386 = private constant [4 x i8] c"len\00" -@fld.str.387 = private constant [4 x i8] c"pos\00" -@field_names.388 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 3 }, { ptr, i64 } { ptr @fld.str.386, i64 3 }, { ptr, i64 } { ptr @fld.str.387, i64 3 }] -@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.390 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.391 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.392 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.393 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.394 = private constant [7 x i8] c"parent\00" -@fld.str.395 = private constant [12 x i8] c"alloc_count\00" -@fld.str.396 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.397 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.398 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.394, i64 6 }, { ptr, i64 } { ptr @fld.str.395, i64 11 }, { ptr, i64 } { ptr @fld.str.396, i64 13 }, { ptr, i64 } { ptr @fld.str.397, i64 17 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.404 = private constant [3 x i8] c"fd\00" -@field_names.405 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 2 }] -@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.407 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.408 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.409 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.410 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.411 = private constant [5 x i8] c"file\00" -@fld.str.412 = private constant [5 x i8] c"line\00" -@fld.str.413 = private constant [4 x i8] c"col\00" -@fld.str.414 = private constant [5 x i8] c"func\00" -@fld.str.415 = private constant [10 x i8] c"line_text\00" -@field_names.416 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 4 }, { ptr, i64 } { ptr @fld.str.412, i64 4 }, { ptr, i64 } { ptr @fld.str.413, i64 3 }, { ptr, i64 } { ptr @fld.str.414, i64 4 }, { ptr, i64 } { ptr @fld.str.415, i64 9 }] -@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.418 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.422 = private constant [10 x i8] c"exit_code\00" -@fld.str.423 = private constant [7 x i8] c"stdout\00" -@field_names.424 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 9 }, { ptr, i64 } { ptr @fld.str.423, i64 6 }] -@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.426 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.427 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.428 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.429 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.430 = private constant [8 x i8] c"sin_len\00" -@fld.str.431 = private constant [11 x i8] c"sin_family\00" -@fld.str.432 = private constant [9 x i8] c"sin_port\00" -@fld.str.433 = private constant [9 x i8] c"sin_addr\00" -@fld.str.434 = private constant [9 x i8] c"sin_zero\00" -@field_names.435 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.430, i64 7 }, { ptr, i64 } { ptr @fld.str.431, i64 10 }, { ptr, i64 } { ptr @fld.str.432, i64 8 }, { ptr, i64 } { ptr @fld.str.433, i64 8 }, { ptr, i64 } { ptr @fld.str.434, i64 8 }] -@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.441 = private constant [6 x i8] c"items\00" -@fld.str.442 = private constant [4 x i8] c"len\00" -@fld.str.443 = private constant [4 x i8] c"cap\00" -@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 5 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 3 }] +@fld.str.350 = private constant [5 x i8] c"line\00" +@fld.str.351 = private constant [4 x i8] c"col\00" +@fld.str.352 = 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.350, i64 4 }, { ptr, i64 } { ptr @fld.str.351, i64 3 }, { ptr, i64 } { ptr @fld.str.352, i64 4 }] +@str.353 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.354 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.355 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.356 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.358 = private constant [4 x i8] c"ctx\00" +@fld.str.359 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.360 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.361 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.358, i64 3 }, { ptr, i64 } { ptr @fld.str.359, i64 11 }, { ptr, i64 } { ptr @fld.str.360, i64 13 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.367 = private constant [10 x i8] c"allocator\00" +@fld.str.368 = private constant [5 x i8] c"data\00" +@field_names.369 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 9 }, { ptr, i64 } { ptr @fld.str.368, i64 4 }] +@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.371 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.375 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.378 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.379 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.380 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.381 = private constant [12 x i8] c"alloc_count\00" +@field_names.382 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 11 }] +@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.384 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.386 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.387 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.388 = private constant [5 x i8] c"next\00" +@fld.str.389 = private constant [4 x i8] c"cap\00" +@field_names.390 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 4 }, { ptr, i64 } { ptr @fld.str.389, i64 3 }] +@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.392 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.395 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.396 = private constant [6 x i8] c"first\00" +@fld.str.397 = private constant [10 x i8] c"end_index\00" +@fld.str.398 = private constant [7 x i8] c"parent\00" +@field_names.399 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 5 }, { ptr, i64 } { ptr @fld.str.397, i64 9 }, { ptr, i64 } { ptr @fld.str.398, i64 6 }] +@str.400 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.401 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.403 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.404 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.405 = private constant [4 x i8] c"buf\00" +@fld.str.406 = private constant [4 x i8] c"len\00" +@fld.str.407 = private constant [4 x i8] c"pos\00" +@field_names.408 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 3 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }] +@str.409 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.410 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.411 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.412 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.413 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.414 = private constant [7 x i8] c"parent\00" +@fld.str.415 = private constant [12 x i8] c"alloc_count\00" +@fld.str.416 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.417 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.418 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.414, i64 6 }, { ptr, i64 } { ptr @fld.str.415, i64 11 }, { ptr, i64 } { ptr @fld.str.416, i64 13 }, { ptr, i64 } { ptr @fld.str.417, i64 17 }] +@str.419 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.420 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.421 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.423 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.424 = private constant [3 x i8] c"fd\00" +@field_names.425 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 2 }] +@str.426 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.427 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.428 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.429 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.430 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.431 = private constant [5 x i8] c"file\00" +@fld.str.432 = private constant [5 x i8] c"line\00" +@fld.str.433 = private constant [4 x i8] c"col\00" +@fld.str.434 = private constant [5 x i8] c"func\00" +@fld.str.435 = private constant [10 x i8] c"line_text\00" +@field_names.436 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.431, i64 4 }, { ptr, i64 } { ptr @fld.str.432, i64 4 }, { ptr, i64 } { ptr @fld.str.433, i64 3 }, { ptr, i64 } { ptr @fld.str.434, i64 4 }, { ptr, i64 } { ptr @fld.str.435, i64 9 }] +@str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.438 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.439 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.440 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.441 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.442 = private constant [10 x i8] c"exit_code\00" +@fld.str.443 = private constant [7 x i8] c"stdout\00" +@field_names.444 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 9 }, { ptr, i64 } { ptr @fld.str.443, i64 6 }] @str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.446 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.447 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.448 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.449 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.450 = private constant [6 x i8] c"items\00" -@fld.str.451 = private constant [4 x i8] c"len\00" -@fld.str.452 = private constant [4 x i8] c"cap\00" -@field_names.453 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 5 }, { ptr, i64 } { ptr @fld.str.451, i64 3 }, { ptr, i64 } { ptr @fld.str.452, i64 3 }] -@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.455 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.459 = private constant [4 x i8] c"key\00" -@fld.str.460 = private constant [4 x i8] c"val\00" -@field_names.461 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 3 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [4 x i8] c"dst\00" -@fld.str.468 = private constant [4 x i8] c"pos\00" -@fld.str.469 = private constant [5 x i8] c"file\00" -@field_names.470 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 3 }, { ptr, i64 } { ptr @fld.str.468, i64 3 }, { ptr, i64 } { ptr @fld.str.469, i64 4 }] -@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.472 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.473 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.475 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.476 = private constant [4 x i8] c"src\00" -@fld.str.477 = private constant [4 x i8] c"pos\00" -@fld.str.478 = private constant [6 x i8] c"alloc\00" -@field_names.479 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 3 }, { ptr, i64 } { ptr @fld.str.478, i64 5 }] -@str.480 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.481 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.482 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.484 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.485 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.491 = private constant [5 x i8] c"name\00" -@fld.str.492 = private constant [12 x i8] c"takes_value\00" -@fld.str.493 = private constant [9 x i8] c"required\00" -@field_names.494 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 11 }, { ptr, i64 } { ptr @fld.str.493, i64 8 }] -@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.496 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.498 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.499 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.500 = private constant [6 x i8] c"group\00" -@fld.str.501 = private constant [8 x i8] c"command\00" -@fld.str.502 = private constant [6 x i8] c"flags\00" -@field_names.503 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.500, i64 5 }, { ptr, i64 } { ptr @fld.str.501, i64 7 }, { ptr, i64 } { ptr @fld.str.502, i64 5 }] -@str.504 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.505 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.507 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.508 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.509 = private constant [4 x i8] c"set\00" -@fld.str.510 = private constant [6 x i8] c"value\00" -@field_names.511 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 5 }] -@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.513 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.517 = private constant [6 x i8] c"index\00" -@fld.str.518 = private constant [6 x i8] c"token\00" -@field_names.519 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 5 }] -@str.520 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.521 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.522 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.523 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.524 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.525 = private constant [6 x i8] c"group\00" -@fld.str.526 = private constant [8 x i8] c"command\00" -@fld.str.527 = private constant [10 x i8] c"cmd_index\00" -@fld.str.528 = private constant [5 x i8] c"json\00" -@fld.str.529 = private constant [5 x i8] c"rest\00" -@fld.str.530 = private constant [5 x i8] c"spec\00" -@fld.str.531 = private constant [7 x i8] c"values\00" -@field_names.532 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 7 }, { ptr, i64 } { ptr @fld.str.527, i64 9 }, { ptr, i64 } { ptr @fld.str.528, i64 4 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 4 }, { ptr, i64 } { ptr @fld.str.531, i64 6 }] -@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.534 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.538 = private constant [2 x i8] c"h\00" -@fld.str.539 = private constant [4 x i8] c"buf\00" -@fld.str.540 = private constant [8 x i8] c"buf_len\00" -@fld.str.541 = private constant [10 x i8] c"total_len\00" -@field_names.542 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 1 }, { ptr, i64 } { ptr @fld.str.539, i64 3 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 9 }] -@str.543 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.544 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.545 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.546 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.547 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.548 = private constant [4 x i8] c"sec\00" -@fld.str.549 = private constant [5 x i8] c"nsec\00" -@field_names.550 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 3 }, { ptr, i64 } { ptr @fld.str.549, i64 4 }] -@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.552 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.556 = private constant [6 x i8] c"ident\00" -@fld.str.557 = private constant [7 x i8] c"filter\00" -@fld.str.558 = private constant [6 x i8] c"flags\00" -@fld.str.559 = private constant [7 x i8] c"fflags\00" -@fld.str.560 = private constant [5 x i8] c"data\00" -@fld.str.561 = private constant [6 x i8] c"udata\00" -@field_names.562 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 5 }, { ptr, i64 } { ptr @fld.str.557, i64 6 }, { ptr, i64 } { ptr @fld.str.558, i64 5 }, { ptr, i64 } { ptr @fld.str.559, i64 6 }, { ptr, i64 } { ptr @fld.str.560, i64 4 }, { ptr, i64 } { ptr @fld.str.561, i64 5 }] +@fld.str.450 = private constant [8 x i8] c"sin_len\00" +@fld.str.451 = private constant [11 x i8] c"sin_family\00" +@fld.str.452 = private constant [9 x i8] c"sin_port\00" +@fld.str.453 = private constant [9 x i8] c"sin_addr\00" +@fld.str.454 = private constant [9 x i8] c"sin_zero\00" +@field_names.455 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 7 }, { ptr, i64 } { ptr @fld.str.451, i64 10 }, { ptr, i64 } { ptr @fld.str.452, i64 8 }, { ptr, i64 } { ptr @fld.str.453, i64 8 }, { ptr, i64 } { ptr @fld.str.454, i64 8 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.458 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.460 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.461 = private constant [6 x i8] c"items\00" +@fld.str.462 = private constant [4 x i8] c"len\00" +@fld.str.463 = private constant [4 x i8] c"cap\00" +@field_names.464 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 5 }, { ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.467 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.469 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.470 = private constant [6 x i8] c"items\00" +@fld.str.471 = private constant [4 x i8] c"len\00" +@fld.str.472 = private constant [4 x i8] c"cap\00" +@field_names.473 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 5 }, { ptr, i64 } { ptr @fld.str.471, i64 3 }, { ptr, i64 } { ptr @fld.str.472, i64 3 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.478 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.479 = private constant [4 x i8] c"key\00" +@fld.str.480 = private constant [4 x i8] c"val\00" +@field_names.481 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.487 = private constant [4 x i8] c"dst\00" +@fld.str.488 = private constant [4 x i8] c"pos\00" +@fld.str.489 = private constant [5 x i8] c"file\00" +@field_names.490 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 3 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }] +@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.492 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.493 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.494 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.495 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.496 = private constant [4 x i8] c"src\00" +@fld.str.497 = private constant [4 x i8] c"pos\00" +@fld.str.498 = private constant [6 x i8] c"alloc\00" +@field_names.499 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 3 }, { ptr, i64 } { ptr @fld.str.498, i64 5 }] +@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.501 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.502 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.504 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.505 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.508 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.510 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.511 = private constant [5 x i8] c"name\00" +@fld.str.512 = private constant [12 x i8] c"takes_value\00" +@fld.str.513 = private constant [9 x i8] c"required\00" +@field_names.514 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 4 }, { ptr, i64 } { ptr @fld.str.512, i64 11 }, { ptr, i64 } { ptr @fld.str.513, i64 8 }] +@str.515 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.516 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.517 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.518 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.519 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.520 = private constant [6 x i8] c"group\00" +@fld.str.521 = private constant [8 x i8] c"command\00" +@fld.str.522 = private constant [6 x i8] c"flags\00" +@field_names.523 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 5 }] +@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.525 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.526 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.527 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.528 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.529 = private constant [4 x i8] c"set\00" +@fld.str.530 = private constant [6 x i8] c"value\00" +@field_names.531 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 3 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }] +@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.533 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.537 = private constant [6 x i8] c"index\00" +@fld.str.538 = private constant [6 x i8] c"token\00" +@field_names.539 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 5 }, { ptr, i64 } { ptr @fld.str.538, i64 5 }] +@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.541 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.542 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.543 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.544 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.545 = private constant [6 x i8] c"group\00" +@fld.str.546 = private constant [8 x i8] c"command\00" +@fld.str.547 = private constant [10 x i8] c"cmd_index\00" +@fld.str.548 = private constant [5 x i8] c"json\00" +@fld.str.549 = private constant [5 x i8] c"rest\00" +@fld.str.550 = private constant [5 x i8] c"spec\00" +@fld.str.551 = private constant [7 x i8] c"values\00" +@field_names.552 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 5 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 9 }, { ptr, i64 } { ptr @fld.str.548, i64 4 }, { ptr, i64 } { ptr @fld.str.549, i64 4 }, { ptr, i64 } { ptr @fld.str.550, i64 4 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }] +@str.553 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.554 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.555 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.556 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.557 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.558 = private constant [2 x i8] c"h\00" +@fld.str.559 = private constant [4 x i8] c"buf\00" +@fld.str.560 = private constant [8 x i8] c"buf_len\00" +@fld.str.561 = private constant [10 x i8] c"total_len\00" +@field_names.562 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.558, i64 1 }, { ptr, i64 } { ptr @fld.str.559, i64 3 }, { ptr, i64 } { ptr @fld.str.560, i64 7 }, { ptr, i64 } { ptr @fld.str.561, i64 9 }] @str.563 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.564 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.564 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.565 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.566 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.567 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -504,217 +504,313 @@ @fld.str.569 = private constant [5 x i8] c"nsec\00" @field_names.570 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.568, i64 3 }, { ptr, i64 } { ptr @fld.str.569, i64 4 }] @str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.572 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.572 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.576 = private constant [3 x i8] c"fd\00" -@fld.str.577 = private constant [6 x i8] c"udata\00" -@fld.str.578 = private constant [9 x i8] c"readable\00" -@fld.str.579 = private constant [9 x i8] c"writable\00" -@fld.str.580 = private constant [4 x i8] c"eof\00" -@fld.str.581 = private constant [4 x i8] c"err\00" -@fld.str.582 = private constant [7 x i8] c"nbytes\00" -@field_names.583 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 2 }, { ptr, i64 } { ptr @fld.str.577, i64 5 }, { ptr, i64 } { ptr @fld.str.578, i64 8 }, { ptr, i64 } { ptr @fld.str.579, i64 8 }, { ptr, i64 } { ptr @fld.str.580, i64 3 }, { ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 6 }] -@str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.585 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.586 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.587 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.588 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.589 = private constant [3 x i8] c"kq\00" -@field_names.590 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 2 }] +@fld.str.576 = private constant [6 x i8] c"ident\00" +@fld.str.577 = private constant [7 x i8] c"filter\00" +@fld.str.578 = private constant [6 x i8] c"flags\00" +@fld.str.579 = private constant [7 x i8] c"fflags\00" +@fld.str.580 = private constant [5 x i8] c"data\00" +@fld.str.581 = private constant [6 x i8] c"udata\00" +@field_names.582 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 5 }, { ptr, i64 } { ptr @fld.str.577, i64 6 }, { ptr, i64 } { ptr @fld.str.578, i64 5 }, { ptr, i64 } { ptr @fld.str.579, i64 6 }, { ptr, i64 } { ptr @fld.str.580, i64 4 }, { ptr, i64 } { ptr @fld.str.581, i64 5 }] +@str.583 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.584 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.585 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.586 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.587 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.588 = private constant [4 x i8] c"sec\00" +@fld.str.589 = private constant [5 x i8] c"nsec\00" +@field_names.590 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 3 }, { ptr, i64 } { ptr @fld.str.589, i64 4 }] @str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.593 = private constant [5 x i8] c"read\00" -@fld.str.594 = private constant [6 x i8] c"write\00" -@fld.str.595 = private constant [7 x i8] c"append\00" -@fld.str.596 = private constant [11 x i8] c"read_write\00" -@field_names.597 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 4 }, { ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 6 }, { ptr, i64 } { ptr @fld.str.596, i64 10 }] -@str.598 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.599 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.601 = private constant [4 x i8] c"set\00" -@fld.str.602 = private constant [8 x i8] c"current\00" -@fld.str.603 = private constant [4 x i8] c"end\00" -@field_names.604 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 7 }, { ptr, i64 } { ptr @fld.str.603, i64 3 }] -@str.605 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.606 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.607 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.608 = private constant [6 x i8] c"null_\00" -@fld.str.609 = private constant [6 x i8] c"bool_\00" -@fld.str.610 = private constant [5 x i8] c"int_\00" -@fld.str.611 = private constant [4 x i8] c"str\00" -@fld.str.612 = private constant [6 x i8] c"array\00" -@fld.str.613 = private constant [7 x i8] c"object\00" -@field_names.614 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.608, i64 5 }, { ptr, i64 } { ptr @fld.str.609, i64 5 }, { ptr, i64 } { ptr @fld.str.610, i64 4 }, { ptr, i64 } { ptr @fld.str.611, i64 3 }, { ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 6 }] -@str.615 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.616 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.617 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.618 = private constant [6 x i8] c"macos\00" -@fld.str.619 = private constant [6 x i8] c"linux\00" -@fld.str.620 = private constant [8 x i8] c"windows\00" -@fld.str.621 = private constant [5 x i8] c"wasm\00" -@fld.str.622 = private constant [4 x i8] c"ios\00" -@fld.str.623 = private constant [8 x i8] c"android\00" -@fld.str.624 = private constant [8 x i8] c"unknown\00" -@field_names.625 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.618, i64 5 }, { ptr, i64 } { ptr @fld.str.619, i64 5 }, { ptr, i64 } { ptr @fld.str.620, i64 7 }, { ptr, i64 } { ptr @fld.str.621, i64 4 }, { ptr, i64 } { ptr @fld.str.622, i64 3 }, { ptr, i64 } { ptr @fld.str.623, i64 7 }, { ptr, i64 } { ptr @fld.str.624, i64 7 }] -@str.626 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.627 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.628 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.629 = private constant [8 x i8] c"aarch64\00" -@fld.str.630 = private constant [7 x i8] c"x86_64\00" -@fld.str.631 = private constant [7 x i8] c"wasm32\00" -@fld.str.632 = private constant [7 x i8] c"wasm64\00" -@fld.str.633 = private constant [8 x i8] c"unknown\00" -@field_names.634 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.629, i64 7 }, { ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 6 }, { ptr, i64 } { ptr @fld.str.632, i64 6 }, { ptr, i64 } { ptr @fld.str.633, i64 7 }] -@str.635 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.639 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.640 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.642 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.643 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.645 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.649 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.651 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.655 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.657 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.660 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.663 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.664 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.665 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.666 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.667 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.669 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.670 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.671 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.672 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.674 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.675 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.677 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.678 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.679 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.681 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.683 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.684 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.685 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.686 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.687 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.688 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.689 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.690 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.691 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.692 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.693 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.694 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.695 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.696 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.697 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.698 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.699 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.700 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.702 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.703 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.704 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.705 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.706 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.708 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.709 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.710 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.711 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.712 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.713 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.714 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.715 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.716 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.717 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.718 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.719 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.720 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.721 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.722 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.723 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.724 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.725 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.726 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.727 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.729 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.730 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.731 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.732 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.733 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.734 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.735 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.736 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.738 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.739 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.740 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.741 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.742 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.743 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.744 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.592 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.594 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.595 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.596 = private constant [3 x i8] c"fd\00" +@fld.str.597 = private constant [6 x i8] c"udata\00" +@fld.str.598 = private constant [9 x i8] c"readable\00" +@fld.str.599 = private constant [9 x i8] c"writable\00" +@fld.str.600 = private constant [4 x i8] c"eof\00" +@fld.str.601 = private constant [4 x i8] c"err\00" +@fld.str.602 = private constant [7 x i8] c"nbytes\00" +@field_names.603 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 2 }, { ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 8 }, { ptr, i64 } { ptr @fld.str.599, i64 8 }, { ptr, i64 } { ptr @fld.str.600, i64 3 }, { ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 6 }] +@str.604 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.605 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.606 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.607 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.608 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.609 = private constant [3 x i8] c"kq\00" +@field_names.610 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 2 }] +@str.611 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.612 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.613 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.614 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.615 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.616 = private constant [5 x i8] c"port\00" +@fld.str.617 = private constant [8 x i8] c"backlog\00" +@fld.str.618 = private constant [9 x i8] c"max_conn\00" +@fld.str.619 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.620 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.621 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.622 = private constant [14 x i8] c"request_count\00" +@field_names.623 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.616, i64 4 }, { ptr, i64 } { ptr @fld.str.617, i64 7 }, { ptr, i64 } { ptr @fld.str.618, i64 8 }, { ptr, i64 } { ptr @fld.str.619, i64 12 }, { ptr, i64 } { ptr @fld.str.620, i64 18 }, { ptr, i64 } { ptr @fld.str.621, i64 20 }, { ptr, i64 } { ptr @fld.str.622, i64 13 }] +@str.624 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.625 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.626 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.627 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.628 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.629 = private constant [7 x i8] c"method\00" +@fld.str.630 = private constant [5 x i8] c"path\00" +@fld.str.631 = private constant [8 x i8] c"version\00" +@fld.str.632 = private constant [12 x i8] c"headers_raw\00" +@fld.str.633 = private constant [5 x i8] c"body\00" +@fld.str.634 = private constant [11 x i8] c"keep_alive\00" +@field_names.635 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.629, i64 6 }, { ptr, i64 } { ptr @fld.str.630, i64 4 }, { ptr, i64 } { ptr @fld.str.631, i64 7 }, { ptr, i64 } { ptr @fld.str.632, i64 11 }, { ptr, i64 } { ptr @fld.str.633, i64 4 }, { ptr, i64 } { ptr @fld.str.634, i64 10 }] +@str.636 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.637 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.638 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.639 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.641 = private constant [7 x i8] c"status\00" +@fld.str.642 = private constant [13 x i8] c"content_type\00" +@fld.str.643 = private constant [14 x i8] c"extra_headers\00" +@fld.str.644 = private constant [5 x i8] c"body\00" +@field_names.645 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 6 }, { ptr, i64 } { ptr @fld.str.642, i64 12 }, { ptr, i64 } { ptr @fld.str.643, i64 13 }, { ptr, i64 } { ptr @fld.str.644, i64 4 }] +@str.646 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.647 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.648 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.649 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.650 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.651 = private constant [3 x i8] c"fd\00" +@fld.str.652 = private constant [6 x i8] c"state\00" +@fld.str.653 = private constant [9 x i8] c"read_buf\00" +@fld.str.654 = private constant [9 x i8] c"read_len\00" +@fld.str.655 = private constant [8 x i8] c"out_buf\00" +@fld.str.656 = private constant [8 x i8] c"out_len\00" +@fld.str.657 = private constant [9 x i8] c"out_sent\00" +@fld.str.658 = private constant [9 x i8] c"deadline\00" +@fld.str.659 = private constant [7 x i8] c"served\00" +@fld.str.660 = private constant [12 x i8] c"close_after\00" +@fld.str.661 = private constant [12 x i8] c"write_armed\00" +@field_names.662 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.651, i64 2 }, { ptr, i64 } { ptr @fld.str.652, i64 5 }, { ptr, i64 } { ptr @fld.str.653, i64 8 }, { ptr, i64 } { ptr @fld.str.654, i64 8 }, { ptr, i64 } { ptr @fld.str.655, i64 7 }, { ptr, i64 } { ptr @fld.str.656, i64 7 }, { ptr, i64 } { ptr @fld.str.657, i64 8 }, { ptr, i64 } { ptr @fld.str.658, i64 8 }, { ptr, i64 } { ptr @fld.str.659, i64 6 }, { ptr, i64 } { ptr @fld.str.660, i64 11 }, { ptr, i64 } { ptr @fld.str.661, i64 11 }] +@str.663 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.664 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.665 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.666 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.667 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.668 = private constant [4 x i8] c"cfg\00" +@fld.str.669 = private constant [5 x i8] c"loop\00" +@fld.str.670 = private constant [4 x i8] c"lfd\00" +@fld.str.671 = private constant [6 x i8] c"conns\00" +@fld.str.672 = private constant [10 x i8] c"own_alloc\00" +@fld.str.673 = private constant [8 x i8] c"handler\00" +@field_names.674 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.668, i64 3 }, { ptr, i64 } { ptr @fld.str.669, i64 4 }, { ptr, i64 } { ptr @fld.str.670, i64 3 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 9 }, { ptr, i64 } { ptr @fld.str.673, i64 7 }] +@str.675 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.677 = private constant [5 x i8] c"read\00" +@fld.str.678 = private constant [6 x i8] c"write\00" +@fld.str.679 = private constant [7 x i8] c"append\00" +@fld.str.680 = private constant [11 x i8] c"read_write\00" +@field_names.681 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 6 }, { ptr, i64 } { ptr @fld.str.680, i64 10 }] +@str.682 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.683 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.684 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.685 = private constant [4 x i8] c"set\00" +@fld.str.686 = private constant [8 x i8] c"current\00" +@fld.str.687 = private constant [4 x i8] c"end\00" +@field_names.688 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.685, i64 3 }, { ptr, i64 } { ptr @fld.str.686, i64 7 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }] +@str.689 = private unnamed_addr constant [2 x i8] c"(\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 +@fld.str.692 = private constant [6 x i8] c"null_\00" +@fld.str.693 = private constant [6 x i8] c"bool_\00" +@fld.str.694 = private constant [5 x i8] c"int_\00" +@fld.str.695 = private constant [4 x i8] c"str\00" +@fld.str.696 = private constant [6 x i8] c"array\00" +@fld.str.697 = private constant [7 x i8] c"object\00" +@field_names.698 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 5 }, { ptr, i64 } { ptr @fld.str.693, i64 5 }, { ptr, i64 } { ptr @fld.str.694, i64 4 }, { ptr, i64 } { ptr @fld.str.695, i64 3 }, { ptr, i64 } { ptr @fld.str.696, i64 5 }, { ptr, i64 } { ptr @fld.str.697, i64 6 }] +@str.699 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.700 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.701 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.702 = private constant [6 x i8] c"macos\00" +@fld.str.703 = private constant [6 x i8] c"linux\00" +@fld.str.704 = private constant [8 x i8] c"windows\00" +@fld.str.705 = private constant [5 x i8] c"wasm\00" +@fld.str.706 = private constant [4 x i8] c"ios\00" +@fld.str.707 = private constant [8 x i8] c"android\00" +@fld.str.708 = private constant [8 x i8] c"unknown\00" +@field_names.709 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.702, i64 5 }, { ptr, i64 } { ptr @fld.str.703, i64 5 }, { ptr, i64 } { ptr @fld.str.704, i64 7 }, { ptr, i64 } { ptr @fld.str.705, i64 4 }, { ptr, i64 } { ptr @fld.str.706, i64 3 }, { ptr, i64 } { ptr @fld.str.707, i64 7 }, { ptr, i64 } { ptr @fld.str.708, i64 7 }] +@str.710 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.711 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.713 = private constant [8 x i8] c"aarch64\00" +@fld.str.714 = private constant [7 x i8] c"x86_64\00" +@fld.str.715 = private constant [7 x i8] c"wasm32\00" +@fld.str.716 = private constant [7 x i8] c"wasm64\00" +@fld.str.717 = private constant [8 x i8] c"unknown\00" +@field_names.718 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.713, i64 7 }, { ptr, i64 } { ptr @fld.str.714, i64 6 }, { ptr, i64 } { ptr @fld.str.715, i64 6 }, { ptr, i64 } { ptr @fld.str.716, i64 6 }, { ptr, i64 } { ptr @fld.str.717, i64 7 }] +@str.719 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.726 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.732 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.733 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.734 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.736 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.739 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.740 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.742 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.743 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.746 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.747 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.748 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.749 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.750 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.751 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.753 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.756 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.758 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.761 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.764 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.767 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.770 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.773 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.776 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.779 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.782 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.788 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.794 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.797 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.800 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.803 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.806 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.809 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.815 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.818 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.821 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.824 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.827 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.830 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.833 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.836 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.839 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.842 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.845 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.848 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.851 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.854 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.857 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1152,38 +1248,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.457 -while.hdr.423: ; preds = %if.merge.428, %entry +while.hdr.457: ; preds = %if.merge.462, %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.424, label %while.exit.425 + br i1 %icmp, label %while.body.458, label %while.exit.459 -while.body.424: ; preds = %while.hdr.423 +while.body.458: ; preds = %while.hdr.457 %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.426, label %if.else.427 + br i1 %icmpN, label %if.then.460, label %if.else.461 -while.exit.425: ; preds = %while.hdr.423 +while.exit.459: ; preds = %while.hdr.457 ret void -if.then.426: ; preds = %while.body.424 +if.then.460: ; preds = %while.body.458 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.428 + br label %if.merge.462 -if.else.427: ; preds = %while.body.424 +if.else.461: ; preds = %while.body.458 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.428 + br label %if.merge.462 -if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi i64 [ %addN, %if.then.426 ], [ %addN, %if.else.427 ] +if.merge.462: ; preds = %if.else.461, %if.then.460 + %bp = phi i64 [ %addN, %if.then.460 ], [ %addN, %if.else.461 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1196,7 +1292,7 @@ if.merge.428: ; preds = %if.else.427, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.423 + br label %while.hdr.457 } ; Function Attrs: nounwind @@ -1309,12 +1405,12 @@ entry: 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.421, label %if.merge.422 + br i1 %icmp, label %if.then.455, label %if.merge.456 -if.then.421: ; preds = %entry +if.then.455: ; preds = %entry ret { ptr, i64 } { ptr @str.81, i64 1 } -if.merge.422: ; preds = %entry +if.merge.456: ; 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 @@ -1337,14 +1433,14 @@ if.merge.422: ; preds = %entry %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.429 + br label %while.hdr.463 -while.hdr.429: ; preds = %if.merge.433, %if.merge.422 +while.hdr.463: ; preds = %if.merge.467, %if.merge.456 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.430, label %while.exit.431 + br i1 %icmpN, label %while.body.464, label %while.exit.465 -while.body.430: ; preds = %while.hdr.429 +while.body.464: ; preds = %while.hdr.463 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1352,9 +1448,9 @@ while.body.430: ; preds = %while.hdr.429 %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.432, label %if.merge.433 + br i1 %icmpN, label %if.then.466, label %if.merge.467 -while.exit.431: ; preds = %if.then.432, %while.hdr.429 +while.exit.465: ; preds = %if.then.466, %while.hdr.463 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1362,14 +1458,14 @@ while.exit.431: ; preds = %if.then.432, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.432: ; preds = %while.body.430 - br label %while.exit.431 +if.then.466: ; preds = %while.body.464 + br label %while.exit.465 -if.merge.433: ; preds = %while.body.430 +if.merge.467: ; preds = %while.body.464 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.429 + br label %while.hdr.463 } ; Function Attrs: nounwind @@ -1517,6 +1613,11 @@ entry: i64 100, label %match.arm.55 i64 104, label %match.arm.55 i64 105, label %match.arm.55 + i64 111, label %match.arm.55 + i64 112, label %match.arm.55 + i64 113, label %match.arm.55 + i64 115, label %match.arm.55 + i64 119, label %match.arm.55 i64 38, label %match.arm.56 i64 39, label %match.arm.56 i64 58, label %match.arm.56 @@ -1528,19 +1629,20 @@ entry: i64 79, label %match.arm.57 i64 103, label %match.arm.57 i64 110, label %match.arm.57 - i64 111, label %match.arm.57 + i64 122, label %match.arm.57 + i64 123, label %match.arm.57 i64 23, label %match.arm.59 i64 85, label %match.arm.59 i64 91, label %match.arm.59 i64 92, label %match.arm.59 i64 96, label %match.arm.59 - i64 118, label %match.arm.59 + i64 130, label %match.arm.59 i64 24, label %match.arm.60 i64 64, label %match.arm.60 i64 81, label %match.arm.60 i64 89, label %match.arm.60 i64 109, label %match.arm.60 - i64 116, label %match.arm.60 + i64 128, label %match.arm.60 i64 19, label %match.arm.61 i64 26, label %match.arm.61 i64 28, label %match.arm.61 @@ -1567,15 +1669,19 @@ entry: i64 101, label %match.arm.61 i64 102, label %match.arm.61 i64 107, label %match.arm.61 - i64 112, label %match.arm.61 - i64 113, label %match.arm.61 i64 114, label %match.arm.61 - i64 115, label %match.arm.61 + i64 116, label %match.arm.61 i64 117, label %match.arm.61 - i64 119, label %match.arm.61 - i64 120, label %match.arm.61 i64 121, label %match.arm.61 - i64 122, label %match.arm.61 + i64 124, label %match.arm.61 + i64 125, label %match.arm.61 + i64 126, label %match.arm.61 + i64 127, label %match.arm.61 + i64 129, label %match.arm.61 + i64 131, label %match.arm.61 + i64 132, label %match.arm.61 + i64 133, label %match.arm.61 + i64 134, label %match.arm.61 i64 42, label %match.arm.62 i64 43, label %match.arm.62 i64 45, label %match.arm.62 @@ -1584,7 +1690,7 @@ entry: i64 13, label %match.arm.63 ] -match.merge.49: ; preds = %dispatch.merge.536, %dispatch.merge.381, %dispatch.merge.343, %dispatch.merge.305, %dispatch.merge.288, %dispatch.merge.106, %float.merge.95, %if.merge.67, %match.unr.64, %match.arm.63, %match.arm.57, %match.arm.53, %match.arm.52, %match.arm.50 +match.merge.49: ; preds = %dispatch.merge.582, %dispatch.merge.411, %dispatch.merge.373, %dispatch.merge.335, %dispatch.merge.318, %dispatch.merge.106, %float.merge.95, %if.merge.67, %match.unr.64, %match.arm.63, %match.arm.57, %match.arm.53, %match.arm.52, %match.arm.50 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1598,7 +1704,7 @@ match.arm.51: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [188 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [206 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.65, label %if.else.66 @@ -1626,7 +1732,7 @@ match.arm.54: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.93, label %fN.unbox.94 -match.arm.55: ; 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 +match.arm.55: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1661,28 +1767,33 @@ match.arm.55: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.135 i64 104, label %dispatch.case.136 i64 105, label %dispatch.case.137 + i64 111, label %dispatch.case.138 + i64 112, label %dispatch.case.139 + i64 113, label %dispatch.case.140 + i64 115, label %dispatch.case.141 + i64 119, label %dispatch.case.142 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.289 [ - i64 38, label %dispatch.case.290 - i64 39, label %dispatch.case.291 - i64 58, label %dispatch.case.292 - i64 74, label %dispatch.case.293 - i64 75, label %dispatch.case.294 + switch i64 %ua.raw20, label %dispatch.default.319 [ + i64 38, label %dispatch.case.320 + i64 39, label %dispatch.case.321 + i64 58, label %dispatch.case.322 + i64 74, label %dispatch.case.323 + i64 75, label %dispatch.case.324 ] -match.arm.57: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry +match.arm.57: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [22 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [24 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.49 @@ -1694,80 +1805,84 @@ match.arm.59: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.306 [ - i64 23, label %dispatch.case.307 - i64 85, label %dispatch.case.308 - i64 91, label %dispatch.case.309 - i64 92, label %dispatch.case.310 - i64 96, label %dispatch.case.311 - i64 118, label %dispatch.case.312 + switch i64 %ua.raw29, label %dispatch.default.336 [ + i64 23, label %dispatch.case.337 + i64 85, label %dispatch.case.338 + i64 91, label %dispatch.case.339 + i64 92, label %dispatch.case.340 + i64 96, label %dispatch.case.341 + i64 130, label %dispatch.case.342 ] match.arm.60: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.344 [ - i64 24, label %dispatch.case.345 - i64 64, label %dispatch.case.346 - i64 81, label %dispatch.case.347 - i64 89, label %dispatch.case.348 - i64 109, label %dispatch.case.349 - i64 116, label %dispatch.case.350 + switch i64 %ua.raw33, label %dispatch.default.374 [ + i64 24, label %dispatch.case.375 + i64 64, label %dispatch.case.376 + i64 81, label %dispatch.case.377 + i64 89, label %dispatch.case.378 + i64 109, label %dispatch.case.379 + i64 128, label %dispatch.case.380 ] -match.arm.61: ; 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 +match.arm.61: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.382 [ - i64 19, label %dispatch.case.383 - i64 26, label %dispatch.case.384 - i64 28, label %dispatch.case.385 - i64 30, label %dispatch.case.386 - i64 32, label %dispatch.case.387 - i64 33, label %dispatch.case.388 - i64 35, label %dispatch.case.389 - i64 37, label %dispatch.case.390 - i64 41, label %dispatch.case.391 - i64 48, label %dispatch.case.392 - i64 50, label %dispatch.case.393 - i64 51, label %dispatch.case.394 - i64 60, label %dispatch.case.395 - i64 61, label %dispatch.case.396 - i64 62, label %dispatch.case.397 - i64 63, label %dispatch.case.398 - i64 66, label %dispatch.case.399 - i64 71, label %dispatch.case.400 - i64 78, label %dispatch.case.401 - i64 87, label %dispatch.case.402 - i64 90, label %dispatch.case.403 - i64 94, label %dispatch.case.404 - i64 98, label %dispatch.case.405 - i64 101, label %dispatch.case.406 - i64 102, label %dispatch.case.407 - i64 107, label %dispatch.case.408 - i64 112, label %dispatch.case.409 - i64 113, label %dispatch.case.410 - i64 114, label %dispatch.case.411 - i64 115, label %dispatch.case.412 - i64 117, label %dispatch.case.413 - i64 119, label %dispatch.case.414 - i64 120, label %dispatch.case.415 - i64 121, label %dispatch.case.416 - i64 122, label %dispatch.case.417 + switch i64 %ua.raw37, label %dispatch.default.412 [ + i64 19, label %dispatch.case.413 + i64 26, label %dispatch.case.414 + i64 28, label %dispatch.case.415 + i64 30, label %dispatch.case.416 + i64 32, label %dispatch.case.417 + i64 33, label %dispatch.case.418 + i64 35, label %dispatch.case.419 + i64 37, label %dispatch.case.420 + i64 41, label %dispatch.case.421 + i64 48, label %dispatch.case.422 + i64 50, label %dispatch.case.423 + i64 51, label %dispatch.case.424 + i64 60, label %dispatch.case.425 + i64 61, label %dispatch.case.426 + i64 62, label %dispatch.case.427 + i64 63, label %dispatch.case.428 + i64 66, label %dispatch.case.429 + i64 71, label %dispatch.case.430 + i64 78, label %dispatch.case.431 + i64 87, label %dispatch.case.432 + i64 90, label %dispatch.case.433 + i64 94, label %dispatch.case.434 + i64 98, label %dispatch.case.435 + i64 101, label %dispatch.case.436 + i64 102, label %dispatch.case.437 + i64 107, label %dispatch.case.438 + i64 114, label %dispatch.case.439 + i64 116, label %dispatch.case.440 + i64 117, label %dispatch.case.441 + i64 121, label %dispatch.case.442 + i64 124, label %dispatch.case.443 + i64 125, label %dispatch.case.444 + i64 126, label %dispatch.case.445 + i64 127, label %dispatch.case.446 + i64 129, label %dispatch.case.447 + i64 131, label %dispatch.case.448 + i64 132, label %dispatch.case.449 + i64 133, label %dispatch.case.450 + i64 134, label %dispatch.case.451 ] match.arm.62: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.537 [ - i64 42, label %dispatch.case.538 - i64 43, label %dispatch.case.539 - i64 45, label %dispatch.case.540 - i64 47, label %dispatch.case.541 - i64 95, label %dispatch.case.542 + switch i64 %ua.raw41, label %dispatch.default.583 [ + i64 42, label %dispatch.case.584 + i64 43, label %dispatch.case.585 + i64 45, label %dispatch.case.586 + i64 47, label %dispatch.case.587 + i64 95, label %dispatch.case.588 ] match.arm.63: ; preds = %entry @@ -1776,7 +1891,7 @@ match.arm.63: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [188 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [206 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.49 @@ -1821,13 +1936,13 @@ float.merge.95: ; preds = %fN.unbox.94, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.merge.106: ; preds = %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.default.107 +dispatch.merge.106: ; preds = %dispatch.case.142, %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.default.107 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 dispatch.default.107: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.108: ; preds = %match.arm.55 @@ -2070,462 +2185,530 @@ dispatch.case.137: ; preds = %match.arm.55 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.106 -dispatch.merge.288: ; preds = %dispatch.case.294, %dispatch.case.293, %dispatch.case.292, %dispatch.case.291, %dispatch.case.290, %dispatch.default.289 +dispatch.case.138: ; preds = %match.arm.55 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.139: ; preds = %match.arm.55 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.140: ; preds = %match.arm.55 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.141: ; preds = %match.arm.55 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.case.142: ; preds = %match.arm.55 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.106 + +dispatch.merge.318: ; preds = %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.case.321, %dispatch.case.320, %dispatch.default.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.289: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.288 +dispatch.default.319: ; preds = %match.arm.56 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.318 -dispatch.case.290: ; preds = %match.arm.56 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.320: ; preds = %match.arm.56 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.291: ; preds = %match.arm.56 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.321: ; preds = %match.arm.56 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.292: ; preds = %match.arm.56 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.322: ; preds = %match.arm.56 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.293: ; preds = %match.arm.56 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.323: ; preds = %match.arm.56 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.294: ; preds = %match.arm.56 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.324: ; preds = %match.arm.56 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.merge.305: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.case.307, %dispatch.default.306 +dispatch.merge.335: ; preds = %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.case.337, %dispatch.default.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.306: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.305 +dispatch.default.336: ; preds = %match.arm.59 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.335 -dispatch.case.307: ; preds = %match.arm.59 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.308: ; preds = %match.arm.59 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.309: ; preds = %match.arm.59 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.310: ; preds = %match.arm.59 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.311: ; preds = %match.arm.59 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.312: ; preds = %match.arm.59 +dispatch.case.337: ; preds = %match.arm.59 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 + br label %dispatch.merge.335 -dispatch.merge.343: ; preds = %dispatch.case.350, %dispatch.case.349, %dispatch.case.348, %dispatch.case.347, %dispatch.case.346, %dispatch.case.345, %dispatch.default.344 +dispatch.case.338: ; preds = %match.arm.59 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.339: ; preds = %match.arm.59 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.340: ; preds = %match.arm.59 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.341: ; preds = %match.arm.59 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.342: ; preds = %match.arm.59 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.merge.373: ; preds = %dispatch.case.380, %dispatch.case.379, %dispatch.case.378, %dispatch.case.377, %dispatch.case.376, %dispatch.case.375, %dispatch.default.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.344: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.343 +dispatch.default.374: ; preds = %match.arm.60 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.373 -dispatch.case.345: ; preds = %match.arm.60 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 - -dispatch.case.346: ; preds = %match.arm.60 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 - -dispatch.case.347: ; preds = %match.arm.60 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 - -dispatch.case.348: ; preds = %match.arm.60 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 - -dispatch.case.349: ; preds = %match.arm.60 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 - -dispatch.case.350: ; preds = %match.arm.60 +dispatch.case.375: ; preds = %match.arm.60 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.343 + br label %dispatch.merge.373 -dispatch.merge.381: ; preds = %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.case.388, %dispatch.case.387, %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.default.382 +dispatch.case.376: ; preds = %match.arm.60 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.373 + +dispatch.case.377: ; preds = %match.arm.60 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.373 + +dispatch.case.378: ; preds = %match.arm.60 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.373 + +dispatch.case.379: ; preds = %match.arm.60 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.373 + +dispatch.case.380: ; preds = %match.arm.60 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.373 + +dispatch.merge.411: ; preds = %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.default.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.382: ; preds = %match.arm.61 - store { ptr, i64 } { ptr @str.296, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.383: ; preds = %match.arm.61 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.384: ; preds = %match.arm.61 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.385: ; preds = %match.arm.61 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.386: ; preds = %match.arm.61 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.387: ; preds = %match.arm.61 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.388: ; preds = %match.arm.61 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.389: ; preds = %match.arm.61 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.390: ; preds = %match.arm.61 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.391: ; preds = %match.arm.61 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.392: ; preds = %match.arm.61 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.393: ; preds = %match.arm.61 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.394: ; preds = %match.arm.61 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.395: ; preds = %match.arm.61 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.396: ; preds = %match.arm.61 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.397: ; preds = %match.arm.61 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.398: ; preds = %match.arm.61 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.399: ; preds = %match.arm.61 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.400: ; preds = %match.arm.61 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.401: ; preds = %match.arm.61 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.402: ; preds = %match.arm.61 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.403: ; preds = %match.arm.61 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.404: ; preds = %match.arm.61 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.405: ; preds = %match.arm.61 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.406: ; preds = %match.arm.61 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.407: ; preds = %match.arm.61 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.408: ; preds = %match.arm.61 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.409: ; preds = %match.arm.61 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.410: ; preds = %match.arm.61 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.411: ; preds = %match.arm.61 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 - -dispatch.case.412: ; preds = %match.arm.61 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 +dispatch.default.412: ; preds = %match.arm.61 + store { ptr, i64 } { ptr @str.316, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.411 dispatch.case.413: ; preds = %match.arm.61 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 + br label %dispatch.merge.411 dispatch.case.414: ; preds = %match.arm.61 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 + br label %dispatch.merge.411 dispatch.case.415: ; preds = %match.arm.61 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 + br label %dispatch.merge.411 dispatch.case.416: ; preds = %match.arm.61 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 + br label %dispatch.merge.411 dispatch.case.417: ; preds = %match.arm.61 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.381 + br label %dispatch.merge.411 -dispatch.merge.536: ; preds = %dispatch.case.542, %dispatch.case.541, %dispatch.case.540, %dispatch.case.539, %dispatch.case.538, %dispatch.default.537 +dispatch.case.418: ; preds = %match.arm.61 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.419: ; preds = %match.arm.61 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.420: ; preds = %match.arm.61 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.421: ; preds = %match.arm.61 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.422: ; preds = %match.arm.61 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.423: ; preds = %match.arm.61 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.424: ; preds = %match.arm.61 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.425: ; preds = %match.arm.61 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.426: ; preds = %match.arm.61 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.427: ; preds = %match.arm.61 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.428: ; preds = %match.arm.61 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.429: ; preds = %match.arm.61 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.430: ; preds = %match.arm.61 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.431: ; preds = %match.arm.61 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.432: ; preds = %match.arm.61 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.433: ; preds = %match.arm.61 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.434: ; preds = %match.arm.61 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.435: ; preds = %match.arm.61 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.436: ; preds = %match.arm.61 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.437: ; preds = %match.arm.61 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.438: ; preds = %match.arm.61 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.439: ; preds = %match.arm.61 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.440: ; preds = %match.arm.61 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.441: ; preds = %match.arm.61 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.442: ; preds = %match.arm.61 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.443: ; preds = %match.arm.61 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.444: ; preds = %match.arm.61 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.445: ; preds = %match.arm.61 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.446: ; preds = %match.arm.61 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.447: ; preds = %match.arm.61 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.448: ; preds = %match.arm.61 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.449: ; preds = %match.arm.61 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.450: ; preds = %match.arm.61 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.case.451: ; preds = %match.arm.61 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.411 + +dispatch.merge.582: ; preds = %dispatch.case.588, %dispatch.case.587, %dispatch.case.586, %dispatch.case.585, %dispatch.case.584, %dispatch.default.583 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 -dispatch.default.537: ; preds = %match.arm.62 - store { ptr, i64 } { ptr @str.297, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.536 +dispatch.default.583: ; preds = %match.arm.62 + store { ptr, i64 } { ptr @str.317, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.582 -dispatch.case.538: ; preds = %match.arm.62 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.584: ; preds = %match.arm.62 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.536 + br label %dispatch.merge.582 -dispatch.case.539: ; preds = %match.arm.62 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.585: ; preds = %match.arm.62 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.536 + br label %dispatch.merge.582 -dispatch.case.540: ; preds = %match.arm.62 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.586: ; preds = %match.arm.62 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.536 + br label %dispatch.merge.582 -dispatch.case.541: ; preds = %match.arm.62 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.587: ; preds = %match.arm.62 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.536 + br label %dispatch.merge.582 -dispatch.case.542: ; preds = %match.arm.62 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.588: ; preds = %match.arm.62 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.536 + br label %dispatch.merge.582 } ; Function Attrs: nounwind @@ -2534,7 +2717,7 @@ 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.298, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.318, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2630,7 +2813,7 @@ if.merge.23: ; preds = %if.merge.37, %if.me if.then.24: ; preds = %if.then.21 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, 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 @@ -2638,7 +2821,7 @@ if.then.24: ; preds = %if.then.21 %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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2648,13 +2831,13 @@ if.then.24: ; preds = %if.then.21 %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.301, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.25 if.merge.25: ; preds = %if.then.24, %if.then.21 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2662,7 +2845,7 @@ if.merge.25: ; preds = %if.then.24, %if.the %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.303, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2676,7 +2859,7 @@ if.merge.25: ; preds = %if.then.24, %if.the if.then.35: ; preds = %if.else.22 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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 @@ -2684,7 +2867,7 @@ if.then.35: ; preds = %if.else.22 %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.305, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2695,7 +2878,7 @@ if.then.35: ; preds = %if.else.22 %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.306, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2752,7 +2935,7 @@ if.merge.43: ; preds = %if.merge.46, %if.el if.then.44: ; preds = %if.then.41 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, 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 @@ -2760,7 +2943,7 @@ if.then.44: ; preds = %if.then.41 %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.308, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, 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 @@ -2771,7 +2954,7 @@ if.then.44: ; preds = %if.then.41 %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.309, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2791,7 +2974,7 @@ if.merge.46: ; preds = %if.else.45, %if.the if.then.47: ; preds = %while.exit.14 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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 @@ -2799,7 +2982,7 @@ if.then.47: ; preds = %while.exit.14 %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.311, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, 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 @@ -2810,7 +2993,7 @@ if.then.47: ; preds = %while.exit.14 %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.312, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.48 @@ -3643,6 +3826,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @leaf(ptr %0, i32 %1) #0 { entry: @@ -3654,7 +3885,7 @@ entry: br i1 %icmp, label %if.then.0, label %if.merge.1 if.then.0: ; preds = %entry - ret i32 20 + ret i32 22 if.merge.1: ; preds = %entry ret i32 0 @@ -3680,7 +3911,7 @@ try.ok.3: ; preds = %entry br i1 %icmpN, label %if.then.4, label %if.merge.5 if.then.4: ; preds = %try.ok.3 - ret i32 21 + ret i32 23 if.merge.5: ; preds = %try.ok.3 ret i32 0 @@ -3712,7 +3943,7 @@ entry: %allocaN = alloca i32, align 4 store i32 0, ptr %allocaN, align 4 %load = load i32, ptr %alloca, align 4 - %icmp = icmp eq i32 %load, 20 + %icmp = icmp eq i32 %load, 22 br i1 %icmp, label %if.then.8, label %if.merge.9 if.then.8: ; preds = %entry @@ -3723,7 +3954,7 @@ if.then.8: ; preds = %entry if.merge.9: ; preds = %if.then.8, %entry %loadN = load i32, ptr %alloca, align 4 - %icmpN = icmp eq i32 %loadN, 21 + %icmpN = icmp eq i32 %loadN, 23 br i1 %icmpN, label %if.then.10, label %if.merge.11 if.then.10: ; preds = %if.merge.9 @@ -3757,7 +3988,7 @@ entry: define internal void @print__ct_s5a624c50db282f36__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.323, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.343, i64 20 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3773,7 +4004,7 @@ entry: %gepN = getelementptr inbounds { 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.324, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.344, 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 17) @@ -3801,7 +4032,7 @@ entry: ; 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.325, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.345, i64 20 }) ret { ptr, i64 } %call } @@ -3812,35 +4043,35 @@ entry: %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.326, i64 15 }, { ptr, i64 } { ptr @str.327, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.346, i64 15 }, { ptr, i64 } { ptr @str.347, 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.138 + br label %while.hdr.143 -while.hdr.138: ; preds = %fv.merge, %entry +while.hdr.143: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.139, label %while.exit.140 + br i1 %icmp, label %while.body.144, label %while.exit.145 -while.body.139: ; preds = %while.hdr.138 +while.body.144: ; preds = %while.hdr.143 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.141, label %if.merge.142 + br i1 %icmpN, label %if.then.146, label %if.merge.147 -while.exit.140: ; preds = %while.hdr.138 +while.exit.145: ; preds = %while.hdr.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 1 }) ret { ptr, i64 } %callN -if.then.141: ; preds = %while.body.139 +if.then.146: ; preds = %while.body.144 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.142 + br label %if.merge.147 -if.merge.142: ; preds = %if.then.141, %while.body.139 +if.merge.147: ; preds = %if.then.146, %while.body.144 %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 @@ -3848,7 +4079,7 @@ if.merge.142: ; preds = %if.then.141, %while %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.333, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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 @@ -3868,31 +4099,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.138 + br label %while.hdr.143 -fv.default: ; preds = %if.merge.142 +fv.default: ; preds = %if.merge.147 br label %fv.merge -fv.case: ; preds = %if.merge.142 +fv.case: ; preds = %if.merge.147 %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.142 +fv.case17: ; preds = %if.merge.147 %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.142 +fv.case20: ; preds = %if.merge.147 %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.142 +fv.case24: ; preds = %if.merge.147 %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 @@ -3905,43 +4136,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.334, i64 9 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.354, i64 9 }, { ptr, i64 } { ptr @str.355, 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.143 + br label %while.hdr.148 -while.hdr.143: ; preds = %fv.merge, %entry +while.hdr.148: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.144, label %while.exit.145 + br i1 %icmp, label %while.body.149, label %while.exit.150 -while.body.144: ; preds = %while.hdr.143 +while.body.149: ; preds = %while.hdr.148 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.146, label %if.merge.147 + br i1 %icmpN, label %if.then.151, label %if.merge.152 -while.exit.145: ; preds = %while.hdr.143 +while.exit.150: ; preds = %while.hdr.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 1 }) ret { ptr, i64 } %callN -if.then.146: ; preds = %while.body.144 +if.then.151: ; preds = %while.body.149 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.147 + br label %if.merge.152 -if.merge.147: ; preds = %if.then.146, %while.body.144 +if.merge.152: ; preds = %if.then.151, %while.body.149 %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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.361, 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.342, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, 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 @@ -3960,24 +4191,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.143 + br label %while.hdr.148 -fv.default: ; preds = %if.merge.147 +fv.default: ; preds = %if.merge.152 br label %fv.merge -fv.case: ; preds = %if.merge.147 +fv.case: ; preds = %if.merge.152 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.147 +fv.case17: ; preds = %if.merge.152 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.147 +fv.case21: ; preds = %if.merge.152 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -3990,43 +4221,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.343, i64 7 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 7 }, { ptr, i64 } { ptr @str.364, 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.148 + br label %while.hdr.153 -while.hdr.148: ; preds = %fv.merge, %entry +while.hdr.153: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.149, label %while.exit.150 + br i1 %icmp, label %while.body.154, label %while.exit.155 -while.body.149: ; preds = %while.hdr.148 +while.body.154: ; preds = %while.hdr.153 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.151, label %if.merge.152 + br i1 %icmpN, label %if.then.156, label %if.merge.157 -while.exit.150: ; preds = %while.hdr.148 +while.exit.155: ; preds = %while.hdr.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) ret { ptr, i64 } %callN -if.then.151: ; preds = %while.body.149 +if.then.156: ; preds = %while.body.154 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.152 + br label %if.merge.157 -if.merge.152: ; preds = %if.then.151, %while.body.149 +if.merge.157: ; preds = %if.then.156, %while.body.154 %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.349, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.369, 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.350, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 %alloca, align 8 @@ -4044,19 +4275,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.148 + br label %while.hdr.153 -fv.default: ; preds = %if.merge.152 +fv.default: ; preds = %if.merge.157 br label %fv.merge -fv.case: ; preds = %if.merge.152 +fv.case: ; preds = %if.merge.157 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.152 +fv.case17: ; preds = %if.merge.157 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4068,43 +4299,43 @@ 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.351, i64 10 }, { ptr, i64 } { ptr @str.352, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.371, i64 10 }, { ptr, i64 } { ptr @str.372, 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.153 + br label %while.hdr.158 -while.hdr.153: ; preds = %if.merge.157, %entry +while.hdr.158: ; preds = %if.merge.162, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.154, label %while.exit.155 + br i1 %icmp, label %while.body.159, label %while.exit.160 -while.body.154: ; preds = %while.hdr.153 +while.body.159: ; preds = %while.hdr.158 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.156, label %if.merge.157 + br i1 %icmpN, label %if.then.161, label %if.merge.162 -while.exit.155: ; preds = %while.hdr.153 +while.exit.160: ; preds = %while.hdr.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) ret { ptr, i64 } %callN -if.then.156: ; preds = %while.body.154 +if.then.161: ; preds = %while.body.159 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.157 + br label %if.merge.162 -if.merge.157: ; preds = %if.then.156, %while.body.154 +if.merge.162: ; preds = %if.then.161, %while.body.159 %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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.375, 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.356, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4115,7 +4346,7 @@ if.merge.157: ; preds = %if.then.156, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.153 + br label %while.hdr.158 } ; Function Attrs: nounwind @@ -4123,43 +4354,43 @@ 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.357, i64 3 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 3 }, { ptr, i64 } { ptr @str.378, 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.158 + br label %while.hdr.163 -while.hdr.158: ; preds = %fv.merge, %entry +while.hdr.163: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.159, label %while.exit.160 + br i1 %icmp, label %while.body.164, label %while.exit.165 -while.body.159: ; preds = %while.hdr.158 +while.body.164: ; preds = %while.hdr.163 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.161, label %if.merge.162 + br i1 %icmpN, label %if.then.166, label %if.merge.167 -while.exit.160: ; preds = %while.hdr.158 +while.exit.165: ; preds = %while.hdr.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 1 }) ret { ptr, i64 } %callN -if.then.161: ; preds = %while.body.159 +if.then.166: ; preds = %while.body.164 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.380, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.162 + br label %if.merge.167 -if.merge.162: ; preds = %if.then.161, %while.body.159 +if.merge.167: ; preds = %if.then.166, %while.body.164 %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.362, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.382, 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.363, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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 @@ -4176,12 +4407,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.158 + br label %while.hdr.163 -fv.default: ; preds = %if.merge.162 +fv.default: ; preds = %if.merge.167 br label %fv.merge -fv.case: ; preds = %if.merge.162 +fv.case: ; preds = %if.merge.167 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4192,43 +4423,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.364, i64 10 }, { ptr, i64 } { ptr @str.365, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.384, i64 10 }, { ptr, i64 } { ptr @str.385, 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.163 + br label %while.hdr.168 -while.hdr.163: ; preds = %fv.merge, %entry +while.hdr.168: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.164, label %while.exit.165 + br i1 %icmp, label %while.body.169, label %while.exit.170 -while.body.164: ; preds = %while.hdr.163 +while.body.169: ; preds = %while.hdr.168 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.166, label %if.merge.167 + br i1 %icmpN, label %if.then.171, label %if.merge.172 -while.exit.165: ; preds = %while.hdr.163 +while.exit.170: ; preds = %while.hdr.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 1 }) ret { ptr, i64 } %callN -if.then.166: ; preds = %while.body.164 +if.then.171: ; preds = %while.body.169 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.167 + br label %if.merge.172 -if.merge.167: ; preds = %if.then.166, %while.body.164 +if.merge.172: ; preds = %if.then.171, %while.body.169 %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.370, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.390, 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.371, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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 @@ -4246,18 +4477,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.163 + br label %while.hdr.168 -fv.default: ; preds = %if.merge.167 +fv.default: ; preds = %if.merge.172 br label %fv.merge -fv.case: ; preds = %if.merge.167 +fv.case: ; preds = %if.merge.172 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.167 +fv.case17: ; preds = %if.merge.172 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4269,91 +4500,7 @@ 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.372, i64 5 }, { ptr, i64 } { ptr @str.373, 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.168 - -while.hdr.168: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.169, label %while.exit.170 - -while.body.169: ; preds = %while.hdr.168 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.171, label %if.merge.172 - -while.exit.170: ; preds = %while.hdr.168 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 1 }) - ret { ptr, i64 } %callN - -if.then.171: ; preds = %while.body.169 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.172 - -if.merge.172: ; preds = %if.then.171, %while.body.169 - %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.379, 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.380, 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.168 - -fv.default: ; preds = %if.merge.172 - br label %fv.merge - -fv.case: ; preds = %if.merge.172 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.172 - %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.172 - %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 21, 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.381, i64 8 }, { ptr, i64 } { ptr @str.382, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.392, i64 5 }, { ptr, i64 } { ptr @str.393, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4372,27 +4519,27 @@ while.body.174: ; preds = %while.hdr.173 while.exit.175: ; preds = %while.hdr.173 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 1 }) ret { ptr, i64 } %callN if.then.176: ; preds = %while.body.174 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.177 if.merge.177: ; preds = %if.then.176, %while.body.174 %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.388, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.399, 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.389, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, 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 { 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 @@ -4414,17 +4561,101 @@ fv.default: ; preds = %if.merge.177 br label %fv.merge fv.case: ; preds = %if.merge.177 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.177 + %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.177 + %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 21, 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.401, i64 8 }, { ptr, i64 } { ptr @str.402, 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.178 + +while.hdr.178: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.179, label %while.exit.180 + +while.body.179: ; preds = %while.hdr.178 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.181, label %if.merge.182 + +while.exit.180: ; preds = %while.hdr.178 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 1 }) + ret { ptr, i64 } %callN + +if.then.181: ; preds = %while.body.179 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.182 + +if.merge.182: ; preds = %if.then.181, %while.body.179 + %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.408, 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.409, 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.178 + +fv.default: ; preds = %if.merge.182 + br label %fv.merge + +fv.case: ; preds = %if.merge.182 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.177 +fv.case17: ; preds = %if.merge.182 %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.177 +fv.case20: ; preds = %if.merge.182 %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 @@ -4436,43 +4667,43 @@ 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.390, i64 17 }, { ptr, i64 } { ptr @str.391, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.410, i64 17 }, { ptr, i64 } { ptr @str.411, 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.178 + br label %while.hdr.183 -while.hdr.178: ; preds = %fv.merge, %entry +while.hdr.183: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.179, label %while.exit.180 + br i1 %icmp, label %while.body.184, label %while.exit.185 -while.body.179: ; preds = %while.hdr.178 +while.body.184: ; preds = %while.hdr.183 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.181, label %if.merge.182 + br i1 %icmpN, label %if.then.186, label %if.merge.187 -while.exit.180: ; preds = %while.hdr.178 +while.exit.185: ; preds = %while.hdr.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 1 }) ret { ptr, i64 } %callN -if.then.181: ; preds = %while.body.179 +if.then.186: ; preds = %while.body.184 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.182 + br label %if.merge.187 -if.merge.182: ; preds = %if.then.181, %while.body.179 +if.merge.187: ; preds = %if.then.186, %while.body.184 %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.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.418, 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.399, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.419, 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 @@ -4492,29 +4723,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.178 + br label %while.hdr.183 -fv.default: ; preds = %if.merge.182 +fv.default: ; preds = %if.merge.187 br label %fv.merge -fv.case: ; preds = %if.merge.182 +fv.case: ; preds = %if.merge.187 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.182 +fv.case17: ; preds = %if.merge.187 %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.182 +fv.case20: ; preds = %if.merge.187 %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.182 +fv.case23: ; preds = %if.merge.187 %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 @@ -4525,43 +4756,43 @@ 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.400, i64 4 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 4 }, { ptr, i64 } { ptr @str.421, 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.183 + br label %while.hdr.188 -while.hdr.183: ; preds = %fv.merge, %entry +while.hdr.188: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.184, label %while.exit.185 + br i1 %icmp, label %while.body.189, label %while.exit.190 -while.body.184: ; preds = %while.hdr.183 +while.body.189: ; preds = %while.hdr.188 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.186, label %if.merge.187 + br i1 %icmpN, label %if.then.191, label %if.merge.192 -while.exit.185: ; preds = %while.hdr.183 +while.exit.190: ; preds = %while.hdr.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 1 }) ret { ptr, i64 } %callN -if.then.186: ; preds = %while.body.184 +if.then.191: ; preds = %while.body.189 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.187 + br label %if.merge.192 -if.merge.187: ; preds = %if.then.186, %while.body.184 +if.merge.192: ; preds = %if.then.191, %while.body.189 %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.405, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.425, 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.406, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, 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 @@ -4578,12 +4809,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.183 + br label %while.hdr.188 -fv.default: ; preds = %if.merge.187 +fv.default: ; preds = %if.merge.192 br label %fv.merge -fv.case: ; preds = %if.merge.187 +fv.case: ; preds = %if.merge.192 %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 @@ -4598,43 +4829,43 @@ entry: %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.407, i64 10 }, { ptr, i64 } { ptr @str.408, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.427, i64 10 }, { ptr, i64 } { ptr @str.428, 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.188 + br label %while.hdr.193 -while.hdr.188: ; preds = %fv.merge, %entry +while.hdr.193: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.189, label %while.exit.190 + br i1 %icmp, label %while.body.194, label %while.exit.195 -while.body.189: ; preds = %while.hdr.188 +while.body.194: ; preds = %while.hdr.193 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.191, label %if.merge.192 + br i1 %icmpN, label %if.then.196, label %if.merge.197 -while.exit.190: ; preds = %while.hdr.188 +while.exit.195: ; preds = %while.hdr.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 1 }) ret { ptr, i64 } %callN -if.then.191: ; preds = %while.body.189 +if.then.196: ; preds = %while.body.194 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.192 + br label %if.merge.197 -if.merge.192: ; preds = %if.then.191, %while.body.189 +if.merge.197: ; preds = %if.then.196, %while.body.194 %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.416, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.436, 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.417, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, 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 @@ -4655,38 +4886,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.188 + br label %while.hdr.193 -fv.default: ; preds = %if.merge.192 +fv.default: ; preds = %if.merge.197 br label %fv.merge -fv.case: ; preds = %if.merge.192 +fv.case: ; preds = %if.merge.197 %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.192 +fv.case17: ; preds = %if.merge.197 %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.192 +fv.case20: ; preds = %if.merge.197 %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.192 +fv.case24: ; preds = %if.merge.197 %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.192 +fv.case29: ; preds = %if.merge.197 %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 @@ -4700,43 +4931,43 @@ 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.418, i64 13 }, { ptr, i64 } { ptr @str.419, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.438, i64 13 }, { ptr, i64 } { ptr @str.439, 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.193 + br label %while.hdr.198 -while.hdr.193: ; preds = %fv.merge, %entry +while.hdr.198: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.194, label %while.exit.195 + br i1 %icmp, label %while.body.199, label %while.exit.200 -while.body.194: ; preds = %while.hdr.193 +while.body.199: ; preds = %while.hdr.198 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.196, label %if.merge.197 + br i1 %icmpN, label %if.then.201, label %if.merge.202 -while.exit.195: ; preds = %while.hdr.193 +while.exit.200: ; preds = %while.hdr.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) ret { ptr, i64 } %callN -if.then.196: ; preds = %while.body.194 +if.then.201: ; preds = %while.body.199 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.197 + br label %if.merge.202 -if.merge.197: ; preds = %if.then.196, %while.body.194 +if.merge.202: ; preds = %if.then.201, %while.body.199 %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.424, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.444, 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.425, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.445, 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 @@ -4754,18 +4985,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.193 + br label %while.hdr.198 -fv.default: ; preds = %if.merge.197 +fv.default: ; preds = %if.merge.202 br label %fv.merge -fv.case: ; preds = %if.merge.197 +fv.case: ; preds = %if.merge.202 %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.197 +fv.case17: ; preds = %if.merge.202 %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 @@ -4778,43 +5009,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.426, i64 8 }, { ptr, i64 } { ptr @str.427, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.446, i64 8 }, { ptr, i64 } { ptr @str.447, 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.198 + br label %while.hdr.203 -while.hdr.198: ; preds = %fv.merge, %entry +while.hdr.203: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.199, label %while.exit.200 + br i1 %icmp, label %while.body.204, label %while.exit.205 -while.body.199: ; preds = %while.hdr.198 +while.body.204: ; preds = %while.hdr.203 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.201, label %if.merge.202 + br i1 %icmpN, label %if.then.206, label %if.merge.207 -while.exit.200: ; preds = %while.hdr.198 +while.exit.205: ; preds = %while.hdr.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) ret { ptr, i64 } %callN -if.then.201: ; preds = %while.body.199 +if.then.206: ; preds = %while.body.204 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.202 + br label %if.merge.207 -if.merge.202: ; preds = %if.then.201, %while.body.199 +if.merge.207: ; preds = %if.then.206, %while.body.204 %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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.455, 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.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, 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 @@ -4835,36 +5066,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.198 + br label %while.hdr.203 -fv.default: ; preds = %if.merge.202 +fv.default: ; preds = %if.merge.207 br label %fv.merge -fv.case: ; preds = %if.merge.202 +fv.case: ; preds = %if.merge.207 %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.202 +fv.case17: ; preds = %if.merge.207 %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.202 +fv.case21: ; preds = %if.merge.207 %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.202 +fv.case25: ; preds = %if.merge.207 %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.202 +fv.case29: ; preds = %if.merge.207 %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 @@ -4875,89 +5106,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.437, i64 5 }, { ptr, i64 } { ptr @str.438, 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.203 - -while.hdr.203: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.204, label %while.exit.205 - -while.body.204: ; preds = %while.hdr.203 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.206, label %if.merge.207 - -while.exit.205: ; preds = %while.hdr.203 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) - ret { ptr, i64 } %callN - -if.then.206: ; preds = %while.body.204 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.207 - -if.merge.207: ; preds = %if.then.206, %while.body.204 - %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.444, 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.445, 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.203 - -fv.default: ; preds = %if.merge.207 - br label %fv.merge - -fv.case: ; preds = %if.merge.207 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.207 - %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.207 - %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.446, i64 6 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 5 }, { ptr, i64 } { ptr @str.458, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4976,24 +5125,24 @@ while.body.209: ; preds = %while.hdr.208 while.exit.210: ; preds = %while.hdr.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.448, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 1 }) ret { ptr, i64 } %callN if.then.211: ; preds = %while.body.209 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.212 if.merge.212: ; preds = %if.then.211, %while.body.209 %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.453, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.464, 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.454, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, 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 @@ -5020,7 +5169,7 @@ fv.default: ; preds = %if.merge.212 fv.case: ; preds = %if.merge.212 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.212 @@ -5035,13 +5184,11 @@ fv.case20: ; preds = %if.merge.212 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.455, i64 6 }, { ptr, i64 } { ptr @str.456, i64 1 }) + %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.466, i64 6 }, { ptr, i64 } { ptr @str.467, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5050,7 +5197,7 @@ entry: while.hdr.213: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.214, label %while.exit.215 while.body.214: ; preds = %while.hdr.213 @@ -5060,24 +5207,108 @@ while.body.214: ; preds = %while.hdr.213 while.exit.215: ; preds = %while.hdr.213 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 1 }) ret { ptr, i64 } %callN if.then.216: ; preds = %while.body.214 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.217 if.merge.217: ; preds = %if.then.216, %while.body.214 %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.461, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.473, 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.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, 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.213 + +fv.default: ; preds = %if.merge.217 + br label %fv.merge + +fv.case: ; preds = %if.merge.217 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.217 + %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.217 + %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.475, i64 6 }, { ptr, i64 } { ptr @str.476, 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.218 + +while.hdr.218: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.219, label %while.exit.220 + +while.body.219: ; preds = %while.hdr.218 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.221, label %if.merge.222 + +while.exit.220: ; preds = %while.hdr.218 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 1 }) + ret { ptr, i64 } %callN + +if.then.221: ; preds = %while.body.219 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.222 + +if.merge.222: ; preds = %if.then.221, %while.body.219 + %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.481, 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.482, 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 @@ -5095,19 +5326,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.213 + br label %while.hdr.218 -fv.default: ; preds = %if.merge.217 +fv.default: ; preds = %if.merge.222 br label %fv.merge -fv.case: ; preds = %if.merge.217 +fv.case: ; preds = %if.merge.222 %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.217 +fv.case17: ; preds = %if.merge.222 %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 @@ -5121,93 +5352,7 @@ 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.463, i64 4 }, { ptr, i64 } { ptr @str.464, 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.218 - -while.hdr.218: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.219, label %while.exit.220 - -while.body.219: ; preds = %while.hdr.218 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.221, label %if.merge.222 - -while.exit.220: ; preds = %while.hdr.218 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) - ret { ptr, i64 } %callN - -if.then.221: ; preds = %while.body.219 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.222 - -if.merge.222: ; preds = %if.then.221, %while.body.219 - %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.470, 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.471, 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.218 - -fv.default: ; preds = %if.merge.222 - br label %fv.merge - -fv.case: ; preds = %if.merge.222 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.222 - %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.222 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.472, i64 6 }, { ptr, i64 } { ptr @str.473, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.483, i64 4 }, { ptr, i64 } { ptr @str.484, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5226,24 +5371,110 @@ while.body.224: ; preds = %while.hdr.223 while.exit.225: ; preds = %while.hdr.223 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) ret { ptr, i64 } %callN if.then.226: ; preds = %while.body.224 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.227 if.merge.227: ; preds = %if.then.226, %while.body.224 %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.479, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.490, 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.480, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.491, 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.223 + +fv.default: ; preds = %if.merge.227 + br label %fv.merge + +fv.case: ; preds = %if.merge.227 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.227 + %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.227 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.492, i64 6 }, { ptr, i64 } { ptr @str.493, 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.228 + +while.hdr.228: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.229, label %while.exit.230 + +while.body.229: ; preds = %while.hdr.228 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.231, label %if.merge.232 + +while.exit.230: ; preds = %while.hdr.228 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 1 }) + ret { ptr, i64 } %callN + +if.then.231: ; preds = %while.body.229 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.232 + +if.merge.232: ; preds = %if.then.231, %while.body.229 + %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.499, 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.500, 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 @@ -5262,24 +5493,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.223 + br label %while.hdr.228 -fv.default: ; preds = %if.merge.227 +fv.default: ; preds = %if.merge.232 br label %fv.merge -fv.case: ; preds = %if.merge.227 +fv.case: ; preds = %if.merge.232 %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.227 +fv.case17: ; preds = %if.merge.232 %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.227 +fv.case20: ; preds = %if.merge.232 %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 @@ -5292,43 +5523,43 @@ 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.481, i64 12 }, { ptr, i64 } { ptr @str.482, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.501, i64 12 }, { ptr, i64 } { ptr @str.502, 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.228 + br label %while.hdr.233 -while.hdr.228: ; preds = %if.merge.232, %entry +while.hdr.233: ; preds = %if.merge.237, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.229, label %while.exit.230 + br i1 %icmp, label %while.body.234, label %while.exit.235 -while.body.229: ; preds = %while.hdr.228 +while.body.234: ; preds = %while.hdr.233 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.231, label %if.merge.232 + br i1 %icmpN, label %if.then.236, label %if.merge.237 -while.exit.230: ; preds = %while.hdr.228 +while.exit.235: ; preds = %while.hdr.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.483, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 1 }) ret { ptr, i64 } %callN -if.then.231: ; preds = %while.body.229 +if.then.236: ; preds = %while.body.234 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.232 + br label %if.merge.237 -if.merge.232: ; preds = %if.then.231, %while.body.229 +if.merge.237: ; preds = %if.then.236, %while.body.234 %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.485, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.505, 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.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5339,7 +5570,7 @@ if.merge.232: ; preds = %if.then.231, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.228 + br label %while.hdr.233 } ; Function Attrs: nounwind @@ -5348,95 +5579,7 @@ 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.487, i64 8 }, { ptr, i64 } { ptr @str.488, 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.233 - -while.hdr.233: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.234, label %while.exit.235 - -while.body.234: ; preds = %while.hdr.233 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.236, label %if.merge.237 - -while.exit.235: ; preds = %while.hdr.233 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) - ret { ptr, i64 } %callN - -if.then.236: ; preds = %while.body.234 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.237 - -if.merge.237: ; preds = %if.then.236, %while.body.234 - %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.494, 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.495, 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.233 - -fv.default: ; preds = %if.merge.237 - br label %fv.merge - -fv.case: ; preds = %if.merge.237 - %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.237 - %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.237 - %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.496, i64 7 }, { ptr, i64 } { ptr @str.497, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, i64 8 }, { ptr, i64 } { ptr @str.508, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5455,24 +5598,112 @@ while.body.239: ; preds = %while.hdr.238 while.exit.240: ; preds = %while.hdr.238 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.509, i64 1 }) ret { ptr, i64 } %callN if.then.241: ; preds = %while.body.239 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.242 if.merge.242: ; preds = %if.then.241, %while.body.239 %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.503, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.514, 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.504, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, 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.238 + +fv.default: ; preds = %if.merge.242 + br label %fv.merge + +fv.case: ; preds = %if.merge.242 + %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.242 + %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.242 + %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.516, i64 7 }, { ptr, i64 } { ptr @str.517, 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.243 + +while.hdr.243: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.244, label %while.exit.245 + +while.body.244: ; preds = %while.hdr.243 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.246, label %if.merge.247 + +while.exit.245: ; preds = %while.hdr.243 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 1 }) + ret { ptr, i64 } %callN + +if.then.246: ; preds = %while.body.244 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.247 + +if.merge.247: ; preds = %if.then.246, %while.body.244 + %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.523, 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.524, 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 @@ -5491,26 +5722,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.238 + br label %while.hdr.243 -fv.default: ; preds = %if.merge.242 +fv.default: ; preds = %if.merge.247 br label %fv.merge -fv.case: ; preds = %if.merge.242 +fv.case: ; preds = %if.merge.247 %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.242 +fv.case17: ; preds = %if.merge.247 %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.242 +fv.case22: ; preds = %if.merge.247 %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 @@ -5524,86 +5755,7 @@ 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.505, i64 9 }, { ptr, i64 } { ptr @str.506, 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.243 - -while.hdr.243: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.244, label %while.exit.245 - -while.body.244: ; preds = %while.hdr.243 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.246, label %if.merge.247 - -while.exit.245: ; preds = %while.hdr.243 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 1 }) - ret { ptr, i64 } %callN - -if.then.246: ; preds = %while.body.244 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.508, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.247 - -if.merge.247: ; preds = %if.then.246, %while.body.244 - %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.511, 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.512, 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.243 - -fv.default: ; preds = %if.merge.247 - br label %fv.merge - -fv.case: ; preds = %if.merge.247 - %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.247 - %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.513, i64 4 }, { ptr, i64 } { ptr @str.514, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.525, i64 9 }, { ptr, i64 } { ptr @str.526, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5622,27 +5774,27 @@ while.body.249: ; preds = %while.hdr.248 while.exit.250: ; preds = %while.hdr.248 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 1 }) ret { ptr, i64 } %callN if.then.251: ; preds = %while.body.249 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.252 if.merge.252: ; preds = %if.then.251, %while.body.249 %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.519, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.531, 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.520, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, 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 { 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 @@ -5663,11 +5815,90 @@ fv.default: ; preds = %if.merge.252 br label %fv.merge fv.case: ; preds = %if.merge.252 + %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.252 + %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.533, i64 4 }, { ptr, i64 } { ptr @str.534, 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.253 + +while.hdr.253: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.254, label %while.exit.255 + +while.body.254: ; preds = %while.hdr.253 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.256, label %if.merge.257 + +while.exit.255: ; preds = %while.hdr.253 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) + ret { ptr, i64 } %callN + +if.then.256: ; preds = %while.body.254 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.257 + +if.merge.257: ; preds = %if.then.256, %while.body.254 + %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.539, 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.540, 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.253 + +fv.default: ; preds = %if.merge.257 + br label %fv.merge + +fv.case: ; preds = %if.merge.257 %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.252 +fv.case17: ; preds = %if.merge.257 %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 @@ -5685,43 +5916,43 @@ entry: %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.521, i64 6 }, { ptr, i64 } { ptr @str.522, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.541, i64 6 }, { ptr, i64 } { ptr @str.542, 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.253 + br label %while.hdr.258 -while.hdr.253: ; preds = %fv.merge, %entry +while.hdr.258: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.254, label %while.exit.255 + br i1 %icmp, label %while.body.259, label %while.exit.260 -while.body.254: ; preds = %while.hdr.253 +while.body.259: ; preds = %while.hdr.258 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.256, label %if.merge.257 + br i1 %icmpN, label %if.then.261, label %if.merge.262 -while.exit.255: ; preds = %while.hdr.253 +while.exit.260: ; preds = %while.hdr.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) ret { ptr, i64 } %callN -if.then.256: ; preds = %while.body.254 +if.then.261: ; preds = %while.body.259 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.257 + br label %if.merge.262 -if.merge.257: ; preds = %if.then.256, %while.body.254 +if.merge.262: ; preds = %if.then.261, %while.body.259 %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.532, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.552, 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.533, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, 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 @@ -5744,51 +5975,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.253 + br label %while.hdr.258 -fv.default: ; preds = %if.merge.257 +fv.default: ; preds = %if.merge.262 br label %fv.merge -fv.case: ; preds = %if.merge.257 +fv.case: ; preds = %if.merge.262 %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.257 +fv.case17: ; preds = %if.merge.262 %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.257 +fv.case22: ; preds = %if.merge.262 %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.257 +fv.case25: ; preds = %if.merge.262 %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.257 +fv.case28: ; preds = %if.merge.262 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.257 +fv.case33: ; preds = %if.merge.262 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.257 +fv.case38: ; preds = %if.merge.262 %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 @@ -5803,43 +6034,43 @@ entry: %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.534, i64 6 }, { ptr, i64 } { ptr @str.535, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 6 }, { ptr, i64 } { ptr @str.555, 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.258 + br label %while.hdr.263 -while.hdr.258: ; preds = %fv.merge, %entry +while.hdr.263: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.259, label %while.exit.260 + br i1 %icmp, label %while.body.264, label %while.exit.265 -while.body.259: ; preds = %while.hdr.258 +while.body.264: ; preds = %while.hdr.263 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.261, label %if.merge.262 + br i1 %icmpN, label %if.then.266, label %if.merge.267 -while.exit.260: ; preds = %while.hdr.258 +while.exit.265: ; preds = %while.hdr.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %callN -if.then.261: ; preds = %while.body.259 +if.then.266: ; preds = %while.body.264 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.262 + br label %if.merge.267 -if.merge.262: ; preds = %if.then.261, %while.body.259 +if.merge.267: ; preds = %if.then.266, %while.body.264 %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.542, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.562, 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.543, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, 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 @@ -5859,31 +6090,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.258 + br label %while.hdr.263 -fv.default: ; preds = %if.merge.262 +fv.default: ; preds = %if.merge.267 br label %fv.merge -fv.case: ; preds = %if.merge.262 +fv.case: ; preds = %if.merge.267 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.262 +fv.case17: ; preds = %if.merge.267 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.262 +fv.case22: ; preds = %if.merge.267 %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.262 +fv.case25: ; preds = %if.merge.267 %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 @@ -5894,82 +6125,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.544, i64 8 }, { ptr, i64 } { ptr @str.545, 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.263 - -while.hdr.263: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.264, label %while.exit.265 - -while.body.264: ; preds = %while.hdr.263 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.266, label %if.merge.267 - -while.exit.265: ; preds = %while.hdr.263 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) - ret { ptr, i64 } %callN - -if.then.266: ; preds = %while.body.264 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.267 - -if.merge.267: ; preds = %if.then.266, %while.body.264 - %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.550, 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.551, 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.263 - -fv.default: ; preds = %if.merge.267 - br label %fv.merge - -fv.case: ; preds = %if.merge.267 - %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.267 - %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__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.552, i64 6 }, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.564, i64 8 }, { ptr, i64 } { ptr @str.565, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5978,7 +6134,7 @@ entry: while.hdr.268: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.269, label %while.exit.270 while.body.269: ; preds = %while.hdr.268 @@ -5988,118 +6144,16 @@ while.body.269: ; preds = %while.hdr.268 while.exit.270: ; preds = %while.hdr.268 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) ret { ptr, i64 } %callN if.then.271: ; preds = %while.body.269 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.272 if.merge.272: ; preds = %if.then.271, %while.body.269 - %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.562, 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.563, 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.268 - -fv.default: ; preds = %if.merge.272 - br label %fv.merge - -fv.case: ; preds = %if.merge.272 - %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.272 - %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.272 - %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.272 - %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.272 - %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.272 - %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.564, i64 10 }, { ptr, i64 } { ptr @str.565, 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.273 - -while.hdr.273: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.274, label %while.exit.275 - -while.body.274: ; preds = %while.hdr.273 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.276, label %if.merge.277 - -while.exit.275: ; preds = %while.hdr.273 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) - ret { ptr, i64 } %callN - -if.then.276: ; preds = %while.body.274 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.277 - -if.merge.277: ; preds = %if.then.276, %while.body.274 %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.570, i64 0, i64 %loadN @@ -6125,17 +6179,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.268 + +fv.default: ; preds = %if.merge.272 + br label %fv.merge + +fv.case: ; preds = %if.merge.272 + %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.272 + %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__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.572, i64 6 }, { ptr, i64 } { ptr @str.573, 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.273 + +while.hdr.273: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.274, label %while.exit.275 + +while.body.274: ; preds = %while.hdr.273 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.276, label %if.merge.277 + +while.exit.275: ; preds = %while.hdr.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + ret { ptr, i64 } %callN + +if.then.276: ; preds = %while.body.274 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.277 + +if.merge.277: ; preds = %if.then.276, %while.body.274 + %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.582, 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.583, 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.273 fv.default: ; preds = %if.merge.277 br label %fv.merge fv.case: ; preds = %if.merge.277 + %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.277 + %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.277 + %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.277 + %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.277 + %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.277 + %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.584, i64 10 }, { ptr, i64 } { ptr @str.585, 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.278 + +while.hdr.278: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.279, label %while.exit.280 + +while.body.279: ; preds = %while.hdr.278 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.281, label %if.merge.282 + +while.exit.280: ; preds = %while.hdr.278 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 1 }) + ret { ptr, i64 } %callN + +if.then.281: ; preds = %while.body.279 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.282 + +if.merge.282: ; preds = %if.then.281, %while.body.279 + %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.590, 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.591, 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.278 + +fv.default: ; preds = %if.merge.282 + br label %fv.merge + +fv.case: ; preds = %if.merge.282 %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.277 +fv.case17: ; preds = %if.merge.282 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6146,43 +6377,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.572, i64 5 }, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 5 }, { ptr, i64 } { ptr @str.593, 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.278 + br label %while.hdr.283 -while.hdr.278: ; preds = %fv.merge, %entry +while.hdr.283: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.279, label %while.exit.280 + br i1 %icmp, label %while.body.284, label %while.exit.285 -while.body.279: ; preds = %while.hdr.278 +while.body.284: ; preds = %while.hdr.283 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.281, label %if.merge.282 + br i1 %icmpN, label %if.then.286, label %if.merge.287 -while.exit.280: ; preds = %while.hdr.278 +while.exit.285: ; preds = %while.hdr.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 1 }) ret { ptr, i64 } %callN -if.then.281: ; preds = %while.body.279 +if.then.286: ; preds = %while.body.284 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.282 + br label %if.merge.287 -if.merge.282: ; preds = %if.then.281, %while.body.279 +if.merge.287: ; preds = %if.then.286, %while.body.284 %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.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.603, 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.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, 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, i64 }, ptr %alloca, align 8 @@ -6205,47 +6436,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.278 + br label %while.hdr.283 -fv.default: ; preds = %if.merge.282 +fv.default: ; preds = %if.merge.287 br label %fv.merge -fv.case: ; preds = %if.merge.282 +fv.case: ; preds = %if.merge.287 %fv.field = extractvalue { i32, i64, 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.282 +fv.case17: ; preds = %if.merge.287 %fv.field18 = extractvalue { i32, i64, 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.282 +fv.case20: ; preds = %if.merge.287 %fv.field21 = extractvalue { i32, i64, 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.282 +fv.case23: ; preds = %if.merge.287 %fv.field24 = extractvalue { i32, i64, 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.282 +fv.case27: ; preds = %if.merge.287 %fv.field28 = extractvalue { i32, i64, 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.282 +fv.case31: ; preds = %if.merge.287 %fv.field32 = extractvalue { i32, i64, 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.282 +fv.case35: ; preds = %if.merge.287 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6256,43 +6487,43 @@ 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.585, i64 4 }, { ptr, i64 } { ptr @str.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 4 }, { ptr, i64 } { ptr @str.606, 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.283 + br label %while.hdr.288 -while.hdr.283: ; preds = %fv.merge, %entry +while.hdr.288: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.284, label %while.exit.285 + br i1 %icmp, label %while.body.289, label %while.exit.290 -while.body.284: ; preds = %while.hdr.283 +while.body.289: ; preds = %while.hdr.288 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.286, label %if.merge.287 + br i1 %icmpN, label %if.then.291, label %if.merge.292 -while.exit.285: ; preds = %while.hdr.283 +while.exit.290: ; preds = %while.hdr.288 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) ret { ptr, i64 } %callN -if.then.286: ; preds = %while.body.284 +if.then.291: ; preds = %while.body.289 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.287 + br label %if.merge.292 -if.merge.287: ; preds = %if.then.286, %while.body.284 +if.merge.292: ; preds = %if.then.291, %while.body.289 %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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.610, 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.591, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, 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 @@ -6309,18 +6540,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.283 + br label %while.hdr.288 -fv.default: ; preds = %if.merge.287 +fv.default: ; preds = %if.merge.292 br label %fv.merge -fv.case: ; preds = %if.merge.287 +fv.case: ; preds = %if.merge.292 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 6 }, { ptr, i64 } { ptr @str.613, 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.293 + +while.hdr.293: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.294, label %while.exit.295 + +while.body.294: ; preds = %while.hdr.293 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.296, label %if.merge.297 + +while.exit.295: ; preds = %while.hdr.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + ret { ptr, i64 } %callN + +if.then.296: ; preds = %while.body.294 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.297 + +if.merge.297: ; preds = %if.then.296, %while.body.294 + %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.623, 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.624, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.293 + +fv.default: ; preds = %if.merge.297 + br label %fv.merge + +fv.case: ; preds = %if.merge.297 + %fv.field = extractvalue { i64, i32, 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.297 + %fv.field18 = extractvalue { i64, i32, 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.297 + %fv.field21 = extractvalue { i64, i32, 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.297 + %fv.field24 = extractvalue { i64, i32, 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.297 + %fv.field27 = extractvalue { i64, i32, 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.297 + %fv.field30 = extractvalue { i64, i32, 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.297 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.625, i64 7 }, { ptr, i64 } { ptr @str.626, 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.298 + +while.hdr.298: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.299, label %while.exit.300 + +while.body.299: ; preds = %while.hdr.298 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.301, label %if.merge.302 + +while.exit.300: ; preds = %while.hdr.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.627, i64 1 }) + ret { ptr, i64 } %callN + +if.then.301: ; preds = %while.body.299 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.302 + +if.merge.302: ; preds = %if.then.301, %while.body.299 + %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.635, 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.636, 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.298 + +fv.default: ; preds = %if.merge.302 + br label %fv.merge + +fv.case: ; preds = %if.merge.302 + %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.302 + %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.302 + %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.302 + %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.302 + %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.302 + %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.637, i64 8 }, { ptr, i64 } { ptr @str.638, 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.303 + +while.hdr.303: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.304, label %while.exit.305 + +while.body.304: ; preds = %while.hdr.303 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.306, label %if.merge.307 + +while.exit.305: ; preds = %while.hdr.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + ret { ptr, i64 } %callN + +if.then.306: ; preds = %while.body.304 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.307 + +if.merge.307: ; preds = %if.then.306, %while.body.304 + %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.645, 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.646, 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.303 + +fv.default: ; preds = %if.merge.307 + br label %fv.merge + +fv.case: ; preds = %if.merge.307 + %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.307 + %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.307 + %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.307 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } { ptr @str.648, 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.308 + +while.hdr.308: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.309, label %while.exit.310 + +while.body.309: ; preds = %while.hdr.308 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.311, label %if.merge.312 + +while.exit.310: ; preds = %while.hdr.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) + ret { ptr, i64 } %callN + +if.then.311: ; preds = %while.body.309 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.312 + +if.merge.312: ; preds = %if.then.311, %while.body.309 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.662, 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.663, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.308 + +fv.default: ; preds = %if.merge.312 + br label %fv.merge + +fv.case: ; preds = %if.merge.312 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.312 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.312 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.312 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.312 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.312 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.312 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.312 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.312 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.312 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.312 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 6 }, { ptr, i64 } { ptr @str.665, 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.313 + +while.hdr.313: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.314, label %while.exit.315 + +while.body.314: ; preds = %while.hdr.313 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.316, label %if.merge.317 + +while.exit.315: ; preds = %while.hdr.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 1 }) + ret { ptr, i64 } %callN + +if.then.316: ; preds = %while.body.314 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.317 + +if.merge.317: ; preds = %if.then.316, %while.body.314 + %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.674, 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.675, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.313 + +fv.default: ; preds = %if.merge.317 + br label %fv.merge + +fv.case: ; preds = %if.merge.317 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.317 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.317 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.317 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.317 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.317 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6330,9 +7124,9 @@ entry: %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.597, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.681, 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.592, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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 @@ -6346,18 +7140,18 @@ entry: %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.295, label %if.merge.296 + br i1 %icmp, label %if.then.325, label %if.merge.326 -if.then.295: ; preds = %entry +if.then.325: ; 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.599, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, 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.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %entry +if.merge.326: ; preds = %if.then.325, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6371,9 +7165,9 @@ entry: %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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.688, 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.600, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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 @@ -6387,18 +7181,18 @@ entry: %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.297, label %if.merge.298 + br i1 %icmp, label %if.then.327, label %if.merge.328 -if.then.297: ; preds = %entry +if.then.327: ; 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.606, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, 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.298 + br label %if.merge.328 -if.merge.298: ; preds = %if.then.297, %entry +if.merge.328: ; preds = %if.then.327, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6423,9 +7217,9 @@ entry: %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.614, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.698, 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.607, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, 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 @@ -6439,16 +7233,16 @@ entry: i64 5, label %fv.case24 ] -if.then.299: ; preds = %fv.merge +if.then.329: ; 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.616, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, 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.300 + br label %if.merge.330 -if.merge.300: ; preds = %if.then.299, %fv.merge +if.merge.330: ; preds = %if.then.329, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6461,7 +7255,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.299, label %if.merge.300 + br i1 %icmp, label %if.then.329, label %if.merge.330 fv.default: ; preds = %entry br label %fv.merge @@ -6521,9 +7315,9 @@ entry: %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.625, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.709, 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.617, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, 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 @@ -6537,18 +7331,18 @@ entry: %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.301, label %if.merge.302 + br i1 %icmp, label %if.then.331, label %if.merge.332 -if.then.301: ; preds = %entry +if.then.331: ; 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.627, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, 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.302 + br label %if.merge.332 -if.merge.302: ; preds = %if.then.301, %entry +if.merge.332: ; preds = %if.then.331, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6562,9 +7356,9 @@ entry: %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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.718, 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.628, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, 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 @@ -6578,18 +7372,18 @@ entry: %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.303, label %if.merge.304 + br i1 %icmp, label %if.then.333, label %if.merge.334 -if.then.303: ; preds = %entry +if.then.333: ; 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.636, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, 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.304 + br label %if.merge.334 -if.merge.304: ; preds = %if.then.303, %entry +if.merge.334: ; preds = %if.then.333, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6601,33 +7395,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.721, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.313 + br label %while.hdr.343 -while.hdr.313: ; preds = %if.merge.317, %entry +while.hdr.343: ; preds = %if.merge.347, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.314, label %while.exit.315 + br i1 %icmp, label %while.body.344, label %while.exit.345 -while.body.314: ; preds = %while.hdr.313 +while.body.344: ; preds = %while.hdr.343 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.316, label %if.merge.317 + br i1 %icmpN, label %if.then.346, label %if.merge.347 -while.exit.315: ; preds = %while.hdr.313 +while.exit.345: ; preds = %while.hdr.343 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) ret { ptr, i64 } %call -if.then.316: ; preds = %while.body.314 +if.then.346: ; preds = %while.body.344 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.317 + br label %if.merge.347 -if.merge.317: ; preds = %if.then.316, %while.body.314 +if.merge.347: ; preds = %if.then.346, %while.body.344 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6641,7 +7435,7 @@ if.merge.317: ; preds = %if.then.316, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.313 + br label %while.hdr.343 } ; Function Attrs: nounwind @@ -6652,33 +7446,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.724, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.318 + br label %while.hdr.348 -while.hdr.318: ; preds = %if.merge.322, %entry +while.hdr.348: ; preds = %if.merge.352, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.319, label %while.exit.320 + br i1 %icmp, label %while.body.349, label %while.exit.350 -while.body.319: ; preds = %while.hdr.318 +while.body.349: ; preds = %while.hdr.348 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.321, label %if.merge.322 + br i1 %icmpN, label %if.then.351, label %if.merge.352 -while.exit.320: ; preds = %while.hdr.318 +while.exit.350: ; preds = %while.hdr.348 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) ret { ptr, i64 } %call -if.then.321: ; preds = %while.body.319 +if.then.351: ; preds = %while.body.349 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.322 + br label %if.merge.352 -if.merge.322: ; preds = %if.then.321, %while.body.319 +if.merge.352: ; preds = %if.then.351, %while.body.349 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6694,7 +7488,7 @@ if.merge.322: ; preds = %if.then.321, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.318 + br label %while.hdr.348 } ; Function Attrs: nounwind @@ -6704,33 +7498,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.643, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.727, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.323 + br label %while.hdr.353 -while.hdr.323: ; preds = %if.merge.327, %entry +while.hdr.353: ; preds = %if.merge.357, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.324, label %while.exit.325 + br i1 %icmp, label %while.body.354, label %while.exit.355 -while.body.324: ; preds = %while.hdr.323 +while.body.354: ; preds = %while.hdr.353 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.326, label %if.merge.327 + br i1 %icmpN, label %if.then.356, label %if.merge.357 -while.exit.325: ; preds = %while.hdr.323 +while.exit.355: ; preds = %while.hdr.353 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) ret { ptr, i64 } %call -if.then.326: ; preds = %while.body.324 +if.then.356: ; preds = %while.body.354 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.327 + br label %if.merge.357 -if.merge.327: ; preds = %if.then.326, %while.body.324 +if.merge.357: ; preds = %if.then.356, %while.body.354 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6744,7 +7538,7 @@ if.merge.327: ; preds = %if.then.326, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.323 + br label %while.hdr.353 } ; Function Attrs: nounwind @@ -6754,33 +7548,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.646, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.730, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.328 + br label %while.hdr.358 -while.hdr.328: ; preds = %if.merge.332, %entry +while.hdr.358: ; preds = %if.merge.362, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.329, label %while.exit.330 + br i1 %icmp, label %while.body.359, label %while.exit.360 -while.body.329: ; preds = %while.hdr.328 +while.body.359: ; preds = %while.hdr.358 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.331, label %if.merge.332 + br i1 %icmpN, label %if.then.361, label %if.merge.362 -while.exit.330: ; preds = %while.hdr.328 +while.exit.360: ; preds = %while.hdr.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 1 }) ret { ptr, i64 } %call -if.then.331: ; preds = %while.body.329 +if.then.361: ; preds = %while.body.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + %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 - br label %if.merge.332 + br label %if.merge.362 -if.merge.332: ; preds = %if.then.331, %while.body.329 +if.merge.362: ; preds = %if.then.361, %while.body.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6795,7 +7589,7 @@ if.merge.332: ; preds = %if.then.331, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.328 + br label %while.hdr.358 } ; Function Attrs: nounwind @@ -6805,33 +7599,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.649, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.733, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.333 + br label %while.hdr.363 -while.hdr.333: ; preds = %if.merge.337, %entry +while.hdr.363: ; preds = %if.merge.367, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.334, label %while.exit.335 + br i1 %icmp, label %while.body.364, label %while.exit.365 -while.body.334: ; preds = %while.hdr.333 +while.body.364: ; preds = %while.hdr.363 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.336, label %if.merge.337 + br i1 %icmpN, label %if.then.366, label %if.merge.367 -while.exit.335: ; preds = %while.hdr.333 +while.exit.365: ; preds = %while.hdr.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.650, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) ret { ptr, i64 } %call -if.then.336: ; preds = %while.body.334 +if.then.366: ; preds = %while.body.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.337 + br label %if.merge.367 -if.merge.337: ; preds = %if.then.336, %while.body.334 +if.merge.367: ; preds = %if.then.366, %while.body.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6845,7 +7639,7 @@ if.merge.337: ; preds = %if.then.336, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.333 + br label %while.hdr.363 } ; Function Attrs: nounwind @@ -6856,33 +7650,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.652, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.736, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.338 + br label %while.hdr.368 -while.hdr.338: ; preds = %if.merge.342, %entry +while.hdr.368: ; preds = %if.merge.372, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.339, label %while.exit.340 + br i1 %icmp, label %while.body.369, label %while.exit.370 -while.body.339: ; preds = %while.hdr.338 +while.body.369: ; preds = %while.hdr.368 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.341, label %if.merge.342 + br i1 %icmpN, label %if.then.371, label %if.merge.372 -while.exit.340: ; preds = %while.hdr.338 +while.exit.370: ; preds = %while.hdr.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) ret { ptr, i64 } %call -if.then.341: ; preds = %while.body.339 +if.then.371: ; preds = %while.body.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + %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 - br label %if.merge.342 + br label %if.merge.372 -if.merge.342: ; preds = %if.then.341, %while.body.339 +if.merge.372: ; preds = %if.then.371, %while.body.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6898,7 +7692,7 @@ if.merge.342: ; preds = %if.then.341, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.338 + br label %while.hdr.368 } ; Function Attrs: nounwind @@ -6908,35 +7702,35 @@ entry: %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.655, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.739, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 -while.hdr.351: ; preds = %if.merge.355, %entry +while.hdr.381: ; preds = %if.merge.385, %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.352, label %while.exit.353 + br i1 %icmp, label %while.body.382, label %while.exit.383 -while.body.352: ; preds = %while.hdr.351 +while.body.382: ; preds = %while.hdr.381 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.354, label %if.merge.355 + br i1 %icmpN, label %if.then.384, label %if.merge.385 -while.exit.353: ; preds = %while.hdr.351 +while.exit.383: ; preds = %while.hdr.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) ret { ptr, i64 } %call -if.then.354: ; preds = %while.body.352 +if.then.384: ; preds = %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.355 + br label %if.merge.385 -if.merge.355: ; preds = %if.then.354, %while.body.352 +if.merge.385: ; preds = %if.then.384, %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6952,7 +7746,7 @@ if.merge.355: ; preds = %if.then.354, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 } ; Function Attrs: nounwind @@ -6961,35 +7755,35 @@ 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.658, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.742, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 -while.hdr.356: ; preds = %if.merge.360, %entry +while.hdr.386: ; preds = %if.merge.390, %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.357, label %while.exit.358 + br i1 %icmp, label %while.body.387, label %while.exit.388 -while.body.357: ; preds = %while.hdr.356 +while.body.387: ; preds = %while.hdr.386 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.359, label %if.merge.360 + br i1 %icmpN, label %if.then.389, label %if.merge.390 -while.exit.358: ; preds = %while.hdr.356 +while.exit.388: ; preds = %while.hdr.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) ret { ptr, i64 } %call -if.then.359: ; preds = %while.body.357 +if.then.389: ; preds = %while.body.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 2 }) + %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 - br label %if.merge.360 + br label %if.merge.390 -if.merge.360: ; preds = %if.then.359, %while.body.357 +if.merge.390: ; preds = %if.then.389, %while.body.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7004,7 +7798,7 @@ if.merge.360: ; preds = %if.then.359, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 } ; Function Attrs: nounwind @@ -7014,35 +7808,35 @@ entry: %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.661, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.745, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.361 + br label %while.hdr.391 -while.hdr.361: ; preds = %if.merge.365, %entry +while.hdr.391: ; preds = %if.merge.395, %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.362, label %while.exit.363 + br i1 %icmp, label %while.body.392, label %while.exit.393 -while.body.362: ; preds = %while.hdr.361 +while.body.392: ; preds = %while.hdr.391 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.364, label %if.merge.365 + br i1 %icmpN, label %if.then.394, label %if.merge.395 -while.exit.363: ; preds = %while.hdr.361 +while.exit.393: ; preds = %while.hdr.391 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.746, i64 1 }) ret { ptr, i64 } %call -if.then.364: ; preds = %while.body.362 +if.then.394: ; preds = %while.body.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.365 + br label %if.merge.395 -if.merge.365: ; preds = %if.then.364, %while.body.362 +if.merge.395: ; preds = %if.then.394, %while.body.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7058,7 +7852,7 @@ if.merge.365: ; preds = %if.then.364, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.361 + br label %while.hdr.391 } ; Function Attrs: nounwind @@ -7068,35 +7862,35 @@ entry: %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.664, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.748, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.366 + br label %while.hdr.396 -while.hdr.366: ; preds = %if.merge.370, %entry +while.hdr.396: ; preds = %if.merge.400, %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.367, label %while.exit.368 + br i1 %icmp, label %while.body.397, label %while.exit.398 -while.body.367: ; preds = %while.hdr.366 +while.body.397: ; preds = %while.hdr.396 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.369, label %if.merge.370 + br i1 %icmpN, label %if.then.399, label %if.merge.400 -while.exit.368: ; preds = %while.hdr.366 +while.exit.398: ; preds = %while.hdr.396 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, i64 1 }) ret { ptr, i64 } %call -if.then.369: ; preds = %while.body.367 +if.then.399: ; preds = %while.body.397 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.370 + br label %if.merge.400 -if.merge.370: ; preds = %if.then.369, %while.body.367 +if.merge.400: ; preds = %if.then.399, %while.body.397 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7112,7 +7906,7 @@ if.merge.370: ; preds = %if.then.369, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.366 + br label %while.hdr.396 } ; Function Attrs: nounwind @@ -7122,35 +7916,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.667, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.751, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.371 + br label %while.hdr.401 -while.hdr.371: ; preds = %if.merge.375, %entry +while.hdr.401: ; preds = %if.merge.405, %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.372, label %while.exit.373 + br i1 %icmp, label %while.body.402, label %while.exit.403 -while.body.372: ; preds = %while.hdr.371 +while.body.402: ; preds = %while.hdr.401 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.374, label %if.merge.375 + br i1 %icmpN, label %if.then.404, label %if.merge.405 -while.exit.373: ; preds = %while.hdr.371 +while.exit.403: ; preds = %while.hdr.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.668, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) ret { ptr, i64 } %call -if.then.374: ; preds = %while.body.372 +if.then.404: ; preds = %while.body.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.669, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.753, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.375 + br label %if.merge.405 -if.merge.375: ; preds = %if.then.374, %while.body.372 +if.merge.405: ; preds = %if.then.404, %while.body.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7166,7 +7960,7 @@ if.merge.375: ; preds = %if.then.374, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.371 + br label %while.hdr.401 } ; Function Attrs: nounwind @@ -7176,35 +7970,35 @@ entry: %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.670, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.754, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.376 + br label %while.hdr.406 -while.hdr.376: ; preds = %if.merge.380, %entry +while.hdr.406: ; preds = %if.merge.410, %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.377, label %while.exit.378 + br i1 %icmp, label %while.body.407, label %while.exit.408 -while.body.377: ; preds = %while.hdr.376 +while.body.407: ; preds = %while.hdr.406 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.379, label %if.merge.380 + br i1 %icmpN, label %if.then.409, label %if.merge.410 -while.exit.378: ; preds = %while.hdr.376 +while.exit.408: ; preds = %while.hdr.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.755, i64 1 }) ret { ptr, i64 } %call -if.then.379: ; preds = %while.body.377 +if.then.409: ; preds = %while.body.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.672, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.756, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.380 + br label %if.merge.410 -if.merge.380: ; preds = %if.then.379, %while.body.377 +if.merge.410: ; preds = %if.then.409, %while.body.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7220,206 +8014,11 @@ if.merge.380: ; preds = %if.then.379, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.376 + br label %while.hdr.406 } ; 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.418, label %if.else.419 - -if.then.418: ; preds = %entry - br label %if.merge.420 - -if.else.419: ; 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.420 - -if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] - 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.434, label %if.else.435 - -if.then.434: ; preds = %entry - br label %if.merge.436 - -if.else.435: ; 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.436 - -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] - 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.437, label %if.else.438 - -if.then.437: ; preds = %entry - br label %if.merge.439 - -if.else.438: ; 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.439 - -if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] - 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.440, label %if.else.441 - -if.then.440: ; preds = %entry - br label %if.merge.442 - -if.else.441: ; 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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.442 - -if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] - 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.443, label %if.else.444 - -if.then.443: ; preds = %entry - br label %if.merge.445 - -if.else.444: ; 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.445 - -if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] - ret { ptr, i64 } %bp -} - -; 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.446, label %if.else.447 - -if.then.446: ; preds = %entry - br label %if.merge.448 - -if.else.447: ; 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.690, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.448 - -if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] - 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.449, label %if.else.450 - -if.then.449: ; preds = %entry - br label %if.merge.451 - -if.else.450: ; 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.451 - -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] - 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 @@ -7437,12 +8036,207 @@ if.then.452: ; preds = %entry if.else.453: ; 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 5 }, { ptr, i64 } %callN) br label %if.merge.454 if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] + 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.468, label %if.else.469 + +if.then.468: ; preds = %entry + br label %if.merge.470 + +if.else.469: ; 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.762, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.470 + +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + 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.471, label %if.else.472 + +if.then.471: ; preds = %entry + br label %if.merge.473 + +if.else.472: ; 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.765, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.473 + +if.merge.473: ; preds = %if.else.472, %if.then.471 + %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + 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.474, label %if.else.475 + +if.then.474: ; preds = %entry + br label %if.merge.476 + +if.else.475: ; 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.768, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.476 + +if.merge.476: ; preds = %if.else.475, %if.then.474 + %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + 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.477, label %if.else.478 + +if.then.477: ; preds = %entry + br label %if.merge.479 + +if.else.478: ; 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.771, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.479 + +if.merge.479: ; preds = %if.else.478, %if.then.477 + %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + ret { ptr, i64 } %bp +} + +; 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.480, label %if.else.481 + +if.then.480: ; preds = %entry + br label %if.merge.482 + +if.else.481: ; 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.774, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.482 + +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + 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.483, label %if.else.484 + +if.then.483: ; preds = %entry + br label %if.merge.485 + +if.else.484: ; 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.777, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.485 + +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + 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.486, label %if.else.487 + +if.then.486: ; preds = %entry + br label %if.merge.488 + +if.else.487: ; 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.780, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.488 + +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } @@ -7457,20 +8251,20 @@ entry: 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.455, label %if.else.456 + br i1 %icmp, label %if.then.489, label %if.else.490 -if.then.455: ; preds = %entry - br label %if.merge.457 +if.then.489: ; preds = %entry + br label %if.merge.491 -if.else.456: ; preds = %entry +if.else.490: ; 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.457 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.491 -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7485,20 +8279,20 @@ entry: 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.458, label %if.else.459 + br i1 %icmp, label %if.then.492, label %if.else.493 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.492: ; preds = %entry + br label %if.merge.494 -if.else.459: ; preds = %entry +if.else.493: ; 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.460 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.494 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7513,20 +8307,20 @@ entry: 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.461, label %if.else.462 + br i1 %icmp, label %if.then.495, label %if.else.496 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.495: ; preds = %entry + br label %if.merge.497 -if.else.462: ; preds = %entry +if.else.496: ; 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.705, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.463 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.497 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7541,20 +8335,20 @@ entry: 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.464, label %if.else.465 + br i1 %icmp, label %if.then.498, label %if.else.499 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.498: ; preds = %entry + br label %if.merge.500 -if.else.465: ; preds = %entry +if.else.499: ; 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.466 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.500 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } @@ -7568,20 +8362,20 @@ entry: 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.467, label %if.else.468 + br i1 %icmp, label %if.then.501, label %if.else.502 -if.then.467: ; preds = %entry - br label %if.merge.469 +if.then.501: ; preds = %entry + br label %if.merge.503 -if.else.468: ; preds = %entry +if.else.502: ; 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.469 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.503 -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -7596,20 +8390,20 @@ entry: 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.470, label %if.else.471 + br i1 %icmp, label %if.then.504, label %if.else.505 -if.then.470: ; preds = %entry - br label %if.merge.472 +if.then.504: ; preds = %entry + br label %if.merge.506 -if.else.471: ; preds = %entry +if.else.505: ; 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.472 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.506 -if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7623,20 +8417,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7651,20 +8445,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7679,20 +8473,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7707,20 +8501,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7735,20 +8529,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7763,20 +8557,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7791,20 +8585,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7819,20 +8613,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -7847,20 +8641,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -7875,20 +8669,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -7903,20 +8697,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.537, label %if.else.538 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.537: ; preds = %entry + br label %if.merge.539 -if.else.504: ; preds = %entry +if.else.538: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.539 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -7931,20 +8725,131 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.540, label %if.else.541 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.540: ; preds = %entry + br label %if.merge.542 -if.else.507: ; preds = %entry +if.else.541: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.542 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] + 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.543, label %if.else.544 + +if.then.543: ; preds = %entry + br label %if.merge.545 + +if.else.544: ; 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.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.545 + +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] + 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.546, label %if.else.547 + +if.then.546: ; preds = %entry + br label %if.merge.548 + +if.else.547: ; 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.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 + +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] + 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.549, label %if.else.550 + +if.then.549: ; preds = %entry + br label %if.merge.551 + +if.else.550: ; 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.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.551 + +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] + 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.552, label %if.else.553 + +if.then.552: ; preds = %entry + br label %if.merge.554 + +if.else.553: ; 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.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 + +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -7959,20 +8864,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.510: ; preds = %entry +if.else.556: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -7987,20 +8892,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.513: ; preds = %entry +if.else.559: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] ret { ptr, i64 } %bp } @@ -8015,20 +8920,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.561, label %if.else.562 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.561: ; preds = %entry + br label %if.merge.563 -if.else.516: ; preds = %entry +if.else.562: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 10 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 10 }, { ptr, i64 } %callN) + br label %if.merge.563 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] ret { ptr, i64 } %bp } @@ -8043,20 +8948,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.564, label %if.else.565 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.564: ; preds = %entry + br label %if.merge.566 -if.else.519: ; preds = %entry +if.else.565: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] ret { ptr, i64 } %bp } @@ -8071,20 +8976,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.567, label %if.else.568 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.567: ; preds = %entry + br label %if.merge.569 -if.else.522: ; preds = %entry +if.else.568: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.569 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] ret { ptr, i64 } %bp } @@ -8099,20 +9004,20 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.570, label %if.else.571 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.570: ; preds = %entry + br label %if.merge.572 -if.else.525: ; preds = %entry +if.else.571: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.572 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8127,20 +9032,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8155,20 +9060,20 @@ entry: 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.530, label %if.else.531 + br i1 %icmp, label %if.then.576, label %if.else.577 -if.then.530: ; preds = %entry - br label %if.merge.532 +if.then.576: ; preds = %entry + br label %if.merge.578 -if.else.531: ; preds = %entry +if.else.577: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.532 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.578 -if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] +if.merge.578: ; preds = %if.else.577, %if.then.576 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] ret { ptr, i64 } %bp } @@ -8183,20 +9088,20 @@ entry: 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.533, label %if.else.534 + br i1 %icmp, label %if.then.579, label %if.else.580 -if.then.533: ; preds = %entry - br label %if.merge.535 +if.then.579: ; preds = %entry + br label %if.merge.581 -if.else.534: ; preds = %entry +if.else.580: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.535 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.581 -if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] +if.merge.581: ; preds = %if.else.580, %if.then.579 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] ret { ptr, i64 } %bp } @@ -8209,12 +9114,12 @@ entry: %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.543, label %if.merge.544 + br i1 %lnot, label %if.then.589, label %if.merge.590 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.778, i64 4 } +if.then.589: ; preds = %entry + ret { ptr, i64 } { ptr @str.874, i64 4 } -if.merge.544: ; preds = %entry +if.merge.590: ; 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 @@ -8233,12 +9138,12 @@ entry: %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.545, label %if.merge.546 + br i1 %lnot, label %if.then.591, label %if.merge.592 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.779, i64 4 } +if.then.591: ; preds = %entry + ret { ptr, i64 } { ptr @str.875, i64 4 } -if.merge.546: ; preds = %entry +if.merge.592: ; 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 @@ -8256,12 +9161,12 @@ entry: %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.547, label %if.merge.548 + br i1 %lnot, label %if.then.593, label %if.merge.594 -if.then.547: ; preds = %entry - ret { ptr, i64 } { ptr @str.780, i64 4 } +if.then.593: ; preds = %entry + ret { ptr, i64 } { ptr @str.876, i64 4 } -if.merge.548: ; preds = %entry +if.merge.594: ; 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 @@ -8278,12 +9183,12 @@ entry: %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.549, label %if.merge.550 + br i1 %lnot, label %if.then.595, label %if.merge.596 -if.then.549: ; preds = %entry - ret { ptr, i64 } { ptr @str.781, i64 4 } +if.then.595: ; preds = %entry + ret { ptr, i64 } { ptr @str.877, i64 4 } -if.merge.550: ; preds = %entry +if.merge.596: ; 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 @@ -8302,12 +9207,12 @@ entry: %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.551, label %if.merge.552 + br i1 %lnot, label %if.then.597, label %if.merge.598 -if.then.551: ; preds = %entry - ret { ptr, i64 } { ptr @str.782, i64 4 } +if.then.597: ; preds = %entry + ret { ptr, i64 } { ptr @str.878, i64 4 } -if.merge.552: ; preds = %entry +if.merge.598: ; 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 diff --git a/examples/expected/1009-errors-catch.ir b/examples/expected/1009-errors-catch.ir index 4e4b8b1..2e2b150 100644 --- a/examples/expected/1009-errors-catch.ir +++ b/examples/expected/1009-errors-catch.ir @@ -7,7 +7,7 @@ @str.80 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.81 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.82 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [187 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] +@__sx_type_is_unsigned = private constant [205 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.83 = private constant [11 x i8] c"WouldBlock\00" @tag.str.84 = private constant [7 x i8] c"Closed\00" @@ -28,471 +28,471 @@ @tag.str.99 = private constant [5 x i8] c"Init\00" @tag.str.100 = private constant [9 x i8] c"Register\00" @tag.str.101 = private constant [5 x i8] c"Wait\00" -@tag.str.102 = private constant [4 x i8] c"Bad\00" -@tag.str.103 = private constant [6 x i8] c"Empty\00" -@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 3 }, { ptr, i64 } { ptr @tag.str.103, i64 5 }] +@tag.str.102 = private constant [5 x i8] c"Bind\00" +@tag.str.103 = private constant [5 x i8] c"Loop\00" +@tag.str.104 = private constant [4 x i8] c"Bad\00" +@tag.str.105 = private constant [6 x i8] c"Empty\00" +@tag_names = private constant [24 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.83, i64 10 }, { ptr, i64 } { ptr @tag.str.84, i64 6 }, { ptr, i64 } { ptr @tag.str.85, i64 5 }, { ptr, i64 } { ptr @tag.str.86, i64 8 }, { ptr, i64 } { ptr @tag.str.87, i64 2 }, { ptr, i64 } { ptr @tag.str.88, i64 15 }, { ptr, i64 } { ptr @tag.str.89, i64 13 }, { ptr, i64 } { ptr @tag.str.90, i64 9 }, { ptr, i64 } { ptr @tag.str.91, i64 9 }, { ptr, i64 } { ptr @tag.str.92, i64 15 }, { ptr, i64 } { ptr @tag.str.93, i64 14 }, { ptr, i64 } { ptr @tag.str.94, i64 14 }, { ptr, i64 } { ptr @tag.str.95, i64 11 }, { ptr, i64 } { ptr @tag.str.96, i64 12 }, { ptr, i64 } { ptr @tag.str.97, i64 15 }, { ptr, i64 } { ptr @tag.str.98, i64 12 }, { ptr, i64 } { ptr @tag.str.99, i64 4 }, { ptr, i64 } { ptr @tag.str.100, i64 8 }, { ptr, i64 } { ptr @tag.str.101, i64 4 }, { ptr, i64 } { ptr @tag.str.102, i64 4 }, { ptr, i64 } { ptr @tag.str.103, i64 4 }, { ptr, i64 } { ptr @tag.str.104, i64 3 }, { ptr, i64 } { ptr @tag.str.105, i64 5 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.104 = private constant [5 x i8] c"bool\00" -@tn.str.105 = private constant [3 x i8] c"i8\00" -@tn.str.106 = private constant [4 x i8] c"i16\00" -@tn.str.107 = private constant [4 x i8] c"i32\00" -@tn.str.108 = private constant [4 x i8] c"i64\00" -@tn.str.109 = private constant [3 x i8] c"u8\00" -@tn.str.110 = private constant [4 x i8] c"u16\00" -@tn.str.111 = private constant [4 x i8] c"u32\00" -@tn.str.112 = private constant [4 x i8] c"u64\00" -@tn.str.113 = private constant [4 x i8] c"f32\00" -@tn.str.114 = private constant [4 x i8] c"f64\00" -@tn.str.115 = private constant [7 x i8] c"string\00" -@tn.str.116 = private constant [4 x i8] c"Any\00" -@tn.str.117 = private constant [9 x i8] c"noreturn\00" -@tn.str.118 = private constant [6 x i8] c"isize\00" -@tn.str.119 = private constant [6 x i8] c"usize\00" -@tn.str.120 = private constant [5 x i8] c"void\00" -@tn.str.121 = private constant [8 x i8] c"cstring\00" -@tn.str.122 = private constant [6 x i8] c"*void\00" -@tn.str.123 = private constant [16 x i8] c"Source_Location\00" -@tn.str.124 = private constant [10 x i8] c"Allocator\00" -@tn.str.125 = private constant [8 x i8] c"Context\00" -@tn.str.126 = private constant [7 x i8] c"[4]i64\00" -@tn.str.127 = private constant [9 x i8] c"[]string\00" -@tn.str.128 = private constant [11 x i8] c"CAllocator\00" -@tn.str.129 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.130 = private constant [4 x i8] c"GPA\00" -@tn.str.131 = private constant [5 x i8] c"*GPA\00" -@tn.str.132 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.133 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.134 = private constant [6 x i8] c"Arena\00" -@tn.str.135 = private constant [7 x i8] c"*Arena\00" -@tn.str.136 = private constant [6 x i8] c"[*]u8\00" -@tn.str.137 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.138 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.139 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.140 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.141 = private constant [9 x i8] c"OpenMode\00" -@tn.str.142 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.143 = private constant [5 x i8] c"File\00" -@tn.str.144 = private constant [6 x i8] c"*File\00" -@tn.str.145 = private constant [6 x i8] c"?File\00" -@tn.str.146 = private constant [8 x i8] c"?string\00" -@tn.str.147 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.148 = private constant [9 x i8] c"?cstring\00" -@tn.str.149 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.150 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.151 = private constant [5 x i8] c"*i32\00" -@tn.str.152 = private constant [9 x i8] c"SockAddr\00" -@tn.str.153 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.154 = private constant [5 x i8] c"*u32\00" -@tn.str.155 = private constant [8 x i8] c"SockErr\00" -@tn.str.156 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.157 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.158 = private constant [10 x i8] c"JsonError\00" -@tn.str.159 = private constant [6 x i8] c"Array\00" -@tn.str.160 = private constant [7 x i8] c"Object\00" -@tn.str.161 = private constant [6 x i8] c"Value\00" -@tn.str.162 = private constant [7 x i8] c"Member\00" -@tn.str.163 = private constant [9 x i8] c"[*]Value\00" -@tn.str.164 = private constant [7 x i8] c"*Array\00" -@tn.str.165 = private constant [10 x i8] c"[*]Member\00" -@tn.str.166 = private constant [8 x i8] c"*Object\00" -@tn.str.167 = private constant [5 x i8] c"[]u8\00" -@tn.str.168 = private constant [5 x i8] c"Sink\00" -@tn.str.169 = private constant [6 x i8] c"*Sink\00" -@tn.str.170 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.171 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.172 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.173 = private constant [7 x i8] c"Parser\00" -@tn.str.174 = private constant [8 x i8] c"*Parser\00" -@tn.str.175 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.176 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.177 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.178 = private constant [13 x i8] c"Architecture\00" -@tn.str.179 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.180 = private constant [11 x i8] c"() -> bool\00" -@tn.str.181 = private constant [5 x i8] c"*i64\00" -@tn.str.182 = private constant [9 x i8] c"CliError\00" -@tn.str.183 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.184 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.185 = private constant [8 x i8] c"Command\00" -@tn.str.186 = private constant [10 x i8] c"FlagValue\00" -@tn.str.187 = private constant [5 x i8] c"Diag\00" -@tn.str.188 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.189 = private constant [7 x i8] c"Parsed\00" -@tn.str.190 = private constant [8 x i8] c"*Parsed\00" -@tn.str.191 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.192 = private constant [10 x i8] c"[]Command\00" -@tn.str.193 = private constant [6 x i8] c"*Diag\00" -@tn.str.194 = private constant [7 x i8] c"[8]i64\00" -@tn.str.195 = private constant [7 x i8] c"[64]u8\00" -@tn.str.196 = private constant [7 x i8] c"Sha256\00" -@tn.str.197 = private constant [8 x i8] c"*Sha256\00" -@tn.str.198 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.199 = private constant [8 x i8] c"[64]i64\00" -@tn.str.200 = private constant [9 x i8] c"Timespec\00" -@tn.str.201 = private constant [10 x i8] c"*Timespec\00" -@tn.str.202 = private constant [7 x i8] c"Kevent\00" -@tn.str.203 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.204 = private constant [8 x i8] c"*Kevent\00" -@tn.str.205 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.206 = private constant [9 x i8] c"EventErr\00" -@tn.str.207 = private constant [6 x i8] c"Event\00" -@tn.str.208 = private constant [5 x i8] c"Loop\00" -@tn.str.209 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.210 = private constant [6 x i8] c"*Loop\00" -@tn.str.211 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.212 = private constant [8 x i8] c"[]Event\00" -@tn.str.213 = private constant [2 x i8] c"E\00" -@tn.str.214 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.215 = private constant [7 x i8] c"**void\00" -@tn.str.216 = private constant [3 x i8] c"*E\00" -@tn.str.217 = private constant [8 x i8] c"*string\00" -@tn.str.218 = private constant [6 x i8] c"[]Any\00" -@tn.str.219 = private constant [5 x i8] c"*Any\00" -@tn.str.220 = private constant [7 x i8] c"[1]Any\00" -@tn.str.221 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.222 = private constant [7 x i8] c"*[]Any\00" -@tn.str.223 = private constant [4 x i8] c"*u8\00" -@tn.str.224 = private constant [6 x i8] c"*bool\00" -@tn.str.225 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.226 = private constant [5 x i8] c"*f64\00" -@tn.str.227 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.228 = private constant [11 x i8] c"*Allocator\00" -@tn.str.229 = private constant [9 x i8] c"*Context\00" -@tn.str.230 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.231 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.232 = private constant [8 x i8] c"*Member\00" -@tn.str.233 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.234 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.235 = private constant [9 x i8] c"*Command\00" -@tn.str.236 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.237 = private constant [7 x i8] c"*Event\00" -@tn.str.238 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.239 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.240 = private constant [7 x i8] c"*Value\00" -@tn.str.241 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.242 = private constant [14 x i8] c"*Architecture\00" -@tn.str.243 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.244 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.245 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.246 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.247 = private constant [10 x i8] c"*[]string\00" -@tn.str.248 = private constant [6 x i8] c"*[]u8\00" -@tn.str.249 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.250 = private constant [11 x i8] c"*[]Command\00" -@tn.str.251 = private constant [9 x i8] c"*[]Event\00" -@tn.str.252 = private constant [6 x i8] c"**GPA\00" -@tn.str.253 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.254 = private constant [8 x i8] c"**Arena\00" -@tn.str.255 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.256 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.257 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.258 = private constant [7 x i8] c"**File\00" -@tn.str.259 = private constant [6 x i8] c"**i32\00" -@tn.str.260 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.261 = private constant [6 x i8] c"**u32\00" -@tn.str.262 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.263 = private constant [8 x i8] c"**Array\00" -@tn.str.264 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.265 = private constant [9 x i8] c"**Object\00" -@tn.str.266 = private constant [7 x i8] c"**Sink\00" -@tn.str.267 = private constant [9 x i8] c"**Parser\00" -@tn.str.268 = private constant [6 x i8] c"**i64\00" -@tn.str.269 = private constant [9 x i8] c"**Parsed\00" -@tn.str.270 = private constant [7 x i8] c"**Diag\00" -@tn.str.271 = private constant [9 x i8] c"**Sha256\00" -@tn.str.272 = private constant [11 x i8] c"**Timespec\00" -@tn.str.273 = private constant [9 x i8] c"**Kevent\00" -@tn.str.274 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.275 = private constant [7 x i8] c"**Loop\00" -@tn.str.276 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.277 = private constant [8 x i8] c"***void\00" -@tn.str.278 = private constant [4 x i8] c"**E\00" -@tn.str.279 = private constant [9 x i8] c"**string\00" -@tn.str.280 = private constant [6 x i8] c"**Any\00" -@tn.str.281 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.282 = private constant [8 x i8] c"**[]Any\00" -@tn.str.283 = private constant [5 x i8] c"**u8\00" -@tn.str.284 = private constant [7 x i8] c"**bool\00" -@tn.str.285 = private constant [7 x i8] c"*?File\00" -@tn.str.286 = private constant [9 x i8] c"*?string\00" -@tn.str.287 = private constant [10 x i8] c"*?cstring\00" -@tn.str.288 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.289 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [187 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.104, i64 4 }, { ptr, i64 } { ptr @tn.str.105, i64 2 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 3 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 2 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 3 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 5 }, { ptr, i64 } { ptr @tn.str.119, i64 5 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 7 }, { ptr, i64 } { ptr @tn.str.122, i64 5 }, { ptr, i64 } { ptr @tn.str.123, i64 15 }, { ptr, i64 } { ptr @tn.str.124, i64 9 }, { ptr, i64 } { ptr @tn.str.125, i64 7 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 10 }, { ptr, i64 } { ptr @tn.str.129, i64 11 }, { ptr, i64 } { ptr @tn.str.130, i64 3 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 10 }, { ptr, i64 } { ptr @tn.str.133, i64 11 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 6 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 8 }, { ptr, i64 } { ptr @tn.str.138, i64 9 }, { ptr, i64 } { ptr @tn.str.139, i64 17 }, { ptr, i64 } { ptr @tn.str.140, i64 18 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 5 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 7 }, { ptr, i64 } { ptr @tn.str.147, i64 10 }, { ptr, i64 } { ptr @tn.str.148, i64 8 }, { ptr, i64 } { ptr @tn.str.149, i64 13 }, { ptr, i64 } { ptr @tn.str.150, i64 14 }, { ptr, i64 } { ptr @tn.str.151, i64 4 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 14 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 9 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 8 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 7 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 16 }, { ptr, i64 } { ptr @tn.str.171, i64 14 }, { ptr, i64 } { ptr @tn.str.172, i64 21 }, { ptr, i64 } { ptr @tn.str.173, i64 6 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 24 }, { ptr, i64 } { ptr @tn.str.176, i64 23 }, { ptr, i64 } { ptr @tn.str.177, i64 15 }, { ptr, i64 } { ptr @tn.str.178, i64 12 }, { ptr, i64 } { ptr @tn.str.179, i64 12 }, { ptr, i64 } { ptr @tn.str.180, i64 10 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 8 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 9 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 13 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 18 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 11 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 16 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 15 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 1 }, { ptr, i64 } { ptr @tn.str.214, i64 12 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 2 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 5 }, { ptr, i64 } { ptr @tn.str.219, i64 4 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 3 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 4 }, { ptr, i64 } { ptr @tn.str.227, i64 16 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 8 }, { ptr, i64 } { ptr @tn.str.230, i64 11 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 13 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 9 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 14 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 9 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 11 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 12 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 10 }, { ptr, i64 } { ptr @tn.str.257, i64 19 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 10 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 10 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 8 }, { ptr, i64 } { ptr @tn.str.274, i64 12 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 13 }, { ptr, i64 } { ptr @tn.str.277, i64 7 }, { ptr, i64 } { ptr @tn.str.278, i64 3 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 5 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 7 }, { ptr, i64 } { ptr @tn.str.283, i64 4 }, { ptr, i64 } { ptr @tn.str.284, i64 6 }, { ptr, i64 } { ptr @tn.str.285, i64 6 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 9 }, { ptr, i64 } { ptr @tn.str.288, i64 15 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }] -@str.290 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.297 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.298 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.299 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.300 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.301 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.302 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.303 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.304 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.305 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.307 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.308 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.309 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.310 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.106 = private constant [5 x i8] c"bool\00" +@tn.str.107 = private constant [3 x i8] c"i8\00" +@tn.str.108 = private constant [4 x i8] c"i16\00" +@tn.str.109 = private constant [4 x i8] c"i32\00" +@tn.str.110 = private constant [4 x i8] c"i64\00" +@tn.str.111 = private constant [3 x i8] c"u8\00" +@tn.str.112 = private constant [4 x i8] c"u16\00" +@tn.str.113 = private constant [4 x i8] c"u32\00" +@tn.str.114 = private constant [4 x i8] c"u64\00" +@tn.str.115 = private constant [4 x i8] c"f32\00" +@tn.str.116 = private constant [4 x i8] c"f64\00" +@tn.str.117 = private constant [7 x i8] c"string\00" +@tn.str.118 = private constant [4 x i8] c"Any\00" +@tn.str.119 = private constant [9 x i8] c"noreturn\00" +@tn.str.120 = private constant [6 x i8] c"isize\00" +@tn.str.121 = private constant [6 x i8] c"usize\00" +@tn.str.122 = private constant [5 x i8] c"void\00" +@tn.str.123 = private constant [8 x i8] c"cstring\00" +@tn.str.124 = private constant [6 x i8] c"*void\00" +@tn.str.125 = private constant [16 x i8] c"Source_Location\00" +@tn.str.126 = private constant [10 x i8] c"Allocator\00" +@tn.str.127 = private constant [8 x i8] c"Context\00" +@tn.str.128 = private constant [7 x i8] c"[4]i64\00" +@tn.str.129 = private constant [9 x i8] c"[]string\00" +@tn.str.130 = private constant [11 x i8] c"CAllocator\00" +@tn.str.131 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.132 = private constant [4 x i8] c"GPA\00" +@tn.str.133 = private constant [5 x i8] c"*GPA\00" +@tn.str.134 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.135 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.136 = private constant [6 x i8] c"Arena\00" +@tn.str.137 = private constant [7 x i8] c"*Arena\00" +@tn.str.138 = private constant [6 x i8] c"[*]u8\00" +@tn.str.139 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.140 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.141 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.142 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.143 = private constant [9 x i8] c"OpenMode\00" +@tn.str.144 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.145 = private constant [5 x i8] c"File\00" +@tn.str.146 = private constant [6 x i8] c"*File\00" +@tn.str.147 = private constant [6 x i8] c"?File\00" +@tn.str.148 = private constant [8 x i8] c"?string\00" +@tn.str.149 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.150 = private constant [9 x i8] c"?cstring\00" +@tn.str.151 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.152 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.153 = private constant [5 x i8] c"*i32\00" +@tn.str.154 = private constant [9 x i8] c"SockAddr\00" +@tn.str.155 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.156 = private constant [5 x i8] c"*u32\00" +@tn.str.157 = private constant [8 x i8] c"SockErr\00" +@tn.str.158 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.159 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.160 = private constant [10 x i8] c"JsonError\00" +@tn.str.161 = private constant [6 x i8] c"Array\00" +@tn.str.162 = private constant [7 x i8] c"Object\00" +@tn.str.163 = private constant [6 x i8] c"Value\00" +@tn.str.164 = private constant [7 x i8] c"Member\00" +@tn.str.165 = private constant [9 x i8] c"[*]Value\00" +@tn.str.166 = private constant [7 x i8] c"*Array\00" +@tn.str.167 = private constant [10 x i8] c"[*]Member\00" +@tn.str.168 = private constant [8 x i8] c"*Object\00" +@tn.str.169 = private constant [5 x i8] c"[]u8\00" +@tn.str.170 = private constant [5 x i8] c"Sink\00" +@tn.str.171 = private constant [6 x i8] c"*Sink\00" +@tn.str.172 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.173 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.174 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.175 = private constant [7 x i8] c"Parser\00" +@tn.str.176 = private constant [8 x i8] c"*Parser\00" +@tn.str.177 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.178 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.179 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.180 = private constant [13 x i8] c"Architecture\00" +@tn.str.181 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.182 = private constant [11 x i8] c"() -> bool\00" +@tn.str.183 = private constant [5 x i8] c"*i64\00" +@tn.str.184 = private constant [9 x i8] c"CliError\00" +@tn.str.185 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.186 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.187 = private constant [8 x i8] c"Command\00" +@tn.str.188 = private constant [10 x i8] c"FlagValue\00" +@tn.str.189 = private constant [5 x i8] c"Diag\00" +@tn.str.190 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.191 = private constant [7 x i8] c"Parsed\00" +@tn.str.192 = private constant [8 x i8] c"*Parsed\00" +@tn.str.193 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.194 = private constant [10 x i8] c"[]Command\00" +@tn.str.195 = private constant [6 x i8] c"*Diag\00" +@tn.str.196 = private constant [7 x i8] c"[8]i64\00" +@tn.str.197 = private constant [7 x i8] c"[64]u8\00" +@tn.str.198 = private constant [7 x i8] c"Sha256\00" +@tn.str.199 = private constant [8 x i8] c"*Sha256\00" +@tn.str.200 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.201 = private constant [8 x i8] c"[64]i64\00" +@tn.str.202 = private constant [9 x i8] c"Timespec\00" +@tn.str.203 = private constant [10 x i8] c"*Timespec\00" +@tn.str.204 = private constant [7 x i8] c"Kevent\00" +@tn.str.205 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.206 = private constant [8 x i8] c"*Kevent\00" +@tn.str.207 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.208 = private constant [9 x i8] c"EventErr\00" +@tn.str.209 = private constant [6 x i8] c"Event\00" +@tn.str.210 = private constant [5 x i8] c"Loop\00" +@tn.str.211 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.212 = private constant [6 x i8] c"*Loop\00" +@tn.str.213 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.214 = private constant [8 x i8] c"[]Event\00" +@tn.str.215 = private constant [8 x i8] c"HttpErr\00" +@tn.str.216 = private constant [7 x i8] c"Config\00" +@tn.str.217 = private constant [8 x i8] c"Request\00" +@tn.str.218 = private constant [9 x i8] c"Response\00" +@tn.str.219 = private constant [9 x i8] c"*Request\00" +@tn.str.220 = private constant [5 x i8] c"Conn\00" +@tn.str.221 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.222 = private constant [10 x i8] c"*Response\00" +@tn.str.223 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.224 = private constant [7 x i8] c"Server\00" +@tn.str.225 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.226 = private constant [8 x i8] c"*Server\00" +@tn.str.227 = private constant [2 x i8] c"E\00" +@tn.str.228 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.229 = private constant [7 x i8] c"**void\00" +@tn.str.230 = private constant [3 x i8] c"*E\00" +@tn.str.231 = private constant [8 x i8] c"*string\00" +@tn.str.232 = private constant [6 x i8] c"[]Any\00" +@tn.str.233 = private constant [5 x i8] c"*Any\00" +@tn.str.234 = private constant [7 x i8] c"[1]Any\00" +@tn.str.235 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.236 = private constant [7 x i8] c"*[]Any\00" +@tn.str.237 = private constant [4 x i8] c"*u8\00" +@tn.str.238 = private constant [6 x i8] c"*bool\00" +@tn.str.239 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.240 = private constant [5 x i8] c"*f64\00" +@tn.str.241 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.242 = private constant [11 x i8] c"*Allocator\00" +@tn.str.243 = private constant [9 x i8] c"*Context\00" +@tn.str.244 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.245 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.246 = private constant [8 x i8] c"*Member\00" +@tn.str.247 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.248 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.249 = private constant [9 x i8] c"*Command\00" +@tn.str.250 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.251 = private constant [7 x i8] c"*Event\00" +@tn.str.252 = private constant [8 x i8] c"*Config\00" +@tn.str.253 = private constant [6 x i8] c"*Conn\00" +@tn.str.254 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.255 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.256 = private constant [7 x i8] c"*Value\00" +@tn.str.257 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.258 = private constant [14 x i8] c"*Architecture\00" +@tn.str.259 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.260 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.261 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.262 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.263 = private constant [10 x i8] c"*[]string\00" +@tn.str.264 = private constant [6 x i8] c"*[]u8\00" +@tn.str.265 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.266 = private constant [11 x i8] c"*[]Command\00" +@tn.str.267 = private constant [9 x i8] c"*[]Event\00" +@tn.str.268 = private constant [6 x i8] c"**GPA\00" +@tn.str.269 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.270 = private constant [8 x i8] c"**Arena\00" +@tn.str.271 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.272 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.273 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.274 = private constant [7 x i8] c"**File\00" +@tn.str.275 = private constant [6 x i8] c"**i32\00" +@tn.str.276 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.277 = private constant [6 x i8] c"**u32\00" +@tn.str.278 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.279 = private constant [8 x i8] c"**Array\00" +@tn.str.280 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.281 = private constant [9 x i8] c"**Object\00" +@tn.str.282 = private constant [7 x i8] c"**Sink\00" +@tn.str.283 = private constant [9 x i8] c"**Parser\00" +@tn.str.284 = private constant [6 x i8] c"**i64\00" +@tn.str.285 = private constant [9 x i8] c"**Parsed\00" +@tn.str.286 = private constant [7 x i8] c"**Diag\00" +@tn.str.287 = private constant [9 x i8] c"**Sha256\00" +@tn.str.288 = private constant [11 x i8] c"**Timespec\00" +@tn.str.289 = private constant [9 x i8] c"**Kevent\00" +@tn.str.290 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.291 = private constant [7 x i8] c"**Loop\00" +@tn.str.292 = private constant [10 x i8] c"**Request\00" +@tn.str.293 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.294 = private constant [11 x i8] c"**Response\00" +@tn.str.295 = private constant [9 x i8] c"**Server\00" +@tn.str.296 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.297 = private constant [8 x i8] c"***void\00" +@tn.str.298 = private constant [4 x i8] c"**E\00" +@tn.str.299 = private constant [9 x i8] c"**string\00" +@tn.str.300 = private constant [6 x i8] c"**Any\00" +@tn.str.301 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.302 = private constant [8 x i8] c"**[]Any\00" +@tn.str.303 = private constant [5 x i8] c"**u8\00" +@tn.str.304 = private constant [7 x i8] c"**bool\00" +@tn.str.305 = private constant [7 x i8] c"*?File\00" +@tn.str.306 = private constant [9 x i8] c"*?string\00" +@tn.str.307 = private constant [10 x i8] c"*?cstring\00" +@tn.str.308 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.309 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [205 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.106, i64 4 }, { ptr, i64 } { ptr @tn.str.107, i64 2 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 3 }, { ptr, i64 } { ptr @tn.str.111, i64 2 }, { ptr, i64 } { ptr @tn.str.112, i64 3 }, { ptr, i64 } { ptr @tn.str.113, i64 3 }, { ptr, i64 } { ptr @tn.str.114, i64 3 }, { ptr, i64 } { ptr @tn.str.115, i64 3 }, { ptr, i64 } { ptr @tn.str.116, i64 3 }, { ptr, i64 } { ptr @tn.str.117, i64 6 }, { ptr, i64 } { ptr @tn.str.118, i64 3 }, { ptr, i64 } { ptr @tn.str.119, i64 8 }, { ptr, i64 } { ptr @tn.str.120, i64 5 }, { ptr, i64 } { ptr @tn.str.121, i64 5 }, { ptr, i64 } { ptr @tn.str.122, i64 4 }, { ptr, i64 } { ptr @tn.str.123, i64 7 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 15 }, { ptr, i64 } { ptr @tn.str.126, i64 9 }, { ptr, i64 } { ptr @tn.str.127, i64 7 }, { ptr, i64 } { ptr @tn.str.128, i64 6 }, { ptr, i64 } { ptr @tn.str.129, i64 8 }, { ptr, i64 } { ptr @tn.str.130, i64 10 }, { ptr, i64 } { ptr @tn.str.131, i64 11 }, { ptr, i64 } { ptr @tn.str.132, i64 3 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 10 }, { ptr, i64 } { ptr @tn.str.135, i64 11 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 6 }, { ptr, i64 } { ptr @tn.str.138, i64 5 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 9 }, { ptr, i64 } { ptr @tn.str.141, i64 17 }, { ptr, i64 } { ptr @tn.str.142, i64 18 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 4 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 7 }, { ptr, i64 } { ptr @tn.str.149, i64 10 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 13 }, { ptr, i64 } { ptr @tn.str.152, i64 14 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 8 }, { ptr, i64 } { ptr @tn.str.155, i64 9 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 7 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 9 }, { ptr, i64 } { ptr @tn.str.161, i64 5 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 5 }, { ptr, i64 } { ptr @tn.str.164, i64 6 }, { ptr, i64 } { ptr @tn.str.165, i64 8 }, { ptr, i64 } { ptr @tn.str.166, i64 6 }, { ptr, i64 } { ptr @tn.str.167, i64 9 }, { ptr, i64 } { ptr @tn.str.168, i64 7 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 16 }, { ptr, i64 } { ptr @tn.str.173, i64 14 }, { ptr, i64 } { ptr @tn.str.174, i64 21 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 24 }, { ptr, i64 } { ptr @tn.str.178, i64 23 }, { ptr, i64 } { ptr @tn.str.179, i64 15 }, { ptr, i64 } { ptr @tn.str.180, i64 12 }, { ptr, i64 } { ptr @tn.str.181, i64 12 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 4 }, { ptr, i64 } { ptr @tn.str.184, i64 8 }, { ptr, i64 } { ptr @tn.str.185, i64 8 }, { ptr, i64 } { ptr @tn.str.186, i64 10 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 13 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 18 }, { ptr, i64 } { ptr @tn.str.194, i64 9 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 8 }, { ptr, i64 } { ptr @tn.str.203, i64 9 }, { ptr, i64 } { ptr @tn.str.204, i64 6 }, { ptr, i64 } { ptr @tn.str.205, i64 10 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 11 }, { ptr, i64 } { ptr @tn.str.208, i64 8 }, { ptr, i64 } { ptr @tn.str.209, i64 5 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 16 }, { ptr, i64 } { ptr @tn.str.212, i64 5 }, { ptr, i64 } { ptr @tn.str.213, i64 15 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 6 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 4 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 21 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 17 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 1 }, { ptr, i64 } { ptr @tn.str.228, i64 12 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 2 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 3 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 4 }, { ptr, i64 } { ptr @tn.str.241, i64 16 }, { ptr, i64 } { ptr @tn.str.242, i64 10 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 11 }, { ptr, i64 } { ptr @tn.str.245, i64 14 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 9 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 5 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 16 }, { ptr, i64 } { ptr @tn.str.258, i64 13 }, { ptr, i64 } { ptr @tn.str.259, i64 14 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 11 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 8 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 10 }, { ptr, i64 } { ptr @tn.str.273, i64 19 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 5 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 10 }, { ptr, i64 } { ptr @tn.str.281, i64 8 }, { ptr, i64 } { ptr @tn.str.282, i64 6 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 5 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 6 }, { ptr, i64 } { ptr @tn.str.287, i64 8 }, { ptr, i64 } { ptr @tn.str.288, i64 10 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 12 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 9 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 10 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 13 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 3 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 5 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 7 }, { ptr, i64 } { ptr @tn.str.303, i64 4 }, { ptr, i64 } { ptr @tn.str.304, i64 6 }, { ptr, i64 } { ptr @tn.str.305, i64 6 }, { ptr, i64 } { ptr @tn.str.306, i64 8 }, { ptr, i64 } { ptr @tn.str.307, i64 9 }, { ptr, i64 } { ptr @tn.str.308, i64 15 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }] +@str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.311 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.316 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.317 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.319 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.320 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.321 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.322 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.323 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.324 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.325 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.326 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.327 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.328 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.329 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.330 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @frame.str = private unnamed_addr constant [21 x i8] c"1009-errors-catch.sx\00" -@frame.str.311 = private unnamed_addr constant [5 x i8] c"must\00" -@frame.str.312 = private unnamed_addr constant [35 x i8] c" if n < 0 { raise error.Bad; }\00" -@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 16, i32 17, { ptr, i64 } { ptr @frame.str.311, i64 4 }, { ptr, i64 } { ptr @frame.str.312, i64 34 } } -@frame.str.313 = private unnamed_addr constant [37 x i8] c" if n == 0 { raise error.Empty; }\00" -@trace.frame.314 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 17, i32 17, { ptr, i64 } { ptr @frame.str.311, i64 4 }, { ptr, i64 } { ptr @frame.str.313, i64 36 } } -@frame.str.315 = private unnamed_addr constant [12 x i8] c"handle_some\00" -@frame.str.316 = private unnamed_addr constant [65 x i8] c" raise e; // re-raise the rest\00" -@trace.frame.317 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 46, i32 9, { ptr, i64 } { ptr @frame.str.315, i64 11 }, { ptr, i64 } { ptr @frame.str.316, i64 64 } } -@str.318 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 -@str.319 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.320 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 -@str.321 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.322 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.323 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.324 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.331 = private unnamed_addr constant [5 x i8] c"must\00" +@frame.str.332 = private unnamed_addr constant [35 x i8] c" if n < 0 { raise error.Bad; }\00" +@trace.frame = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 16, i32 17, { ptr, i64 } { ptr @frame.str.331, i64 4 }, { ptr, i64 } { ptr @frame.str.332, i64 34 } } +@frame.str.333 = private unnamed_addr constant [37 x i8] c" if n == 0 { raise error.Empty; }\00" +@trace.frame.334 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 17, i32 17, { ptr, i64 } { ptr @frame.str.331, i64 4 }, { ptr, i64 } { ptr @frame.str.333, i64 36 } } +@frame.str.335 = private unnamed_addr constant [12 x i8] c"handle_some\00" +@frame.str.336 = private unnamed_addr constant [65 x i8] c" raise e; // re-raise the rest\00" +@trace.frame.337 = private constant { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } } { { ptr, i64 } { ptr @frame.str, i64 20 }, i32 46, i32 9, { ptr, i64 } { ptr @frame.str.335, i64 11 }, { ptr, i64 } { ptr @frame.str.336, i64 64 } } +@str.338 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 +@str.339 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.340 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 +@str.341 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.342 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.343 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.344 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.325 = private constant [5 x i8] c"line\00" -@fld.str.326 = private constant [4 x i8] c"col\00" -@fld.str.327 = 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.325, i64 4 }, { ptr, i64 } { ptr @fld.str.326, i64 3 }, { ptr, i64 } { ptr @fld.str.327, i64 4 }] -@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.329 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.330 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.331 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.332 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.333 = private constant [4 x i8] c"ctx\00" -@fld.str.334 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.335 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.336 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 3 }, { ptr, i64 } { ptr @fld.str.334, i64 11 }, { ptr, i64 } { ptr @fld.str.335, i64 13 }] -@str.337 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.338 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.339 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.340 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.341 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.342 = private constant [10 x i8] c"allocator\00" -@fld.str.343 = private constant [5 x i8] c"data\00" -@field_names.344 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.342, i64 9 }, { ptr, i64 } { ptr @fld.str.343, i64 4 }] -@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.346 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.347 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.348 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.349 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.350 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.351 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.352 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.353 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.354 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.355 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.356 = private constant [12 x i8] c"alloc_count\00" -@field_names.357 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.356, i64 11 }] -@str.358 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.359 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.360 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.361 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.362 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.363 = private constant [5 x i8] c"next\00" -@fld.str.364 = private constant [4 x i8] c"cap\00" -@field_names.365 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.363, i64 4 }, { ptr, i64 } { ptr @fld.str.364, i64 3 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.368 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.369 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.370 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.371 = private constant [6 x i8] c"first\00" -@fld.str.372 = private constant [10 x i8] c"end_index\00" -@fld.str.373 = private constant [7 x i8] c"parent\00" -@field_names.374 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 5 }, { ptr, i64 } { ptr @fld.str.372, i64 9 }, { ptr, i64 } { ptr @fld.str.373, i64 6 }] -@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.376 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.377 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.378 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.379 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.380 = private constant [4 x i8] c"buf\00" -@fld.str.381 = private constant [4 x i8] c"len\00" -@fld.str.382 = private constant [4 x i8] c"pos\00" -@field_names.383 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 3 }, { ptr, i64 } { ptr @fld.str.381, i64 3 }, { ptr, i64 } { ptr @fld.str.382, i64 3 }] -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.386 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.387 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.388 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.389 = private constant [7 x i8] c"parent\00" -@fld.str.390 = private constant [12 x i8] c"alloc_count\00" -@fld.str.391 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.392 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.393 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 6 }, { ptr, i64 } { ptr @fld.str.390, i64 11 }, { ptr, i64 } { ptr @fld.str.391, i64 13 }, { ptr, i64 } { ptr @fld.str.392, i64 17 }] -@str.394 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.395 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.396 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.397 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.398 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.399 = private constant [3 x i8] c"fd\00" -@field_names.400 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.399, i64 2 }] -@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.402 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.403 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.404 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.405 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.406 = private constant [5 x i8] c"file\00" -@fld.str.407 = private constant [5 x i8] c"line\00" -@fld.str.408 = private constant [4 x i8] c"col\00" -@fld.str.409 = private constant [5 x i8] c"func\00" -@fld.str.410 = private constant [10 x i8] c"line_text\00" -@field_names.411 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 4 }, { ptr, i64 } { ptr @fld.str.407, i64 4 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }, { ptr, i64 } { ptr @fld.str.409, i64 4 }, { ptr, i64 } { ptr @fld.str.410, i64 9 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.414 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.415 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.416 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.417 = private constant [10 x i8] c"exit_code\00" -@fld.str.418 = private constant [7 x i8] c"stdout\00" -@field_names.419 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 9 }, { ptr, i64 } { ptr @fld.str.418, i64 6 }] -@str.420 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.421 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.422 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.423 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.424 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.425 = private constant [8 x i8] c"sin_len\00" -@fld.str.426 = private constant [11 x i8] c"sin_family\00" -@fld.str.427 = private constant [9 x i8] c"sin_port\00" -@fld.str.428 = private constant [9 x i8] c"sin_addr\00" -@fld.str.429 = private constant [9 x i8] c"sin_zero\00" -@field_names.430 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.425, i64 7 }, { ptr, i64 } { ptr @fld.str.426, i64 10 }, { ptr, i64 } { ptr @fld.str.427, i64 8 }, { ptr, i64 } { ptr @fld.str.428, i64 8 }, { ptr, i64 } { ptr @fld.str.429, i64 8 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.433 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.434 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.435 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.436 = private constant [6 x i8] c"items\00" -@fld.str.437 = private constant [4 x i8] c"len\00" -@fld.str.438 = private constant [4 x i8] c"cap\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 5 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }] +@fld.str.345 = private constant [5 x i8] c"line\00" +@fld.str.346 = private constant [4 x i8] c"col\00" +@fld.str.347 = 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.345, i64 4 }, { ptr, i64 } { ptr @fld.str.346, i64 3 }, { ptr, i64 } { ptr @fld.str.347, i64 4 }] +@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.349 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.350 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.351 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.352 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.353 = private constant [4 x i8] c"ctx\00" +@fld.str.354 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.355 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.356 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 3 }, { ptr, i64 } { ptr @fld.str.354, i64 11 }, { ptr, i64 } { ptr @fld.str.355, i64 13 }] +@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.358 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.359 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.360 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.361 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.362 = private constant [10 x i8] c"allocator\00" +@fld.str.363 = private constant [5 x i8] c"data\00" +@field_names.364 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 9 }, { ptr, i64 } { ptr @fld.str.363, i64 4 }] +@str.365 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.366 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.367 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.368 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.369 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.370 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.372 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.373 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.374 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.375 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.376 = private constant [12 x i8] c"alloc_count\00" +@field_names.377 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 11 }] +@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.379 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.380 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.381 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.382 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.383 = private constant [5 x i8] c"next\00" +@fld.str.384 = private constant [4 x i8] c"cap\00" +@field_names.385 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 4 }, { ptr, i64 } { ptr @fld.str.384, i64 3 }] +@str.386 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.387 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.388 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.389 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.390 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.391 = private constant [6 x i8] c"first\00" +@fld.str.392 = private constant [10 x i8] c"end_index\00" +@fld.str.393 = private constant [7 x i8] c"parent\00" +@field_names.394 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 5 }, { ptr, i64 } { ptr @fld.str.392, i64 9 }, { ptr, i64 } { ptr @fld.str.393, i64 6 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.397 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.398 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.399 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.400 = private constant [4 x i8] c"buf\00" +@fld.str.401 = private constant [4 x i8] c"len\00" +@fld.str.402 = private constant [4 x i8] c"pos\00" +@field_names.403 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 3 }, { ptr, i64 } { ptr @fld.str.401, i64 3 }, { ptr, i64 } { ptr @fld.str.402, i64 3 }] +@str.404 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.405 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.406 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.407 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.408 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.409 = private constant [7 x i8] c"parent\00" +@fld.str.410 = private constant [12 x i8] c"alloc_count\00" +@fld.str.411 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.412 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.413 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 6 }, { ptr, i64 } { ptr @fld.str.410, i64 11 }, { ptr, i64 } { ptr @fld.str.411, i64 13 }, { ptr, i64 } { ptr @fld.str.412, i64 17 }] +@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.415 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.416 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.417 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.418 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.419 = private constant [3 x i8] c"fd\00" +@field_names.420 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 2 }] +@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.422 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.423 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.424 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.425 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.426 = private constant [5 x i8] c"file\00" +@fld.str.427 = private constant [5 x i8] c"line\00" +@fld.str.428 = private constant [4 x i8] c"col\00" +@fld.str.429 = private constant [5 x i8] c"func\00" +@fld.str.430 = private constant [10 x i8] c"line_text\00" +@field_names.431 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 4 }, { ptr, i64 } { ptr @fld.str.427, i64 4 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 4 }, { ptr, i64 } { ptr @fld.str.430, i64 9 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.434 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.435 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.436 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.437 = private constant [10 x i8] c"exit_code\00" +@fld.str.438 = private constant [7 x i8] c"stdout\00" +@field_names.439 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 9 }, { ptr, i64 } { ptr @fld.str.438, i64 6 }] @str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.441 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.442 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.443 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.444 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.445 = private constant [6 x i8] c"items\00" -@fld.str.446 = private constant [4 x i8] c"len\00" -@fld.str.447 = private constant [4 x i8] c"cap\00" -@field_names.448 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 5 }, { ptr, i64 } { ptr @fld.str.446, i64 3 }, { ptr, i64 } { ptr @fld.str.447, i64 3 }] -@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.450 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.451 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.452 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.453 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.454 = private constant [4 x i8] c"key\00" -@fld.str.455 = private constant [4 x i8] c"val\00" -@field_names.456 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 3 }, { ptr, i64 } { ptr @fld.str.455, i64 3 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.459 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.460 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.461 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.462 = private constant [4 x i8] c"dst\00" -@fld.str.463 = private constant [4 x i8] c"pos\00" -@fld.str.464 = private constant [5 x i8] c"file\00" -@field_names.465 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 3 }, { ptr, i64 } { ptr @fld.str.464, i64 4 }] -@str.466 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.467 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.468 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.469 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.470 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.471 = private constant [4 x i8] c"src\00" -@fld.str.472 = private constant [4 x i8] c"pos\00" -@fld.str.473 = private constant [6 x i8] c"alloc\00" -@field_names.474 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.471, i64 3 }, { ptr, i64 } { ptr @fld.str.472, i64 3 }, { ptr, i64 } { ptr @fld.str.473, i64 5 }] -@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.476 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.477 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.478 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.479 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.480 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.482 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.483 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.484 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.485 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.486 = private constant [5 x i8] c"name\00" -@fld.str.487 = private constant [12 x i8] c"takes_value\00" -@fld.str.488 = private constant [9 x i8] c"required\00" -@field_names.489 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.486, i64 4 }, { ptr, i64 } { ptr @fld.str.487, i64 11 }, { ptr, i64 } { ptr @fld.str.488, i64 8 }] -@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.492 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.494 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.495 = private constant [6 x i8] c"group\00" -@fld.str.496 = private constant [8 x i8] c"command\00" -@fld.str.497 = private constant [6 x i8] c"flags\00" -@field_names.498 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 5 }, { ptr, i64 } { ptr @fld.str.496, i64 7 }, { ptr, i64 } { ptr @fld.str.497, i64 5 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.504 = private constant [4 x i8] c"set\00" -@fld.str.505 = private constant [6 x i8] c"value\00" -@field_names.506 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 5 }] -@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.508 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.510 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.511 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.512 = private constant [6 x i8] c"index\00" -@fld.str.513 = private constant [6 x i8] c"token\00" -@field_names.514 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 5 }, { ptr, i64 } { ptr @fld.str.513, i64 5 }] -@str.515 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.516 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.517 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.518 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.519 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.520 = private constant [6 x i8] c"group\00" -@fld.str.521 = private constant [8 x i8] c"command\00" -@fld.str.522 = private constant [10 x i8] c"cmd_index\00" -@fld.str.523 = private constant [5 x i8] c"json\00" -@fld.str.524 = private constant [5 x i8] c"rest\00" -@fld.str.525 = private constant [5 x i8] c"spec\00" -@fld.str.526 = private constant [7 x i8] c"values\00" -@field_names.527 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 9 }, { ptr, i64 } { ptr @fld.str.523, i64 4 }, { ptr, i64 } { ptr @fld.str.524, i64 4 }, { ptr, i64 } { ptr @fld.str.525, i64 4 }, { ptr, i64 } { ptr @fld.str.526, i64 6 }] -@str.528 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.529 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.530 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.531 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.532 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.533 = private constant [2 x i8] c"h\00" -@fld.str.534 = private constant [4 x i8] c"buf\00" -@fld.str.535 = private constant [8 x i8] c"buf_len\00" -@fld.str.536 = private constant [10 x i8] c"total_len\00" -@field_names.537 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.533, i64 1 }, { ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 9 }] -@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.539 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.540 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.541 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.542 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.543 = private constant [4 x i8] c"sec\00" -@fld.str.544 = private constant [5 x i8] c"nsec\00" -@field_names.545 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 3 }, { ptr, i64 } { ptr @fld.str.544, i64 4 }] -@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.547 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.548 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.549 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.550 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.551 = private constant [6 x i8] c"ident\00" -@fld.str.552 = private constant [7 x i8] c"filter\00" -@fld.str.553 = private constant [6 x i8] c"flags\00" -@fld.str.554 = private constant [7 x i8] c"fflags\00" -@fld.str.555 = private constant [5 x i8] c"data\00" -@fld.str.556 = private constant [6 x i8] c"udata\00" -@field_names.557 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 5 }, { ptr, i64 } { ptr @fld.str.554, i64 6 }, { ptr, i64 } { ptr @fld.str.555, i64 4 }, { ptr, i64 } { ptr @fld.str.556, i64 5 }] +@fld.str.445 = private constant [8 x i8] c"sin_len\00" +@fld.str.446 = private constant [11 x i8] c"sin_family\00" +@fld.str.447 = private constant [9 x i8] c"sin_port\00" +@fld.str.448 = private constant [9 x i8] c"sin_addr\00" +@fld.str.449 = private constant [9 x i8] c"sin_zero\00" +@field_names.450 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 7 }, { ptr, i64 } { ptr @fld.str.446, i64 10 }, { ptr, i64 } { ptr @fld.str.447, i64 8 }, { ptr, i64 } { ptr @fld.str.448, i64 8 }, { ptr, i64 } { ptr @fld.str.449, i64 8 }] +@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.452 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.453 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.454 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.455 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.456 = private constant [6 x i8] c"items\00" +@fld.str.457 = private constant [4 x i8] c"len\00" +@fld.str.458 = private constant [4 x i8] c"cap\00" +@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 5 }, { ptr, i64 } { ptr @fld.str.457, i64 3 }, { ptr, i64 } { ptr @fld.str.458, i64 3 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.462 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.463 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.464 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.465 = private constant [6 x i8] c"items\00" +@fld.str.466 = private constant [4 x i8] c"len\00" +@fld.str.467 = private constant [4 x i8] c"cap\00" +@field_names.468 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 5 }, { ptr, i64 } { ptr @fld.str.466, i64 3 }, { ptr, i64 } { ptr @fld.str.467, i64 3 }] +@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.470 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.471 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.472 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.473 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.474 = private constant [4 x i8] c"key\00" +@fld.str.475 = private constant [4 x i8] c"val\00" +@field_names.476 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 3 }, { ptr, i64 } { ptr @fld.str.475, i64 3 }] +@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.478 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.479 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.480 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.481 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.482 = private constant [4 x i8] c"dst\00" +@fld.str.483 = private constant [4 x i8] c"pos\00" +@fld.str.484 = private constant [5 x i8] c"file\00" +@field_names.485 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 3 }, { ptr, i64 } { ptr @fld.str.484, i64 4 }] +@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.487 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.488 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.489 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.490 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.491 = private constant [4 x i8] c"src\00" +@fld.str.492 = private constant [4 x i8] c"pos\00" +@fld.str.493 = private constant [6 x i8] c"alloc\00" +@field_names.494 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 3 }, { ptr, i64 } { ptr @fld.str.492, i64 3 }, { ptr, i64 } { ptr @fld.str.493, i64 5 }] +@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.496 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.497 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.498 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.499 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.500 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.502 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.506 = private constant [5 x i8] c"name\00" +@fld.str.507 = private constant [12 x i8] c"takes_value\00" +@fld.str.508 = private constant [9 x i8] c"required\00" +@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 4 }, { ptr, i64 } { ptr @fld.str.507, i64 11 }, { ptr, i64 } { ptr @fld.str.508, i64 8 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.514 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.515 = private constant [6 x i8] c"group\00" +@fld.str.516 = private constant [8 x i8] c"command\00" +@fld.str.517 = private constant [6 x i8] c"flags\00" +@field_names.518 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 5 }, { ptr, i64 } { ptr @fld.str.516, i64 7 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.524 = private constant [4 x i8] c"set\00" +@fld.str.525 = private constant [6 x i8] c"value\00" +@field_names.526 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 3 }, { ptr, i64 } { ptr @fld.str.525, i64 5 }] +@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.528 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.530 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.531 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.532 = private constant [6 x i8] c"index\00" +@fld.str.533 = private constant [6 x i8] c"token\00" +@field_names.534 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 5 }, { ptr, i64 } { ptr @fld.str.533, i64 5 }] +@str.535 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.536 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.537 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.538 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.539 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.540 = private constant [6 x i8] c"group\00" +@fld.str.541 = private constant [8 x i8] c"command\00" +@fld.str.542 = private constant [10 x i8] c"cmd_index\00" +@fld.str.543 = private constant [5 x i8] c"json\00" +@fld.str.544 = private constant [5 x i8] c"rest\00" +@fld.str.545 = private constant [5 x i8] c"spec\00" +@fld.str.546 = private constant [7 x i8] c"values\00" +@field_names.547 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.540, i64 5 }, { ptr, i64 } { ptr @fld.str.541, i64 7 }, { ptr, i64 } { ptr @fld.str.542, i64 9 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 4 }, { ptr, i64 } { ptr @fld.str.545, i64 4 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }] +@str.548 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.549 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.550 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.551 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.552 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.553 = private constant [2 x i8] c"h\00" +@fld.str.554 = private constant [4 x i8] c"buf\00" +@fld.str.555 = private constant [8 x i8] c"buf_len\00" +@fld.str.556 = private constant [10 x i8] c"total_len\00" +@field_names.557 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.553, i64 1 }, { ptr, i64 } { ptr @fld.str.554, i64 3 }, { ptr, i64 } { ptr @fld.str.555, i64 7 }, { ptr, i64 } { ptr @fld.str.556, i64 9 }] @str.558 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.559 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.559 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.560 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.561 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.562 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -500,217 +500,313 @@ @fld.str.564 = private constant [5 x i8] c"nsec\00" @field_names.565 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 3 }, { ptr, i64 } { ptr @fld.str.564, i64 4 }] @str.566 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.567 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.567 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.568 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.569 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.570 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.571 = private constant [3 x i8] c"fd\00" -@fld.str.572 = private constant [6 x i8] c"udata\00" -@fld.str.573 = private constant [9 x i8] c"readable\00" -@fld.str.574 = private constant [9 x i8] c"writable\00" -@fld.str.575 = private constant [4 x i8] c"eof\00" -@fld.str.576 = private constant [4 x i8] c"err\00" -@fld.str.577 = private constant [7 x i8] c"nbytes\00" -@field_names.578 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.571, i64 2 }, { ptr, i64 } { ptr @fld.str.572, i64 5 }, { ptr, i64 } { ptr @fld.str.573, i64 8 }, { ptr, i64 } { ptr @fld.str.574, i64 8 }, { ptr, i64 } { ptr @fld.str.575, i64 3 }, { ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 6 }] -@str.579 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.580 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.581 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.582 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.583 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.584 = private constant [3 x i8] c"kq\00" -@field_names.585 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 2 }] +@fld.str.571 = private constant [6 x i8] c"ident\00" +@fld.str.572 = private constant [7 x i8] c"filter\00" +@fld.str.573 = private constant [6 x i8] c"flags\00" +@fld.str.574 = private constant [7 x i8] c"fflags\00" +@fld.str.575 = private constant [5 x i8] c"data\00" +@fld.str.576 = private constant [6 x i8] c"udata\00" +@field_names.577 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.571, i64 5 }, { ptr, i64 } { ptr @fld.str.572, i64 6 }, { ptr, i64 } { ptr @fld.str.573, i64 5 }, { ptr, i64 } { ptr @fld.str.574, i64 6 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }, { ptr, i64 } { ptr @fld.str.576, i64 5 }] +@str.578 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.579 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.581 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.582 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.583 = private constant [4 x i8] c"sec\00" +@fld.str.584 = private constant [5 x i8] c"nsec\00" +@field_names.585 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 3 }, { ptr, i64 } { ptr @fld.str.584, i64 4 }] @str.586 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.587 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.588 = private constant [5 x i8] c"read\00" -@fld.str.589 = private constant [6 x i8] c"write\00" -@fld.str.590 = private constant [7 x i8] c"append\00" -@fld.str.591 = private constant [11 x i8] c"read_write\00" -@field_names.592 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 4 }, { ptr, i64 } { ptr @fld.str.589, i64 5 }, { ptr, i64 } { ptr @fld.str.590, i64 6 }, { ptr, i64 } { ptr @fld.str.591, i64 10 }] -@str.593 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.594 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.595 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.596 = private constant [4 x i8] c"set\00" -@fld.str.597 = private constant [8 x i8] c"current\00" -@fld.str.598 = private constant [4 x i8] c"end\00" -@field_names.599 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 7 }, { ptr, i64 } { ptr @fld.str.598, i64 3 }] -@str.600 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.601 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.602 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.603 = private constant [6 x i8] c"null_\00" -@fld.str.604 = private constant [6 x i8] c"bool_\00" -@fld.str.605 = private constant [5 x i8] c"int_\00" -@fld.str.606 = private constant [4 x i8] c"str\00" -@fld.str.607 = private constant [6 x i8] c"array\00" -@fld.str.608 = private constant [7 x i8] c"object\00" -@field_names.609 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 4 }, { ptr, i64 } { ptr @fld.str.606, i64 3 }, { ptr, i64 } { ptr @fld.str.607, i64 5 }, { ptr, i64 } { ptr @fld.str.608, i64 6 }] -@str.610 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.611 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.612 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.613 = private constant [6 x i8] c"macos\00" -@fld.str.614 = private constant [6 x i8] c"linux\00" -@fld.str.615 = private constant [8 x i8] c"windows\00" -@fld.str.616 = private constant [5 x i8] c"wasm\00" -@fld.str.617 = private constant [4 x i8] c"ios\00" -@fld.str.618 = private constant [8 x i8] c"android\00" -@fld.str.619 = private constant [8 x i8] c"unknown\00" -@field_names.620 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 5 }, { ptr, i64 } { ptr @fld.str.614, i64 5 }, { ptr, i64 } { ptr @fld.str.615, i64 7 }, { ptr, i64 } { ptr @fld.str.616, i64 4 }, { ptr, i64 } { ptr @fld.str.617, i64 3 }, { ptr, i64 } { ptr @fld.str.618, i64 7 }, { ptr, i64 } { ptr @fld.str.619, i64 7 }] -@str.621 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.622 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.624 = private constant [8 x i8] c"aarch64\00" -@fld.str.625 = private constant [7 x i8] c"x86_64\00" -@fld.str.626 = private constant [7 x i8] c"wasm32\00" -@fld.str.627 = private constant [7 x i8] c"wasm64\00" -@fld.str.628 = private constant [8 x i8] c"unknown\00" -@field_names.629 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 7 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }, { ptr, i64 } { ptr @fld.str.626, i64 6 }, { ptr, i64 } { ptr @fld.str.627, i64 6 }, { ptr, i64 } { ptr @fld.str.628, i64 7 }] -@str.630 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.631 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.632 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.635 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.637 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.638 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.639 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.640 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.641 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.642 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.643 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.645 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.646 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.648 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.649 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.650 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.654 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.656 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.657 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.658 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.660 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.661 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.662 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.663 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.664 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.665 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.666 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.667 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.668 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.669 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.670 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.671 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.672 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.673 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.674 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.675 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.676 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.678 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.679 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.680 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.681 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.682 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.685 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.686 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.687 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.688 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.691 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.693 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.694 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.695 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.696 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.697 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.698 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.699 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.700 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.701 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.702 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.703 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.704 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.705 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.706 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.707 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.708 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.709 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.710 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.711 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.712 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.713 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.714 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.715 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.716 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.717 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.718 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.719 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.720 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.721 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.723 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.724 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.725 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.726 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.727 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 -@str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.587 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.588 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.589 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.590 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.591 = private constant [3 x i8] c"fd\00" +@fld.str.592 = private constant [6 x i8] c"udata\00" +@fld.str.593 = private constant [9 x i8] c"readable\00" +@fld.str.594 = private constant [9 x i8] c"writable\00" +@fld.str.595 = private constant [4 x i8] c"eof\00" +@fld.str.596 = private constant [4 x i8] c"err\00" +@fld.str.597 = private constant [7 x i8] c"nbytes\00" +@field_names.598 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.591, i64 2 }, { ptr, i64 } { ptr @fld.str.592, i64 5 }, { ptr, i64 } { ptr @fld.str.593, i64 8 }, { ptr, i64 } { ptr @fld.str.594, i64 8 }, { ptr, i64 } { ptr @fld.str.595, i64 3 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 6 }] +@str.599 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.600 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.601 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.602 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.603 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.604 = private constant [3 x i8] c"kq\00" +@field_names.605 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 2 }] +@str.606 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.607 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.608 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.609 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.610 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.611 = private constant [5 x i8] c"port\00" +@fld.str.612 = private constant [8 x i8] c"backlog\00" +@fld.str.613 = private constant [9 x i8] c"max_conn\00" +@fld.str.614 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.615 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.616 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.617 = private constant [14 x i8] c"request_count\00" +@field_names.618 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.611, i64 4 }, { ptr, i64 } { ptr @fld.str.612, i64 7 }, { ptr, i64 } { ptr @fld.str.613, i64 8 }, { ptr, i64 } { ptr @fld.str.614, i64 12 }, { ptr, i64 } { ptr @fld.str.615, i64 18 }, { ptr, i64 } { ptr @fld.str.616, i64 20 }, { ptr, i64 } { ptr @fld.str.617, i64 13 }] +@str.619 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.620 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.621 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.622 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.623 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.624 = private constant [7 x i8] c"method\00" +@fld.str.625 = private constant [5 x i8] c"path\00" +@fld.str.626 = private constant [8 x i8] c"version\00" +@fld.str.627 = private constant [12 x i8] c"headers_raw\00" +@fld.str.628 = private constant [5 x i8] c"body\00" +@fld.str.629 = private constant [11 x i8] c"keep_alive\00" +@field_names.630 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 4 }, { ptr, i64 } { ptr @fld.str.626, i64 7 }, { ptr, i64 } { ptr @fld.str.627, i64 11 }, { ptr, i64 } { ptr @fld.str.628, i64 4 }, { ptr, i64 } { ptr @fld.str.629, i64 10 }] +@str.631 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.632 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.633 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.634 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.636 = private constant [7 x i8] c"status\00" +@fld.str.637 = private constant [13 x i8] c"content_type\00" +@fld.str.638 = private constant [14 x i8] c"extra_headers\00" +@fld.str.639 = private constant [5 x i8] c"body\00" +@field_names.640 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.636, i64 6 }, { ptr, i64 } { ptr @fld.str.637, i64 12 }, { ptr, i64 } { ptr @fld.str.638, i64 13 }, { ptr, i64 } { ptr @fld.str.639, i64 4 }] +@str.641 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.642 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.643 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.644 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.645 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.646 = private constant [3 x i8] c"fd\00" +@fld.str.647 = private constant [6 x i8] c"state\00" +@fld.str.648 = private constant [9 x i8] c"read_buf\00" +@fld.str.649 = private constant [9 x i8] c"read_len\00" +@fld.str.650 = private constant [8 x i8] c"out_buf\00" +@fld.str.651 = private constant [8 x i8] c"out_len\00" +@fld.str.652 = private constant [9 x i8] c"out_sent\00" +@fld.str.653 = private constant [9 x i8] c"deadline\00" +@fld.str.654 = private constant [7 x i8] c"served\00" +@fld.str.655 = private constant [12 x i8] c"close_after\00" +@fld.str.656 = private constant [12 x i8] c"write_armed\00" +@field_names.657 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.646, i64 2 }, { ptr, i64 } { ptr @fld.str.647, i64 5 }, { ptr, i64 } { ptr @fld.str.648, i64 8 }, { ptr, i64 } { ptr @fld.str.649, i64 8 }, { ptr, i64 } { ptr @fld.str.650, i64 7 }, { ptr, i64 } { ptr @fld.str.651, i64 7 }, { ptr, i64 } { ptr @fld.str.652, i64 8 }, { ptr, i64 } { ptr @fld.str.653, i64 8 }, { ptr, i64 } { ptr @fld.str.654, i64 6 }, { ptr, i64 } { ptr @fld.str.655, i64 11 }, { ptr, i64 } { ptr @fld.str.656, i64 11 }] +@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.659 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.660 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.661 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.663 = private constant [4 x i8] c"cfg\00" +@fld.str.664 = private constant [5 x i8] c"loop\00" +@fld.str.665 = private constant [4 x i8] c"lfd\00" +@fld.str.666 = private constant [6 x i8] c"conns\00" +@fld.str.667 = private constant [10 x i8] c"own_alloc\00" +@fld.str.668 = private constant [8 x i8] c"handler\00" +@field_names.669 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 3 }, { ptr, i64 } { ptr @fld.str.664, i64 4 }, { ptr, i64 } { ptr @fld.str.665, i64 3 }, { ptr, i64 } { ptr @fld.str.666, i64 5 }, { ptr, i64 } { ptr @fld.str.667, i64 9 }, { ptr, i64 } { ptr @fld.str.668, i64 7 }] +@str.670 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.671 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.672 = private constant [5 x i8] c"read\00" +@fld.str.673 = private constant [6 x i8] c"write\00" +@fld.str.674 = private constant [7 x i8] c"append\00" +@fld.str.675 = private constant [11 x i8] c"read_write\00" +@field_names.676 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.672, i64 4 }, { ptr, i64 } { ptr @fld.str.673, i64 5 }, { ptr, i64 } { ptr @fld.str.674, i64 6 }, { ptr, i64 } { ptr @fld.str.675, i64 10 }] +@str.677 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.678 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.679 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.680 = private constant [4 x i8] c"set\00" +@fld.str.681 = private constant [8 x i8] c"current\00" +@fld.str.682 = private constant [4 x i8] c"end\00" +@field_names.683 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.680, i64 3 }, { ptr, i64 } { ptr @fld.str.681, i64 7 }, { ptr, i64 } { ptr @fld.str.682, i64 3 }] +@str.684 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.685 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.687 = private constant [6 x i8] c"null_\00" +@fld.str.688 = private constant [6 x i8] c"bool_\00" +@fld.str.689 = private constant [5 x i8] c"int_\00" +@fld.str.690 = private constant [4 x i8] c"str\00" +@fld.str.691 = private constant [6 x i8] c"array\00" +@fld.str.692 = private constant [7 x i8] c"object\00" +@field_names.693 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.687, i64 5 }, { ptr, i64 } { ptr @fld.str.688, i64 5 }, { ptr, i64 } { ptr @fld.str.689, i64 4 }, { ptr, i64 } { ptr @fld.str.690, i64 3 }, { ptr, i64 } { ptr @fld.str.691, i64 5 }, { ptr, i64 } { ptr @fld.str.692, i64 6 }] +@str.694 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.695 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.696 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.697 = private constant [6 x i8] c"macos\00" +@fld.str.698 = private constant [6 x i8] c"linux\00" +@fld.str.699 = private constant [8 x i8] c"windows\00" +@fld.str.700 = private constant [5 x i8] c"wasm\00" +@fld.str.701 = private constant [4 x i8] c"ios\00" +@fld.str.702 = private constant [8 x i8] c"android\00" +@fld.str.703 = private constant [8 x i8] c"unknown\00" +@field_names.704 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.697, i64 5 }, { ptr, i64 } { ptr @fld.str.698, i64 5 }, { ptr, i64 } { ptr @fld.str.699, i64 7 }, { ptr, i64 } { ptr @fld.str.700, i64 4 }, { ptr, i64 } { ptr @fld.str.701, i64 3 }, { ptr, i64 } { ptr @fld.str.702, i64 7 }, { ptr, i64 } { ptr @fld.str.703, i64 7 }] +@str.705 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.706 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.707 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.708 = private constant [8 x i8] c"aarch64\00" +@fld.str.709 = private constant [7 x i8] c"x86_64\00" +@fld.str.710 = private constant [7 x i8] c"wasm32\00" +@fld.str.711 = private constant [7 x i8] c"wasm64\00" +@fld.str.712 = private constant [8 x i8] c"unknown\00" +@field_names.713 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.708, i64 7 }, { ptr, i64 } { ptr @fld.str.709, i64 6 }, { ptr, i64 } { ptr @fld.str.710, i64 6 }, { ptr, i64 } { ptr @fld.str.711, i64 6 }, { ptr, i64 } { ptr @fld.str.712, i64 7 }] +@str.714 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.716 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.717 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.718 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.719 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.729 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.730 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.732 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.733 = private unnamed_addr constant [3 x i8] c", \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 +@str.737 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.738 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.739 = private unnamed_addr constant [3 x i8] c", \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 +@str.743 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.744 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.745 = private unnamed_addr constant [3 x i8] c", \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 +@str.749 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.750 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.751 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.753 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.756 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.759 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.762 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.765 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.768 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.771 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.771 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.774 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.774 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.777 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.777 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.780 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.783 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.789 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.792 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.795 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.798 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.801 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.804 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.807 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.813 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.816 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.819 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.822 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.825 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.828 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.831 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.834 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.837 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [11 x i8] c"*error_set\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.865 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.866 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.867 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.868 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.873 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -1148,38 +1244,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.441 + br label %while.hdr.475 -while.hdr.441: ; preds = %if.merge.446, %entry +while.hdr.475: ; preds = %if.merge.480, %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.442, label %while.exit.443 + br i1 %icmp, label %while.body.476, label %while.exit.477 -while.body.442: ; preds = %while.hdr.441 +while.body.476: ; preds = %while.hdr.475 %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.444, label %if.else.445 + br i1 %icmpN, label %if.then.478, label %if.else.479 -while.exit.443: ; preds = %while.hdr.441 +while.exit.477: ; preds = %while.hdr.475 ret void -if.then.444: ; preds = %while.body.442 +if.then.478: ; preds = %while.body.476 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.446 + br label %if.merge.480 -if.else.445: ; preds = %while.body.442 +if.else.479: ; preds = %while.body.476 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.446 + br label %if.merge.480 -if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi i64 [ %addN, %if.then.444 ], [ %addN, %if.else.445 ] +if.merge.480: ; preds = %if.else.479, %if.then.478 + %bp = phi i64 [ %addN, %if.then.478 ], [ %addN, %if.else.479 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1192,7 +1288,7 @@ if.merge.446: ; preds = %if.else.445, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.441 + br label %while.hdr.475 } ; Function Attrs: nounwind @@ -1305,12 +1401,12 @@ entry: 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.439, label %if.merge.440 + br i1 %icmp, label %if.then.473, label %if.merge.474 -if.then.439: ; preds = %entry +if.then.473: ; preds = %entry ret { ptr, i64 } { ptr @str.80, i64 1 } -if.merge.440: ; preds = %entry +if.merge.474: ; 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 @@ -1333,14 +1429,14 @@ if.merge.440: ; preds = %entry %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.447 + br label %while.hdr.481 -while.hdr.447: ; preds = %if.merge.451, %if.merge.440 +while.hdr.481: ; preds = %if.merge.485, %if.merge.474 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.448, label %while.exit.449 + br i1 %icmpN, label %while.body.482, label %while.exit.483 -while.body.448: ; preds = %while.hdr.447 +while.body.482: ; preds = %while.hdr.481 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1348,9 +1444,9 @@ while.body.448: ; preds = %while.hdr.447 %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.450, label %if.merge.451 + br i1 %icmpN, label %if.then.484, label %if.merge.485 -while.exit.449: ; preds = %if.then.450, %while.hdr.447 +while.exit.483: ; preds = %if.then.484, %while.hdr.481 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1358,14 +1454,14 @@ while.exit.449: ; preds = %if.then.450, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.450: ; preds = %while.body.448 - br label %while.exit.449 +if.then.484: ; preds = %while.body.482 + br label %while.exit.483 -if.merge.451: ; preds = %while.body.448 +if.merge.485: ; preds = %while.body.482 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.447 + br label %while.hdr.481 } ; Function Attrs: nounwind @@ -1513,6 +1609,11 @@ entry: i64 100, label %match.arm.73 i64 104, label %match.arm.73 i64 105, label %match.arm.73 + i64 111, label %match.arm.73 + i64 112, label %match.arm.73 + i64 113, label %match.arm.73 + i64 115, label %match.arm.73 + i64 119, label %match.arm.73 i64 38, label %match.arm.74 i64 39, label %match.arm.74 i64 58, label %match.arm.74 @@ -1524,18 +1625,19 @@ entry: i64 79, label %match.arm.75 i64 103, label %match.arm.75 i64 110, label %match.arm.75 + i64 122, label %match.arm.75 i64 23, label %match.arm.77 i64 85, label %match.arm.77 i64 91, label %match.arm.77 i64 92, label %match.arm.77 i64 96, label %match.arm.77 - i64 117, label %match.arm.77 + i64 129, label %match.arm.77 i64 24, label %match.arm.78 i64 64, label %match.arm.78 i64 81, label %match.arm.78 i64 89, label %match.arm.78 i64 109, label %match.arm.78 - i64 115, label %match.arm.78 + i64 127, label %match.arm.78 i64 19, label %match.arm.79 i64 26, label %match.arm.79 i64 28, label %match.arm.79 @@ -1562,15 +1664,19 @@ entry: i64 101, label %match.arm.79 i64 102, label %match.arm.79 i64 107, label %match.arm.79 - i64 111, label %match.arm.79 - i64 112, label %match.arm.79 - i64 113, label %match.arm.79 i64 114, label %match.arm.79 i64 116, label %match.arm.79 - i64 118, label %match.arm.79 - i64 119, label %match.arm.79 - i64 120, label %match.arm.79 + i64 117, label %match.arm.79 i64 121, label %match.arm.79 + i64 123, label %match.arm.79 + i64 124, label %match.arm.79 + i64 125, label %match.arm.79 + i64 126, label %match.arm.79 + i64 128, label %match.arm.79 + i64 130, label %match.arm.79 + i64 131, label %match.arm.79 + i64 132, label %match.arm.79 + i64 133, label %match.arm.79 i64 42, label %match.arm.80 i64 43, label %match.arm.80 i64 45, label %match.arm.80 @@ -1579,7 +1685,7 @@ entry: i64 13, label %match.arm.81 ] -match.merge.67: ; preds = %dispatch.merge.554, %dispatch.merge.399, %dispatch.merge.361, %dispatch.merge.323, %dispatch.merge.306, %dispatch.merge.124, %float.merge.113, %if.merge.85, %match.unr.82, %match.arm.81, %match.arm.75, %match.arm.71, %match.arm.70, %match.arm.68 +match.merge.67: ; preds = %dispatch.merge.600, %dispatch.merge.429, %dispatch.merge.391, %dispatch.merge.353, %dispatch.merge.336, %dispatch.merge.124, %float.merge.113, %if.merge.85, %match.unr.82, %match.arm.81, %match.arm.75, %match.arm.71, %match.arm.70, %match.arm.68 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1593,7 +1699,7 @@ match.arm.69: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [187 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [205 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.83, label %if.else.84 @@ -1621,7 +1727,7 @@ match.arm.72: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.111, label %fN.unbox.112 -match.arm.73: ; 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 +match.arm.73: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1656,28 +1762,33 @@ match.arm.73: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.153 i64 104, label %dispatch.case.154 i64 105, label %dispatch.case.155 + i64 111, label %dispatch.case.156 + i64 112, label %dispatch.case.157 + i64 113, label %dispatch.case.158 + i64 115, label %dispatch.case.159 + i64 119, label %dispatch.case.160 ] match.arm.74: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.307 [ - i64 38, label %dispatch.case.308 - i64 39, label %dispatch.case.309 - i64 58, label %dispatch.case.310 - i64 74, label %dispatch.case.311 - i64 75, label %dispatch.case.312 + switch i64 %ua.raw20, label %dispatch.default.337 [ + i64 38, label %dispatch.case.338 + i64 39, label %dispatch.case.339 + i64 58, label %dispatch.case.340 + i64 74, label %dispatch.case.341 + i64 75, label %dispatch.case.342 ] -match.arm.75: ; preds = %entry, %entry, %entry, %entry, %entry, %entry +match.arm.75: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [22 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [24 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.67 @@ -1689,80 +1800,84 @@ match.arm.77: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.324 [ - i64 23, label %dispatch.case.325 - i64 85, label %dispatch.case.326 - i64 91, label %dispatch.case.327 - i64 92, label %dispatch.case.328 - i64 96, label %dispatch.case.329 - i64 117, label %dispatch.case.330 + switch i64 %ua.raw29, label %dispatch.default.354 [ + i64 23, label %dispatch.case.355 + i64 85, label %dispatch.case.356 + i64 91, label %dispatch.case.357 + i64 92, label %dispatch.case.358 + i64 96, label %dispatch.case.359 + i64 129, label %dispatch.case.360 ] match.arm.78: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.362 [ - i64 24, label %dispatch.case.363 - i64 64, label %dispatch.case.364 - i64 81, label %dispatch.case.365 - i64 89, label %dispatch.case.366 - i64 109, label %dispatch.case.367 - i64 115, label %dispatch.case.368 + switch i64 %ua.raw33, label %dispatch.default.392 [ + i64 24, label %dispatch.case.393 + i64 64, label %dispatch.case.394 + i64 81, label %dispatch.case.395 + i64 89, label %dispatch.case.396 + i64 109, label %dispatch.case.397 + i64 127, label %dispatch.case.398 ] -match.arm.79: ; 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 +match.arm.79: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.400 [ - i64 19, label %dispatch.case.401 - i64 26, label %dispatch.case.402 - i64 28, label %dispatch.case.403 - i64 30, label %dispatch.case.404 - i64 32, label %dispatch.case.405 - i64 33, label %dispatch.case.406 - i64 35, label %dispatch.case.407 - i64 37, label %dispatch.case.408 - i64 41, label %dispatch.case.409 - i64 48, label %dispatch.case.410 - i64 50, label %dispatch.case.411 - i64 51, label %dispatch.case.412 - i64 60, label %dispatch.case.413 - i64 61, label %dispatch.case.414 - i64 62, label %dispatch.case.415 - i64 63, label %dispatch.case.416 - i64 66, label %dispatch.case.417 - i64 71, label %dispatch.case.418 - i64 78, label %dispatch.case.419 - i64 87, label %dispatch.case.420 - i64 90, label %dispatch.case.421 - i64 94, label %dispatch.case.422 - i64 98, label %dispatch.case.423 - i64 101, label %dispatch.case.424 - i64 102, label %dispatch.case.425 - i64 107, label %dispatch.case.426 - i64 111, label %dispatch.case.427 - i64 112, label %dispatch.case.428 - i64 113, label %dispatch.case.429 - i64 114, label %dispatch.case.430 - i64 116, label %dispatch.case.431 - i64 118, label %dispatch.case.432 - i64 119, label %dispatch.case.433 - i64 120, label %dispatch.case.434 - i64 121, label %dispatch.case.435 + switch i64 %ua.raw37, label %dispatch.default.430 [ + i64 19, label %dispatch.case.431 + i64 26, label %dispatch.case.432 + i64 28, label %dispatch.case.433 + i64 30, label %dispatch.case.434 + i64 32, label %dispatch.case.435 + i64 33, label %dispatch.case.436 + i64 35, label %dispatch.case.437 + i64 37, label %dispatch.case.438 + i64 41, label %dispatch.case.439 + i64 48, label %dispatch.case.440 + i64 50, label %dispatch.case.441 + i64 51, label %dispatch.case.442 + i64 60, label %dispatch.case.443 + i64 61, label %dispatch.case.444 + i64 62, label %dispatch.case.445 + i64 63, label %dispatch.case.446 + i64 66, label %dispatch.case.447 + i64 71, label %dispatch.case.448 + i64 78, label %dispatch.case.449 + i64 87, label %dispatch.case.450 + i64 90, label %dispatch.case.451 + i64 94, label %dispatch.case.452 + i64 98, label %dispatch.case.453 + i64 101, label %dispatch.case.454 + i64 102, label %dispatch.case.455 + i64 107, label %dispatch.case.456 + i64 114, label %dispatch.case.457 + i64 116, label %dispatch.case.458 + i64 117, label %dispatch.case.459 + i64 121, label %dispatch.case.460 + i64 123, label %dispatch.case.461 + i64 124, label %dispatch.case.462 + i64 125, label %dispatch.case.463 + i64 126, label %dispatch.case.464 + i64 128, label %dispatch.case.465 + i64 130, label %dispatch.case.466 + i64 131, label %dispatch.case.467 + i64 132, label %dispatch.case.468 + i64 133, label %dispatch.case.469 ] match.arm.80: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.555 [ - i64 42, label %dispatch.case.556 - i64 43, label %dispatch.case.557 - i64 45, label %dispatch.case.558 - i64 47, label %dispatch.case.559 - i64 95, label %dispatch.case.560 + switch i64 %ua.raw41, label %dispatch.default.601 [ + i64 42, label %dispatch.case.602 + i64 43, label %dispatch.case.603 + i64 45, label %dispatch.case.604 + i64 47, label %dispatch.case.605 + i64 95, label %dispatch.case.606 ] match.arm.81: ; preds = %entry @@ -1771,7 +1886,7 @@ match.arm.81: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [205 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.67 @@ -1816,13 +1931,13 @@ float.merge.113: ; preds = %fN.unbox.112, %fN.u store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.merge.124: ; preds = %dispatch.case.155, %dispatch.case.154, %dispatch.case.153, %dispatch.case.152, %dispatch.case.151, %dispatch.case.150, %dispatch.case.149, %dispatch.case.148, %dispatch.case.147, %dispatch.case.146, %dispatch.case.145, %dispatch.case.144, %dispatch.case.143, %dispatch.case.142, %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.default.125 +dispatch.merge.124: ; preds = %dispatch.case.160, %dispatch.case.159, %dispatch.case.158, %dispatch.case.157, %dispatch.case.156, %dispatch.case.155, %dispatch.case.154, %dispatch.case.153, %dispatch.case.152, %dispatch.case.151, %dispatch.case.150, %dispatch.case.149, %dispatch.case.148, %dispatch.case.147, %dispatch.case.146, %dispatch.case.145, %dispatch.case.144, %dispatch.case.143, %dispatch.case.142, %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.default.125 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 dispatch.default.125: ; preds = %match.arm.73 - store { ptr, i64 } { ptr @str.290, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.124 dispatch.case.126: ; preds = %match.arm.73 @@ -2065,462 +2180,530 @@ dispatch.case.155: ; preds = %match.arm.73 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.124 -dispatch.merge.306: ; preds = %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.default.307 +dispatch.case.156: ; preds = %match.arm.73 + %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.124 + +dispatch.case.157: ; preds = %match.arm.73 + %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.124 + +dispatch.case.158: ; preds = %match.arm.73 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.124 + +dispatch.case.159: ; preds = %match.arm.73 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.124 + +dispatch.case.160: ; preds = %match.arm.73 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.124 + +dispatch.merge.336: ; preds = %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.default.337 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.default.307: ; preds = %match.arm.74 - store { ptr, i64 } { ptr @str.291, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.306 +dispatch.default.337: ; preds = %match.arm.74 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.336 -dispatch.case.308: ; preds = %match.arm.74 - %ua.raw181 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw181) +dispatch.case.338: ; preds = %match.arm.74 + %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw201) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.306 + br label %dispatch.merge.336 -dispatch.case.309: ; preds = %match.arm.74 - %ua.raw183 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw183) +dispatch.case.339: ; preds = %match.arm.74 + %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw203) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.306 + br label %dispatch.merge.336 -dispatch.case.310: ; preds = %match.arm.74 - %ua.raw185 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr186 = inttoptr i64 %ua.raw185 to ptr - %ua.load187 = load { i64, [24 x i8] }, ptr %ua.ptr186, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load187) +dispatch.case.340: ; preds = %match.arm.74 + %ua.raw205 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr206 = inttoptr i64 %ua.raw205 to ptr + %ua.load207 = load { i64, [24 x i8] }, ptr %ua.ptr206, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load207) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.306 + br label %dispatch.merge.336 -dispatch.case.311: ; preds = %match.arm.74 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw189) +dispatch.case.341: ; preds = %match.arm.74 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.306 + br label %dispatch.merge.336 -dispatch.case.312: ; preds = %match.arm.74 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw191) +dispatch.case.342: ; preds = %match.arm.74 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.306 + br label %dispatch.merge.336 -dispatch.merge.323: ; preds = %dispatch.case.330, %dispatch.case.329, %dispatch.case.328, %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.default.324 +dispatch.merge.353: ; preds = %dispatch.case.360, %dispatch.case.359, %dispatch.case.358, %dispatch.case.357, %dispatch.case.356, %dispatch.case.355, %dispatch.default.354 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.default.324: ; preds = %match.arm.77 - store { ptr, i64 } { ptr @str.292, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.323 +dispatch.default.354: ; preds = %match.arm.77 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.353 -dispatch.case.325: ; preds = %match.arm.77 - %ua.raw194 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr195 = inttoptr i64 %ua.raw194 to ptr - %ua.load196 = load [4 x i64], ptr %ua.ptr195, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load196) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 - -dispatch.case.326: ; preds = %match.arm.77 - %ua.raw198 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr199 = inttoptr i64 %ua.raw198 to ptr - %ua.load200 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr199, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load200) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 - -dispatch.case.327: ; preds = %match.arm.77 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [8 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 - -dispatch.case.328: ; preds = %match.arm.77 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [64 x i8], ptr %ua.ptr207, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 - -dispatch.case.329: ; preds = %match.arm.77 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [64 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 - -dispatch.case.330: ; preds = %match.arm.77 +dispatch.case.355: ; preds = %match.arm.77 %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [1 x { i64, i64 }], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load216) + %ua.load216 = load [4 x i64], ptr %ua.ptr215, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load216) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.323 + br label %dispatch.merge.353 -dispatch.merge.361: ; preds = %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.case.364, %dispatch.case.363, %dispatch.default.362 +dispatch.case.356: ; preds = %match.arm.77 + %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr + %ua.load220 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr219, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load220) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.353 + +dispatch.case.357: ; preds = %match.arm.77 + %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr + %ua.load224 = load [8 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load224) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.353 + +dispatch.case.358: ; preds = %match.arm.77 + %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr + %ua.load228 = load [64 x i8], ptr %ua.ptr227, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load228) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.353 + +dispatch.case.359: ; preds = %match.arm.77 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [64 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.353 + +dispatch.case.360: ; preds = %match.arm.77 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [1 x { i64, i64 }], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.353 + +dispatch.merge.391: ; preds = %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.default.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.default.362: ; preds = %match.arm.78 - store { ptr, i64 } { ptr @str.293, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.361 +dispatch.default.392: ; preds = %match.arm.78 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.391 -dispatch.case.363: ; preds = %match.arm.78 - %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr220 = inttoptr i64 %ua.raw219 to ptr - %ua.load221 = load { ptr, i64 }, ptr %ua.ptr220, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load221) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.364: ; preds = %match.arm.78 - %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr224 = inttoptr i64 %ua.raw223 to ptr - %ua.load225 = load { ptr, i64 }, ptr %ua.ptr224, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load225) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.365: ; preds = %match.arm.78 - %ua.raw227 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr228 = inttoptr i64 %ua.raw227 to ptr - %ua.load229 = load { ptr, i64 }, ptr %ua.ptr228, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load229) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.366: ; preds = %match.arm.78 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.367: ; preds = %match.arm.78 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 - -dispatch.case.368: ; preds = %match.arm.78 +dispatch.case.393: ; preds = %match.arm.78 %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load241) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load241) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.361 + br label %dispatch.merge.391 -dispatch.merge.399: ; preds = %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.default.400 +dispatch.case.394: ; preds = %match.arm.78 + %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr + %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load245) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.395: ; preds = %match.arm.78 + %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr + %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load249) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.396: ; preds = %match.arm.78 + %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr + %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load253) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.397: ; preds = %match.arm.78 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.case.398: ; preds = %match.arm.78 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.391 + +dispatch.merge.429: ; preds = %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.default.430 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.default.400: ; preds = %match.arm.79 - store { ptr, i64 } { ptr @str.294, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.401: ; preds = %match.arm.79 - %ua.raw244 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw244 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.402: ; preds = %match.arm.79 - %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 - %iNp247 = inttoptr i64 %ua.raw246 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp247) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.403: ; preds = %match.arm.79 - %ua.raw249 = extractvalue { i64, i64 } %loadN, 1 - %iNp250 = inttoptr i64 %ua.raw249 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp250) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.404: ; preds = %match.arm.79 - %ua.raw252 = extractvalue { i64, i64 } %loadN, 1 - %iNp253 = inttoptr i64 %ua.raw252 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.405: ; preds = %match.arm.79 - %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 - %iNp256 = inttoptr i64 %ua.raw255 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp256) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.406: ; preds = %match.arm.79 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.407: ; preds = %match.arm.79 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.408: ; preds = %match.arm.79 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.409: ; preds = %match.arm.79 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.410: ; preds = %match.arm.79 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.411: ; preds = %match.arm.79 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.412: ; preds = %match.arm.79 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.413: ; preds = %match.arm.79 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.414: ; preds = %match.arm.79 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.415: ; preds = %match.arm.79 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.416: ; preds = %match.arm.79 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.417: ; preds = %match.arm.79 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.418: ; preds = %match.arm.79 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.419: ; preds = %match.arm.79 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.420: ; preds = %match.arm.79 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.421: ; preds = %match.arm.79 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.422: ; preds = %match.arm.79 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.423: ; preds = %match.arm.79 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.424: ; preds = %match.arm.79 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.425: ; preds = %match.arm.79 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.426: ; preds = %match.arm.79 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.427: ; preds = %match.arm.79 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.428: ; preds = %match.arm.79 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.429: ; preds = %match.arm.79 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 - -dispatch.case.430: ; preds = %match.arm.79 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 +dispatch.default.430: ; preds = %match.arm.79 + store { ptr, i64 } { ptr @str.314, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.429 dispatch.case.431: ; preds = %match.arm.79 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) + %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw264 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 + br label %dispatch.merge.429 dispatch.case.432: ; preds = %match.arm.79 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) + %ua.raw266 = extractvalue { i64, i64 } %loadN, 1 + %iNp267 = inttoptr i64 %ua.raw266 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp267) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 + br label %dispatch.merge.429 dispatch.case.433: ; preds = %match.arm.79 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) + %ua.raw269 = extractvalue { i64, i64 } %loadN, 1 + %iNp270 = inttoptr i64 %ua.raw269 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp270) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 + br label %dispatch.merge.429 dispatch.case.434: ; preds = %match.arm.79 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) + %ua.raw272 = extractvalue { i64, i64 } %loadN, 1 + %iNp273 = inttoptr i64 %ua.raw272 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp273) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 + br label %dispatch.merge.429 dispatch.case.435: ; preds = %match.arm.79 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp346) + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %iNp276 = inttoptr i64 %ua.raw275 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp276) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.399 + br label %dispatch.merge.429 -dispatch.merge.554: ; preds = %dispatch.case.560, %dispatch.case.559, %dispatch.case.558, %dispatch.case.557, %dispatch.case.556, %dispatch.default.555 +dispatch.case.436: ; preds = %match.arm.79 + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp279) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.437: ; preds = %match.arm.79 + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp282) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.438: ; preds = %match.arm.79 + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp285) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.439: ; preds = %match.arm.79 + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp288) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.440: ; preds = %match.arm.79 + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp291) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.441: ; preds = %match.arm.79 + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp294) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.442: ; preds = %match.arm.79 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.443: ; preds = %match.arm.79 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.444: ; preds = %match.arm.79 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.445: ; preds = %match.arm.79 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.446: ; preds = %match.arm.79 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.447: ; preds = %match.arm.79 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.448: ; preds = %match.arm.79 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.449: ; preds = %match.arm.79 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.450: ; preds = %match.arm.79 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.451: ; preds = %match.arm.79 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.452: ; preds = %match.arm.79 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.453: ; preds = %match.arm.79 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.454: ; preds = %match.arm.79 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.455: ; preds = %match.arm.79 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.456: ; preds = %match.arm.79 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.457: ; preds = %match.arm.79 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.458: ; preds = %match.arm.79 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.459: ; preds = %match.arm.79 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.460: ; preds = %match.arm.79 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.461: ; preds = %match.arm.79 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.462: ; preds = %match.arm.79 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.463: ; preds = %match.arm.79 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.464: ; preds = %match.arm.79 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.465: ; preds = %match.arm.79 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.466: ; preds = %match.arm.79 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.467: ; preds = %match.arm.79 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.468: ; preds = %match.arm.79 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.case.469: ; preds = %match.arm.79 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.429 + +dispatch.merge.600: ; preds = %dispatch.case.606, %dispatch.case.605, %dispatch.case.604, %dispatch.case.603, %dispatch.case.602, %dispatch.default.601 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 -dispatch.default.555: ; preds = %match.arm.80 - store { ptr, i64 } { ptr @str.295, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.554 +dispatch.default.601: ; preds = %match.arm.80 + store { ptr, i64 } { ptr @str.315, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.600 -dispatch.case.556: ; preds = %match.arm.80 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr - %ua.load351 = load { { i32 }, i1 }, ptr %ua.ptr350, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load351) +dispatch.case.602: ; preds = %match.arm.80 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr382 = inttoptr i64 %ua.raw381 to ptr + %ua.load383 = load { { i32 }, i1 }, ptr %ua.ptr382, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load383) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.554 + br label %dispatch.merge.600 -dispatch.case.557: ; preds = %match.arm.80 - %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr - %ua.load355 = load { { ptr, i64 }, i1 }, ptr %ua.ptr354, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load355) +dispatch.case.603: ; preds = %match.arm.80 + %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr + %ua.load387 = load { { ptr, i64 }, i1 }, ptr %ua.ptr386, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load387) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.554 + br label %dispatch.merge.600 -dispatch.case.558: ; preds = %match.arm.80 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) +dispatch.case.604: ; preds = %match.arm.80 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp390) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.554 + br label %dispatch.merge.600 -dispatch.case.559: ; preds = %match.arm.80 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr361 = inttoptr i64 %ua.raw360 to ptr - %ua.load362 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr361, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load362) +dispatch.case.605: ; preds = %match.arm.80 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr393 = inttoptr i64 %ua.raw392 to ptr + %ua.load394 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr393, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load394) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.554 + br label %dispatch.merge.600 -dispatch.case.560: ; preds = %match.arm.80 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr365 = inttoptr i64 %ua.raw364 to ptr - %ua.load366 = load { [64 x i8], i1 }, ptr %ua.ptr365, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load366) +dispatch.case.606: ; preds = %match.arm.80 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr397 = inttoptr i64 %ua.raw396 to ptr + %ua.load398 = load { [64 x i8], i1 }, ptr %ua.ptr397, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load398) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.554 + br label %dispatch.merge.600 } ; Function Attrs: nounwind @@ -2529,7 +2712,7 @@ 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.296, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.316, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2625,7 +2808,7 @@ if.merge.41: ; preds = %if.merge.55, %if.me if.then.42: ; preds = %if.then.39 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, 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 @@ -2633,7 +2816,7 @@ if.then.42: ; preds = %if.then.39 %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.298, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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 @@ -2643,13 +2826,13 @@ if.then.42: ; preds = %if.then.39 %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.299, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.319, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.43 if.merge.43: ; preds = %if.then.42, %if.then.39 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, 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 @@ -2657,7 +2840,7 @@ if.merge.43: ; preds = %if.then.42, %if.the %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.301, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2671,7 +2854,7 @@ if.merge.43: ; preds = %if.then.42, %if.the if.then.53: ; preds = %if.else.40 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, 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 @@ -2679,7 +2862,7 @@ if.then.53: ; preds = %if.else.40 %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.303, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, 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 @@ -2690,7 +2873,7 @@ if.then.53: ; preds = %if.else.40 %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.304, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2747,7 +2930,7 @@ if.merge.61: ; preds = %if.merge.64, %if.el if.then.62: ; preds = %if.then.59 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.305, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.325, 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 @@ -2755,7 +2938,7 @@ if.then.62: ; preds = %if.then.59 %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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, 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 @@ -2766,7 +2949,7 @@ if.then.62: ; preds = %if.then.59 %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.307, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2786,7 +2969,7 @@ if.merge.64: ; preds = %if.else.63, %if.the if.then.65: ; preds = %while.exit.32 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, 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 @@ -2794,7 +2977,7 @@ if.then.65: ; preds = %while.exit.32 %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.309, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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 @@ -2805,7 +2988,7 @@ if.then.65: ; preds = %while.exit.32 %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.310, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.66 @@ -3638,6 +3821,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @must(ptr %0, i32 %1) #0 { entry: @@ -3649,7 +3880,7 @@ entry: br i1 %icmp, label %if.then.0, label %if.merge.1 if.then.0: ; preds = %entry - ret i32 20 + ret i32 22 if.merge.1: ; preds = %entry %loadN = load i32, ptr %alloca, align 4 @@ -3658,7 +3889,7 @@ if.merge.1: ; preds = %entry br i1 %icmpN, label %if.then.2, label %if.merge.3 if.then.2: ; preds = %if.merge.1 - ret i32 21 + ret i32 23 if.merge.3: ; preds = %if.merge.1 ret i32 0 @@ -3675,7 +3906,7 @@ entry: br i1 %icmp, label %catch.handle.10, label %catch.merge.11 catch.handle.10: ; preds = %entry - %icmpN = icmp eq i32 %call, 20 + %icmpN = icmp eq i32 %call, 22 br i1 %icmpN, label %if.then.12, label %if.merge.13 catch.merge.11: ; preds = %entry @@ -3685,7 +3916,7 @@ if.then.12: ; preds = %catch.handle.10 ret i32 1 if.merge.13: ; preds = %catch.handle.10 - %icmpN = icmp eq i32 %call, 21 + %icmpN = icmp eq i32 %call, 23 br i1 %icmpN, label %if.then.14, label %if.merge.15 if.then.14: ; preds = %if.merge.13 @@ -3707,8 +3938,8 @@ entry: catch.handle.24: ; preds = %entry switch i32 %call, label %match.arm.29 [ - i32 20, label %match.arm.27 - i32 21, label %match.arm.28 + i32 22, label %match.arm.27 + i32 23, label %match.arm.28 ] catch.merge.25: ; preds = %match.merge.26, %entry @@ -3738,7 +3969,7 @@ entry: br i1 %icmp, label %catch.handle.16, label %catch.merge.17 catch.handle.16: ; preds = %entry - %icmpN = icmp eq i32 %call, 20 + %icmpN = icmp eq i32 %call, 22 br i1 %icmpN, label %if.then.18, label %if.merge.19 catch.merge.17: ; preds = %entry @@ -3763,7 +3994,7 @@ entry: br i1 %icmp, label %catch.handle.4, label %catch.merge.5 catch.handle.4: ; preds = %entry - %icmpN = icmp eq i32 %call, 20 + %icmpN = icmp eq i32 %call, 22 br i1 %icmpN, label %if.then.6, label %if.merge.7 catch.merge.5: ; preds = %if.merge.7, %entry @@ -3798,7 +4029,7 @@ catch.merge.9: ; preds = %catch.handle.8, %ca %callN = call i32 @handle_some(ptr @__sx_default_context, i32 0) store i32 %callN, ptr %allocaN, align 4 %loadN = load i32, ptr %allocaN, align 4 - %icmpN = icmp eq i32 %loadN, 21 + %icmpN = icmp eq i32 %loadN, 23 br i1 %icmpN, label %if.then.20, label %if.merge.21 if.then.20: ; preds = %catch.merge.9 @@ -3811,7 +4042,7 @@ if.merge.21: ; preds = %if.then.20, %catch. %callN = call i32 @handle_some(ptr @__sx_default_context, i32 -1) store i32 %callN, ptr %allocaN, align 4 %loadN = load i32, ptr %allocaN, align 4 - %icmpN = icmp eq i32 %loadN, 20 + %icmpN = icmp eq i32 %loadN, 22 br i1 %icmpN, label %if.then.22, label %if.merge.23 if.then.22: ; preds = %if.merge.21 @@ -3849,7 +4080,7 @@ entry: define internal void @print__ct_sbcb4570e4e0d606e__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.318, i64 17 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.338, i64 17 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3865,7 +4096,7 @@ entry: %gepN = getelementptr inbounds { 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.319, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.339, 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 14) @@ -3893,7 +4124,7 @@ entry: ; 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.320, i64 17 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.340, i64 17 }) ret { ptr, i64 } %call } @@ -3904,35 +4135,35 @@ entry: %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.321, i64 15 }, { ptr, i64 } { ptr @str.322, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.341, i64 15 }, { ptr, i64 } { ptr @str.342, 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.156 + br label %while.hdr.161 -while.hdr.156: ; preds = %fv.merge, %entry +while.hdr.161: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.157, label %while.exit.158 + br i1 %icmp, label %while.body.162, label %while.exit.163 -while.body.157: ; preds = %while.hdr.156 +while.body.162: ; preds = %while.hdr.161 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.159, label %if.merge.160 + br i1 %icmpN, label %if.then.164, label %if.merge.165 -while.exit.158: ; preds = %while.hdr.156 +while.exit.163: ; preds = %while.hdr.161 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.343, i64 1 }) ret { ptr, i64 } %callN -if.then.159: ; preds = %while.body.157 +if.then.164: ; preds = %while.body.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.160 + br label %if.merge.165 -if.merge.160: ; preds = %if.then.159, %while.body.157 +if.merge.165: ; preds = %if.then.164, %while.body.162 %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 @@ -3940,7 +4171,7 @@ if.merge.160: ; preds = %if.then.159, %while %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.328, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, 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 @@ -3960,31 +4191,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.156 + br label %while.hdr.161 -fv.default: ; preds = %if.merge.160 +fv.default: ; preds = %if.merge.165 br label %fv.merge -fv.case: ; preds = %if.merge.160 +fv.case: ; preds = %if.merge.165 %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.160 +fv.case17: ; preds = %if.merge.165 %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.160 +fv.case20: ; preds = %if.merge.165 %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.160 +fv.case24: ; preds = %if.merge.165 %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 @@ -3997,43 +4228,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.329, i64 9 }, { ptr, i64 } { ptr @str.330, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 9 }, { ptr, i64 } { ptr @str.350, 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.161 + br label %while.hdr.166 -while.hdr.161: ; preds = %fv.merge, %entry +while.hdr.166: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.162, label %while.exit.163 + br i1 %icmp, label %while.body.167, label %while.exit.168 -while.body.162: ; preds = %while.hdr.161 +while.body.167: ; preds = %while.hdr.166 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.164, label %if.merge.165 + br i1 %icmpN, label %if.then.169, label %if.merge.170 -while.exit.163: ; preds = %while.hdr.161 +while.exit.168: ; preds = %while.hdr.166 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.351, i64 1 }) ret { ptr, i64 } %callN -if.then.164: ; preds = %while.body.162 +if.then.169: ; preds = %while.body.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.352, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.165 + br label %if.merge.170 -if.merge.165: ; preds = %if.then.164, %while.body.162 +if.merge.170: ; preds = %if.then.169, %while.body.167 %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.336, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.356, 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.337, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.357, 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 @@ -4052,24 +4283,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.161 + br label %while.hdr.166 -fv.default: ; preds = %if.merge.165 +fv.default: ; preds = %if.merge.170 br label %fv.merge -fv.case: ; preds = %if.merge.165 +fv.case: ; preds = %if.merge.170 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.165 +fv.case17: ; preds = %if.merge.170 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.165 +fv.case21: ; preds = %if.merge.170 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4082,43 +4313,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.338, i64 7 }, { ptr, i64 } { ptr @str.339, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.358, i64 7 }, { ptr, i64 } { ptr @str.359, 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.166 + br label %while.hdr.171 -while.hdr.166: ; preds = %fv.merge, %entry +while.hdr.171: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.167, label %while.exit.168 + br i1 %icmp, label %while.body.172, label %while.exit.173 -while.body.167: ; preds = %while.hdr.166 +while.body.172: ; preds = %while.hdr.171 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.169, label %if.merge.170 + br i1 %icmpN, label %if.then.174, label %if.merge.175 -while.exit.168: ; preds = %while.hdr.166 +while.exit.173: ; preds = %while.hdr.171 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.340, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, i64 1 }) ret { ptr, i64 } %callN -if.then.169: ; preds = %while.body.167 +if.then.174: ; preds = %while.body.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.341, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.170 + br label %if.merge.175 -if.merge.170: ; preds = %if.then.169, %while.body.167 +if.merge.175: ; preds = %if.then.174, %while.body.172 %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.344, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.364, 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.345, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, 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 %alloca, align 8 @@ -4136,19 +4367,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.166 + br label %while.hdr.171 -fv.default: ; preds = %if.merge.170 +fv.default: ; preds = %if.merge.175 br label %fv.merge -fv.case: ; preds = %if.merge.170 +fv.case: ; preds = %if.merge.175 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.170 +fv.case17: ; preds = %if.merge.175 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4160,43 +4391,43 @@ 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.346, i64 10 }, { ptr, i64 } { ptr @str.347, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.366, i64 10 }, { ptr, i64 } { ptr @str.367, 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.171 + br label %while.hdr.176 -while.hdr.171: ; preds = %if.merge.175, %entry +while.hdr.176: ; preds = %if.merge.180, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.172, label %while.exit.173 + br i1 %icmp, label %while.body.177, label %while.exit.178 -while.body.172: ; preds = %while.hdr.171 +while.body.177: ; preds = %while.hdr.176 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.174, label %if.merge.175 + br i1 %icmpN, label %if.then.179, label %if.merge.180 -while.exit.173: ; preds = %while.hdr.171 +while.exit.178: ; preds = %while.hdr.176 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, i64 1 }) ret { ptr, i64 } %callN -if.then.174: ; preds = %while.body.172 +if.then.179: ; preds = %while.body.177 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.349, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.175 + br label %if.merge.180 -if.merge.175: ; preds = %if.then.174, %while.body.172 +if.merge.180: ; preds = %if.then.179, %while.body.177 %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.350, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.370, 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.351, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4207,7 +4438,7 @@ if.merge.175: ; preds = %if.then.174, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.171 + br label %while.hdr.176 } ; Function Attrs: nounwind @@ -4215,43 +4446,43 @@ 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.352, i64 3 }, { ptr, i64 } { ptr @str.353, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.372, i64 3 }, { ptr, i64 } { ptr @str.373, 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.176 + br label %while.hdr.181 -while.hdr.176: ; preds = %fv.merge, %entry +while.hdr.181: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.177, label %while.exit.178 + br i1 %icmp, label %while.body.182, label %while.exit.183 -while.body.177: ; preds = %while.hdr.176 +while.body.182: ; preds = %while.hdr.181 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.179, label %if.merge.180 + br i1 %icmpN, label %if.then.184, label %if.merge.185 -while.exit.178: ; preds = %while.hdr.176 +while.exit.183: ; preds = %while.hdr.181 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.354, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 1 }) ret { ptr, i64 } %callN -if.then.179: ; preds = %while.body.177 +if.then.184: ; preds = %while.body.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.355, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.180 + br label %if.merge.185 -if.merge.180: ; preds = %if.then.179, %while.body.177 +if.merge.185: ; preds = %if.then.184, %while.body.182 %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.357, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.377, 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.358, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, 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 @@ -4268,12 +4499,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.176 + br label %while.hdr.181 -fv.default: ; preds = %if.merge.180 +fv.default: ; preds = %if.merge.185 br label %fv.merge -fv.case: ; preds = %if.merge.180 +fv.case: ; preds = %if.merge.185 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4284,43 +4515,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.359, i64 10 }, { ptr, i64 } { ptr @str.360, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.379, i64 10 }, { ptr, i64 } { ptr @str.380, 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.181 + br label %while.hdr.186 -while.hdr.181: ; preds = %fv.merge, %entry +while.hdr.186: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.182, label %while.exit.183 + br i1 %icmp, label %while.body.187, label %while.exit.188 -while.body.182: ; preds = %while.hdr.181 +while.body.187: ; preds = %while.hdr.186 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.184, label %if.merge.185 + br i1 %icmpN, label %if.then.189, label %if.merge.190 -while.exit.183: ; preds = %while.hdr.181 +while.exit.188: ; preds = %while.hdr.186 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.381, i64 1 }) ret { ptr, i64 } %callN -if.then.184: ; preds = %while.body.182 +if.then.189: ; preds = %while.body.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.185 + br label %if.merge.190 -if.merge.185: ; preds = %if.then.184, %while.body.182 +if.merge.190: ; preds = %if.then.189, %while.body.187 %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.365, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.385, 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.366, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, 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 @@ -4338,18 +4569,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.181 + br label %while.hdr.186 -fv.default: ; preds = %if.merge.185 +fv.default: ; preds = %if.merge.190 br label %fv.merge -fv.case: ; preds = %if.merge.185 +fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.185 +fv.case17: ; preds = %if.merge.190 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4361,91 +4592,7 @@ 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.367, i64 5 }, { ptr, i64 } { ptr @str.368, 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.186 - -while.hdr.186: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.187, label %while.exit.188 - -while.body.187: ; preds = %while.hdr.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 - -while.exit.188: ; preds = %while.hdr.186 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 1 }) - ret { ptr, i64 } %callN - -if.then.189: ; preds = %while.body.187 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.190 - -if.merge.190: ; preds = %if.then.189, %while.body.187 - %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.374, 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.375, 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.186 - -fv.default: ; preds = %if.merge.190 - br label %fv.merge - -fv.case: ; preds = %if.merge.190 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.190 - %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.190 - %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 21, 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.376, i64 8 }, { ptr, i64 } { ptr @str.377, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.387, i64 5 }, { ptr, i64 } { ptr @str.388, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4464,27 +4611,27 @@ while.body.192: ; preds = %while.hdr.191 while.exit.193: ; preds = %while.hdr.191 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.389, i64 1 }) ret { ptr, i64 } %callN if.then.194: ; preds = %while.body.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.379, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.195 if.merge.195: ; preds = %if.then.194, %while.body.192 %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.383, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.394, 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.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, 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 { 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 @@ -4506,17 +4653,101 @@ fv.default: ; preds = %if.merge.195 br label %fv.merge fv.case: ; preds = %if.merge.195 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.195 + %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.195 + %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 21, 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.396, i64 8 }, { ptr, i64 } { ptr @str.397, 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.196 + +while.hdr.196: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.197, label %while.exit.198 + +while.body.197: ; preds = %while.hdr.196 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.199, label %if.merge.200 + +while.exit.198: ; preds = %while.hdr.196 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 1 }) + ret { ptr, i64 } %callN + +if.then.199: ; preds = %while.body.197 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.200 + +if.merge.200: ; preds = %if.then.199, %while.body.197 + %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.403, 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.404, 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.196 + +fv.default: ; preds = %if.merge.200 + br label %fv.merge + +fv.case: ; preds = %if.merge.200 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.195 +fv.case17: ; preds = %if.merge.200 %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.195 +fv.case20: ; preds = %if.merge.200 %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 @@ -4528,43 +4759,43 @@ 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.385, i64 17 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.405, i64 17 }, { ptr, i64 } { ptr @str.406, 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.196 + br label %while.hdr.201 -while.hdr.196: ; preds = %fv.merge, %entry +while.hdr.201: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.197, label %while.exit.198 + br i1 %icmp, label %while.body.202, label %while.exit.203 -while.body.197: ; preds = %while.hdr.196 +while.body.202: ; preds = %while.hdr.201 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.199, label %if.merge.200 + br i1 %icmpN, label %if.then.204, label %if.merge.205 -while.exit.198: ; preds = %while.hdr.196 +while.exit.203: ; preds = %while.hdr.201 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 1 }) ret { ptr, i64 } %callN -if.then.199: ; preds = %while.body.197 +if.then.204: ; preds = %while.body.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.408, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.200 + br label %if.merge.205 -if.merge.200: ; preds = %if.then.199, %while.body.197 +if.merge.205: ; preds = %if.then.204, %while.body.202 %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.393, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.413, 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.394, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, 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 @@ -4584,29 +4815,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.196 + br label %while.hdr.201 -fv.default: ; preds = %if.merge.200 +fv.default: ; preds = %if.merge.205 br label %fv.merge -fv.case: ; preds = %if.merge.200 +fv.case: ; preds = %if.merge.205 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.200 +fv.case17: ; preds = %if.merge.205 %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.200 +fv.case20: ; preds = %if.merge.205 %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.200 +fv.case23: ; preds = %if.merge.205 %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 @@ -4617,43 +4848,43 @@ 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.395, i64 4 }, { ptr, i64 } { ptr @str.396, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.415, i64 4 }, { ptr, i64 } { ptr @str.416, 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.201 + br label %while.hdr.206 -while.hdr.201: ; preds = %fv.merge, %entry +while.hdr.206: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.202, label %while.exit.203 + br i1 %icmp, label %while.body.207, label %while.exit.208 -while.body.202: ; preds = %while.hdr.201 +while.body.207: ; preds = %while.hdr.206 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.204, label %if.merge.205 + br i1 %icmpN, label %if.then.209, label %if.merge.210 -while.exit.203: ; preds = %while.hdr.201 +while.exit.208: ; preds = %while.hdr.206 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, i64 1 }) ret { ptr, i64 } %callN -if.then.204: ; preds = %while.body.202 +if.then.209: ; preds = %while.body.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.398, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.418, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.205 + br label %if.merge.210 -if.merge.205: ; preds = %if.then.204, %while.body.202 +if.merge.210: ; preds = %if.then.209, %while.body.207 %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.400, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.420, 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.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, 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 @@ -4670,12 +4901,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.201 + br label %while.hdr.206 -fv.default: ; preds = %if.merge.205 +fv.default: ; preds = %if.merge.210 br label %fv.merge -fv.case: ; preds = %if.merge.205 +fv.case: ; preds = %if.merge.210 %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 @@ -4690,43 +4921,43 @@ entry: %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.402, i64 10 }, { ptr, i64 } { ptr @str.403, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.422, i64 10 }, { ptr, i64 } { ptr @str.423, 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.206 + br label %while.hdr.211 -while.hdr.206: ; preds = %fv.merge, %entry +while.hdr.211: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.207, label %while.exit.208 + br i1 %icmp, label %while.body.212, label %while.exit.213 -while.body.207: ; preds = %while.hdr.206 +while.body.212: ; preds = %while.hdr.211 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.209, label %if.merge.210 + br i1 %icmpN, label %if.then.214, label %if.merge.215 -while.exit.208: ; preds = %while.hdr.206 +while.exit.213: ; preds = %while.hdr.211 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, i64 1 }) ret { ptr, i64 } %callN -if.then.209: ; preds = %while.body.207 +if.then.214: ; preds = %while.body.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.405, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.210 + br label %if.merge.215 -if.merge.210: ; preds = %if.then.209, %while.body.207 +if.merge.215: ; preds = %if.then.214, %while.body.212 %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.411, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.431, 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.412, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, 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 @@ -4747,38 +4978,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.206 + br label %while.hdr.211 -fv.default: ; preds = %if.merge.210 +fv.default: ; preds = %if.merge.215 br label %fv.merge -fv.case: ; preds = %if.merge.210 +fv.case: ; preds = %if.merge.215 %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.210 +fv.case17: ; preds = %if.merge.215 %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.210 +fv.case20: ; preds = %if.merge.215 %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.210 +fv.case24: ; preds = %if.merge.215 %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.210 +fv.case29: ; preds = %if.merge.215 %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 @@ -4792,43 +5023,43 @@ 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.413, i64 13 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 13 }, { ptr, i64 } { ptr @str.434, 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.211 + br label %while.hdr.216 -while.hdr.211: ; preds = %fv.merge, %entry +while.hdr.216: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.212, label %while.exit.213 + br i1 %icmp, label %while.body.217, label %while.exit.218 -while.body.212: ; preds = %while.hdr.211 +while.body.217: ; preds = %while.hdr.216 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.214, label %if.merge.215 + br i1 %icmpN, label %if.then.219, label %if.merge.220 -while.exit.213: ; preds = %while.hdr.211 +while.exit.218: ; preds = %while.hdr.216 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.415, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 1 }) ret { ptr, i64 } %callN -if.then.214: ; preds = %while.body.212 +if.then.219: ; preds = %while.body.217 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.436, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.215 + br label %if.merge.220 -if.merge.215: ; preds = %if.then.214, %while.body.212 +if.merge.220: ; preds = %if.then.219, %while.body.217 %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.419, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.439, 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.420, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, 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 @@ -4846,18 +5077,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.211 + br label %while.hdr.216 -fv.default: ; preds = %if.merge.215 +fv.default: ; preds = %if.merge.220 br label %fv.merge -fv.case: ; preds = %if.merge.215 +fv.case: ; preds = %if.merge.220 %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.215 +fv.case17: ; preds = %if.merge.220 %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 @@ -4870,43 +5101,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.421, i64 8 }, { ptr, i64 } { ptr @str.422, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.441, i64 8 }, { ptr, i64 } { ptr @str.442, 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.216 + br label %while.hdr.221 -while.hdr.216: ; preds = %fv.merge, %entry +while.hdr.221: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.217, label %while.exit.218 + br i1 %icmp, label %while.body.222, label %while.exit.223 -while.body.217: ; preds = %while.hdr.216 +while.body.222: ; preds = %while.hdr.221 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.219, label %if.merge.220 + br i1 %icmpN, label %if.then.224, label %if.merge.225 -while.exit.218: ; preds = %while.hdr.216 +while.exit.223: ; preds = %while.hdr.221 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, i64 1 }) ret { ptr, i64 } %callN -if.then.219: ; preds = %while.body.217 +if.then.224: ; preds = %while.body.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.220 + br label %if.merge.225 -if.merge.220: ; preds = %if.then.219, %while.body.217 +if.merge.225: ; preds = %if.then.224, %while.body.222 %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.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.450, 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.431, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, 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 @@ -4927,36 +5158,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.216 + br label %while.hdr.221 -fv.default: ; preds = %if.merge.220 +fv.default: ; preds = %if.merge.225 br label %fv.merge -fv.case: ; preds = %if.merge.220 +fv.case: ; preds = %if.merge.225 %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.220 +fv.case17: ; preds = %if.merge.225 %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.220 +fv.case21: ; preds = %if.merge.225 %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.220 +fv.case25: ; preds = %if.merge.225 %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.220 +fv.case29: ; preds = %if.merge.225 %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 @@ -4967,89 +5198,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.432, i64 5 }, { ptr, i64 } { ptr @str.433, 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.221 - -while.hdr.221: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.222, label %while.exit.223 - -while.body.222: ; preds = %while.hdr.221 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.224, label %if.merge.225 - -while.exit.223: ; preds = %while.hdr.221 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 1 }) - ret { ptr, i64 } %callN - -if.then.224: ; preds = %while.body.222 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.435, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.225 - -if.merge.225: ; preds = %if.then.224, %while.body.222 - %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.439, 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.440, 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.221 - -fv.default: ; preds = %if.merge.225 - br label %fv.merge - -fv.case: ; preds = %if.merge.225 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.225 - %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.225 - %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.441, i64 6 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.452, i64 5 }, { ptr, i64 } { ptr @str.453, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5068,24 +5217,24 @@ while.body.227: ; preds = %while.hdr.226 while.exit.228: ; preds = %while.hdr.226 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.443, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.454, i64 1 }) ret { ptr, i64 } %callN if.then.229: ; preds = %while.body.227 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.455, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.230 if.merge.230: ; preds = %if.then.229, %while.body.227 %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.448, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.459, 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.449, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, 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 @@ -5112,7 +5261,7 @@ fv.default: ; preds = %if.merge.230 fv.case: ; preds = %if.merge.230 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.230 @@ -5127,13 +5276,11 @@ fv.case20: ; preds = %if.merge.230 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.450, i64 6 }, { ptr, i64 } { ptr @str.451, i64 1 }) + %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.461, i64 6 }, { ptr, i64 } { ptr @str.462, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5142,7 +5289,7 @@ entry: while.hdr.231: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.232, label %while.exit.233 while.body.232: ; preds = %while.hdr.231 @@ -5152,24 +5299,108 @@ while.body.232: ; preds = %while.hdr.231 while.exit.233: ; preds = %while.hdr.231 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.452, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, i64 1 }) ret { ptr, i64 } %callN if.then.234: ; preds = %while.body.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.235 if.merge.235: ; preds = %if.then.234, %while.body.232 %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.456, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.468, 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.457, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, 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.231 + +fv.default: ; preds = %if.merge.235 + br label %fv.merge + +fv.case: ; preds = %if.merge.235 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.235 + %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.235 + %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.470, i64 6 }, { ptr, i64 } { ptr @str.471, 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.236 + +while.hdr.236: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.237, label %while.exit.238 + +while.body.237: ; preds = %while.hdr.236 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.239, label %if.merge.240 + +while.exit.238: ; preds = %while.hdr.236 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.472, i64 1 }) + ret { ptr, i64 } %callN + +if.then.239: ; preds = %while.body.237 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.240 + +if.merge.240: ; preds = %if.then.239, %while.body.237 + %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.476, 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.477, 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 @@ -5187,19 +5418,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.231 + br label %while.hdr.236 -fv.default: ; preds = %if.merge.235 +fv.default: ; preds = %if.merge.240 br label %fv.merge -fv.case: ; preds = %if.merge.235 +fv.case: ; preds = %if.merge.240 %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.235 +fv.case17: ; preds = %if.merge.240 %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 @@ -5213,93 +5444,7 @@ 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.458, i64 4 }, { ptr, i64 } { ptr @str.459, 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.236 - -while.hdr.236: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.237, label %while.exit.238 - -while.body.237: ; preds = %while.hdr.236 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.239, label %if.merge.240 - -while.exit.238: ; preds = %while.hdr.236 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 1 }) - ret { ptr, i64 } %callN - -if.then.239: ; preds = %while.body.237 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.461, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.240 - -if.merge.240: ; preds = %if.then.239, %while.body.237 - %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.465, 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.466, 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.236 - -fv.default: ; preds = %if.merge.240 - br label %fv.merge - -fv.case: ; preds = %if.merge.240 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.240 - %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.240 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.467, i64 6 }, { ptr, i64 } { ptr @str.468, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.478, i64 4 }, { ptr, i64 } { ptr @str.479, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5318,24 +5463,110 @@ while.body.242: ; preds = %while.hdr.241 while.exit.243: ; preds = %while.hdr.241 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.480, i64 1 }) ret { ptr, i64 } %callN if.then.244: ; preds = %while.body.242 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.245 if.merge.245: ; preds = %if.then.244, %while.body.242 %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.474, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.485, 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.475, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, 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.241 + +fv.default: ; preds = %if.merge.245 + br label %fv.merge + +fv.case: ; preds = %if.merge.245 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.245 + %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.245 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.487, i64 6 }, { ptr, i64 } { ptr @str.488, 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.246 + +while.hdr.246: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.247, label %while.exit.248 + +while.body.247: ; preds = %while.hdr.246 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.249, label %if.merge.250 + +while.exit.248: ; preds = %while.hdr.246 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.489, i64 1 }) + ret { ptr, i64 } %callN + +if.then.249: ; preds = %while.body.247 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.490, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.250 + +if.merge.250: ; preds = %if.then.249, %while.body.247 + %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.494, 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.495, 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 @@ -5354,24 +5585,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.241 + br label %while.hdr.246 -fv.default: ; preds = %if.merge.245 +fv.default: ; preds = %if.merge.250 br label %fv.merge -fv.case: ; preds = %if.merge.245 +fv.case: ; preds = %if.merge.250 %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.245 +fv.case17: ; preds = %if.merge.250 %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.245 +fv.case20: ; preds = %if.merge.250 %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 @@ -5384,43 +5615,43 @@ 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.476, i64 12 }, { ptr, i64 } { ptr @str.477, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.496, i64 12 }, { ptr, i64 } { ptr @str.497, 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.246 + br label %while.hdr.251 -while.hdr.246: ; preds = %if.merge.250, %entry +while.hdr.251: ; preds = %if.merge.255, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.247, label %while.exit.248 + br i1 %icmp, label %while.body.252, label %while.exit.253 -while.body.247: ; preds = %while.hdr.246 +while.body.252: ; preds = %while.hdr.251 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.249, label %if.merge.250 + br i1 %icmpN, label %if.then.254, label %if.merge.255 -while.exit.248: ; preds = %while.hdr.246 +while.exit.253: ; preds = %while.hdr.251 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.498, i64 1 }) ret { ptr, i64 } %callN -if.then.249: ; preds = %while.body.247 +if.then.254: ; preds = %while.body.252 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.250 + br label %if.merge.255 -if.merge.250: ; preds = %if.then.249, %while.body.247 +if.merge.255: ; preds = %if.then.254, %while.body.252 %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.480, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.500, 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.481, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.501, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5431,7 +5662,7 @@ if.merge.250: ; preds = %if.then.249, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.246 + br label %while.hdr.251 } ; Function Attrs: nounwind @@ -5440,95 +5671,7 @@ 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.482, i64 8 }, { ptr, i64 } { ptr @str.483, 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.251 - -while.hdr.251: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.252, label %while.exit.253 - -while.body.252: ; preds = %while.hdr.251 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.254, label %if.merge.255 - -while.exit.253: ; preds = %while.hdr.251 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, i64 1 }) - ret { ptr, i64 } %callN - -if.then.254: ; preds = %while.body.252 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.255 - -if.merge.255: ; preds = %if.then.254, %while.body.252 - %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.489, 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.490, 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.251 - -fv.default: ; preds = %if.merge.255 - br label %fv.merge - -fv.case: ; preds = %if.merge.255 - %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.255 - %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.255 - %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.491, i64 7 }, { ptr, i64 } { ptr @str.492, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.502, i64 8 }, { ptr, i64 } { ptr @str.503, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5547,24 +5690,112 @@ while.body.257: ; preds = %while.hdr.256 while.exit.258: ; preds = %while.hdr.256 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) ret { ptr, i64 } %callN if.then.259: ; preds = %while.body.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.260 if.merge.260: ; preds = %if.then.259, %while.body.257 %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.498, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.509, 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.499, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, 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.256 + +fv.default: ; preds = %if.merge.260 + br label %fv.merge + +fv.case: ; preds = %if.merge.260 + %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.260 + %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.260 + %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.511, i64 7 }, { ptr, i64 } { ptr @str.512, 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.261 + +while.hdr.261: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.262, label %while.exit.263 + +while.body.262: ; preds = %while.hdr.261 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.264, label %if.merge.265 + +while.exit.263: ; preds = %while.hdr.261 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 1 }) + ret { ptr, i64 } %callN + +if.then.264: ; preds = %while.body.262 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.265 + +if.merge.265: ; preds = %if.then.264, %while.body.262 + %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.518, 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.519, 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 @@ -5583,26 +5814,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.256 + br label %while.hdr.261 -fv.default: ; preds = %if.merge.260 +fv.default: ; preds = %if.merge.265 br label %fv.merge -fv.case: ; preds = %if.merge.260 +fv.case: ; preds = %if.merge.265 %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.260 +fv.case17: ; preds = %if.merge.265 %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.260 +fv.case22: ; preds = %if.merge.265 %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 @@ -5616,86 +5847,7 @@ 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.500, i64 9 }, { ptr, i64 } { ptr @str.501, 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.261 - -while.hdr.261: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.262, label %while.exit.263 - -while.body.262: ; preds = %while.hdr.261 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.264, label %if.merge.265 - -while.exit.263: ; preds = %while.hdr.261 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) - ret { ptr, i64 } %callN - -if.then.264: ; preds = %while.body.262 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.265 - -if.merge.265: ; preds = %if.then.264, %while.body.262 - %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.506, 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.507, 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.261 - -fv.default: ; preds = %if.merge.265 - br label %fv.merge - -fv.case: ; preds = %if.merge.265 - %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.265 - %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.508, i64 4 }, { ptr, i64 } { ptr @str.509, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, i64 9 }, { ptr, i64 } { ptr @str.521, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5714,27 +5866,27 @@ while.body.267: ; preds = %while.hdr.266 while.exit.268: ; preds = %while.hdr.266 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.510, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) ret { ptr, i64 } %callN if.then.269: ; preds = %while.body.267 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.270 if.merge.270: ; preds = %if.then.269, %while.body.267 %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.514, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.526, 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.515, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, 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 { 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 @@ -5755,11 +5907,90 @@ fv.default: ; preds = %if.merge.270 br label %fv.merge fv.case: ; preds = %if.merge.270 + %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.270 + %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.528, i64 4 }, { ptr, i64 } { ptr @str.529, 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.271 + +while.hdr.271: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.272, label %while.exit.273 + +while.body.272: ; preds = %while.hdr.271 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.274, label %if.merge.275 + +while.exit.273: ; preds = %while.hdr.271 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 1 }) + ret { ptr, i64 } %callN + +if.then.274: ; preds = %while.body.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.275 + +if.merge.275: ; preds = %if.then.274, %while.body.272 + %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.534, 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.535, 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.271 + +fv.default: ; preds = %if.merge.275 + br label %fv.merge + +fv.case: ; preds = %if.merge.275 %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.270 +fv.case17: ; preds = %if.merge.275 %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 @@ -5777,43 +6008,43 @@ entry: %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.516, i64 6 }, { ptr, i64 } { ptr @str.517, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, i64 6 }, { ptr, i64 } { ptr @str.537, 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.271 + br label %while.hdr.276 -while.hdr.271: ; preds = %fv.merge, %entry +while.hdr.276: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.272, label %while.exit.273 + br i1 %icmp, label %while.body.277, label %while.exit.278 -while.body.272: ; preds = %while.hdr.271 +while.body.277: ; preds = %while.hdr.276 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.274, label %if.merge.275 + br i1 %icmpN, label %if.then.279, label %if.merge.280 -while.exit.273: ; preds = %while.hdr.271 +while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.518, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 1 }) ret { ptr, i64 } %callN -if.then.274: ; preds = %while.body.272 +if.then.279: ; preds = %while.body.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.519, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.275 + br label %if.merge.280 -if.merge.275: ; preds = %if.then.274, %while.body.272 +if.merge.280: ; preds = %if.then.279, %while.body.277 %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.527, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.547, 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.528, i64 2 }) + %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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5836,51 +6067,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.271 + br label %while.hdr.276 -fv.default: ; preds = %if.merge.275 +fv.default: ; preds = %if.merge.280 br label %fv.merge -fv.case: ; preds = %if.merge.275 +fv.case: ; preds = %if.merge.280 %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.275 +fv.case17: ; preds = %if.merge.280 %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.275 +fv.case22: ; preds = %if.merge.280 %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.275 +fv.case25: ; preds = %if.merge.280 %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.275 +fv.case28: ; preds = %if.merge.280 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.275 +fv.case33: ; preds = %if.merge.280 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.275 +fv.case38: ; preds = %if.merge.280 %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 @@ -5895,43 +6126,43 @@ entry: %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.529, i64 6 }, { ptr, i64 } { ptr @str.530, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, i64 6 }, { ptr, i64 } { ptr @str.550, 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.276 + br label %while.hdr.281 -while.hdr.276: ; preds = %fv.merge, %entry +while.hdr.281: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.277, label %while.exit.278 + br i1 %icmp, label %while.body.282, label %while.exit.283 -while.body.277: ; preds = %while.hdr.276 +while.body.282: ; preds = %while.hdr.281 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.279, label %if.merge.280 + br i1 %icmpN, label %if.then.284, label %if.merge.285 -while.exit.278: ; preds = %while.hdr.276 +while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.551, i64 1 }) ret { ptr, i64 } %callN -if.then.279: ; preds = %while.body.277 +if.then.284: ; preds = %while.body.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.280 + br label %if.merge.285 -if.merge.280: ; preds = %if.then.279, %while.body.277 +if.merge.285: ; preds = %if.then.284, %while.body.282 %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.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.557, 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.538, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, 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 @@ -5951,31 +6182,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.276 + br label %while.hdr.281 -fv.default: ; preds = %if.merge.280 +fv.default: ; preds = %if.merge.285 br label %fv.merge -fv.case: ; preds = %if.merge.280 +fv.case: ; preds = %if.merge.285 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.280 +fv.case17: ; preds = %if.merge.285 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.280 +fv.case22: ; preds = %if.merge.285 %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.280 +fv.case25: ; preds = %if.merge.285 %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 @@ -5986,82 +6217,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.539, i64 8 }, { ptr, i64 } { ptr @str.540, 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.281 - -while.hdr.281: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.282, label %while.exit.283 - -while.body.282: ; preds = %while.hdr.281 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.284, label %if.merge.285 - -while.exit.283: ; preds = %while.hdr.281 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 1 }) - ret { ptr, i64 } %callN - -if.then.284: ; preds = %while.body.282 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.285 - -if.merge.285: ; preds = %if.then.284, %while.body.282 - %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.545, 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.546, 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.281 - -fv.default: ; preds = %if.merge.285 - br label %fv.merge - -fv.case: ; preds = %if.merge.285 - %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.285 - %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__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.547, i64 6 }, { ptr, i64 } { ptr @str.548, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.559, i64 8 }, { ptr, i64 } { ptr @str.560, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6070,7 +6226,7 @@ entry: while.hdr.286: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.287, label %while.exit.288 while.body.287: ; preds = %while.hdr.286 @@ -6080,118 +6236,16 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %callN if.then.289: ; preds = %while.body.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.290 if.merge.290: ; preds = %if.then.289, %while.body.287 - %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.557, 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.558, 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.286 - -fv.default: ; preds = %if.merge.290 - br label %fv.merge - -fv.case: ; preds = %if.merge.290 - %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.290 - %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.290 - %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.290 - %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.290 - %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.290 - %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.559, i64 10 }, { ptr, i64 } { ptr @str.560, 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.291 - -while.hdr.291: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.292, label %while.exit.293 - -while.body.292: ; preds = %while.hdr.291 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.294, label %if.merge.295 - -while.exit.293: ; preds = %while.hdr.291 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) - ret { ptr, i64 } %callN - -if.then.294: ; preds = %while.body.292 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.295 - -if.merge.295: ; preds = %if.then.294, %while.body.292 %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.565, i64 0, i64 %loadN @@ -6217,17 +6271,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.286 + +fv.default: ; preds = %if.merge.290 + br label %fv.merge + +fv.case: ; preds = %if.merge.290 + %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.290 + %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__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.567, i64 6 }, { ptr, i64 } { ptr @str.568, 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.291 + +while.hdr.291: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.292, label %while.exit.293 + +while.body.292: ; preds = %while.hdr.291 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.294, label %if.merge.295 + +while.exit.293: ; preds = %while.hdr.291 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) + ret { ptr, i64 } %callN + +if.then.294: ; preds = %while.body.292 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.295 + +if.merge.295: ; preds = %if.then.294, %while.body.292 + %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.577, 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.578, 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.291 fv.default: ; preds = %if.merge.295 br label %fv.merge fv.case: ; preds = %if.merge.295 + %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.295 + %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.295 + %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.295 + %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.295 + %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.295 + %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.579, i64 10 }, { ptr, i64 } { ptr @str.580, 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.296 + +while.hdr.296: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.297, label %while.exit.298 + +while.body.297: ; preds = %while.hdr.296 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.299, label %if.merge.300 + +while.exit.298: ; preds = %while.hdr.296 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + ret { ptr, i64 } %callN + +if.then.299: ; preds = %while.body.297 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.300 + +if.merge.300: ; preds = %if.then.299, %while.body.297 + %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.585, 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.586, 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.296 + +fv.default: ; preds = %if.merge.300 + br label %fv.merge + +fv.case: ; preds = %if.merge.300 %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.295 +fv.case17: ; preds = %if.merge.300 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6238,43 +6469,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.567, i64 5 }, { ptr, i64 } { ptr @str.568, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 5 }, { ptr, i64 } { ptr @str.588, 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.296 + br label %while.hdr.301 -while.hdr.296: ; preds = %fv.merge, %entry +while.hdr.301: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.297, label %while.exit.298 + br i1 %icmp, label %while.body.302, label %while.exit.303 -while.body.297: ; preds = %while.hdr.296 +while.body.302: ; preds = %while.hdr.301 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.299, label %if.merge.300 + br i1 %icmpN, label %if.then.304, label %if.merge.305 -while.exit.298: ; preds = %while.hdr.296 +while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.589, i64 1 }) ret { ptr, i64 } %callN -if.then.299: ; preds = %while.body.297 +if.then.304: ; preds = %while.body.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.300 + br label %if.merge.305 -if.merge.300: ; preds = %if.then.299, %while.body.297 +if.merge.305: ; preds = %if.then.304, %while.body.302 %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.578, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.598, 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.579, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.599, 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, i64 }, ptr %alloca, align 8 @@ -6297,47 +6528,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.296 + br label %while.hdr.301 -fv.default: ; preds = %if.merge.300 +fv.default: ; preds = %if.merge.305 br label %fv.merge -fv.case: ; preds = %if.merge.300 +fv.case: ; preds = %if.merge.305 %fv.field = extractvalue { i32, i64, 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.300 +fv.case17: ; preds = %if.merge.305 %fv.field18 = extractvalue { i32, i64, 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.300 +fv.case20: ; preds = %if.merge.305 %fv.field21 = extractvalue { i32, i64, 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.300 +fv.case23: ; preds = %if.merge.305 %fv.field24 = extractvalue { i32, i64, 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.300 +fv.case27: ; preds = %if.merge.305 %fv.field28 = extractvalue { i32, i64, 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.300 +fv.case31: ; preds = %if.merge.305 %fv.field32 = extractvalue { i32, i64, 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.300 +fv.case35: ; preds = %if.merge.305 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6348,43 +6579,43 @@ 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.580, i64 4 }, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 4 }, { ptr, i64 } { ptr @str.601, 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.301 + br label %while.hdr.306 -while.hdr.301: ; preds = %fv.merge, %entry +while.hdr.306: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.302, label %while.exit.303 + br i1 %icmp, label %while.body.307, label %while.exit.308 -while.body.302: ; preds = %while.hdr.301 +while.body.307: ; preds = %while.hdr.306 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.304, label %if.merge.305 + br i1 %icmpN, label %if.then.309, label %if.merge.310 -while.exit.303: ; preds = %while.hdr.301 +while.exit.308: ; preds = %while.hdr.306 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 1 }) ret { ptr, i64 } %callN -if.then.304: ; preds = %while.body.302 +if.then.309: ; preds = %while.body.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.305 + br label %if.merge.310 -if.merge.305: ; preds = %if.then.304, %while.body.302 +if.merge.310: ; preds = %if.then.309, %while.body.307 %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.585, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.605, 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.586, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.606, 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 @@ -6401,18 +6632,581 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.301 + br label %while.hdr.306 -fv.default: ; preds = %if.merge.305 +fv.default: ; preds = %if.merge.310 br label %fv.merge -fv.case: ; preds = %if.merge.305 +fv.case: ; preds = %if.merge.310 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 6 }, { ptr, i64 } { ptr @str.608, 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.311 + +while.hdr.311: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.312, label %while.exit.313 + +while.body.312: ; preds = %while.hdr.311 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.314, label %if.merge.315 + +while.exit.313: ; preds = %while.hdr.311 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.609, i64 1 }) + ret { ptr, i64 } %callN + +if.then.314: ; preds = %while.body.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.315 + +if.merge.315: ; preds = %if.then.314, %while.body.312 + %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.618, 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.619, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.311 + +fv.default: ; preds = %if.merge.315 + br label %fv.merge + +fv.case: ; preds = %if.merge.315 + %fv.field = extractvalue { i64, i32, 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.315 + %fv.field18 = extractvalue { i64, i32, 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.315 + %fv.field21 = extractvalue { i64, i32, 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.315 + %fv.field24 = extractvalue { i64, i32, 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.315 + %fv.field27 = extractvalue { i64, i32, 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.315 + %fv.field30 = extractvalue { i64, i32, 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.315 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.620, i64 7 }, { ptr, i64 } { ptr @str.621, 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.316 + +while.hdr.316: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.317, label %while.exit.318 + +while.body.317: ; preds = %while.hdr.316 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.319, label %if.merge.320 + +while.exit.318: ; preds = %while.hdr.316 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) + ret { ptr, i64 } %callN + +if.then.319: ; preds = %while.body.317 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.320 + +if.merge.320: ; preds = %if.then.319, %while.body.317 + %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.630, 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.631, 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.316 + +fv.default: ; preds = %if.merge.320 + br label %fv.merge + +fv.case: ; preds = %if.merge.320 + %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.320 + %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.320 + %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.320 + %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.320 + %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.320 + %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.632, i64 8 }, { ptr, i64 } { ptr @str.633, 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.321 + +while.hdr.321: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.322, label %while.exit.323 + +while.body.322: ; preds = %while.hdr.321 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.324, label %if.merge.325 + +while.exit.323: ; preds = %while.hdr.321 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + ret { ptr, i64 } %callN + +if.then.324: ; preds = %while.body.322 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.325 + +if.merge.325: ; preds = %if.then.324, %while.body.322 + %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.640, 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.641, 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.321 + +fv.default: ; preds = %if.merge.325 + br label %fv.merge + +fv.case: ; preds = %if.merge.325 + %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.325 + %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.325 + %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.325 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 4 }, { ptr, i64 } { ptr @str.643, 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.326 + +while.hdr.326: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.327, label %while.exit.328 + +while.body.327: ; preds = %while.hdr.326 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.329, label %if.merge.330 + +while.exit.328: ; preds = %while.hdr.326 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) + ret { ptr, i64 } %callN + +if.then.329: ; preds = %while.body.327 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.330 + +if.merge.330: ; preds = %if.then.329, %while.body.327 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.657, 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.658, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.326 + +fv.default: ; preds = %if.merge.330 + br label %fv.merge + +fv.case: ; preds = %if.merge.330 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.330 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.330 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.330 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.330 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.330 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.330 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.330 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.330 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.330 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.330 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 6 }, { ptr, i64 } { ptr @str.660, 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.331 + +while.hdr.331: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.332, label %while.exit.333 + +while.body.332: ; preds = %while.hdr.331 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.334, label %if.merge.335 + +while.exit.333: ; preds = %while.hdr.331 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) + ret { ptr, i64 } %callN + +if.then.334: ; preds = %while.body.332 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.335 + +if.merge.335: ; preds = %if.then.334, %while.body.332 + %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.669, 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.670, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.331 + +fv.default: ; preds = %if.merge.335 + br label %fv.merge + +fv.case: ; preds = %if.merge.335 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.335 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.335 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.335 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.335 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.335 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %1) #0 { entry: @@ -6422,9 +7216,9 @@ entry: %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.592, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.676, 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.587, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, 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 @@ -6438,18 +7232,18 @@ entry: %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.313, label %if.merge.314 + br i1 %icmp, label %if.then.343, label %if.merge.344 -if.then.313: ; preds = %entry +if.then.343: ; 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.594, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.678, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, 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.314 + br label %if.merge.344 -if.merge.314: ; preds = %if.then.313, %entry +if.merge.344: ; preds = %if.then.343, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6463,9 +7257,9 @@ entry: %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.599, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.683, 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.595, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, 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 @@ -6479,18 +7273,18 @@ entry: %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.315, label %if.merge.316 + br i1 %icmp, label %if.then.345, label %if.merge.346 -if.then.315: ; preds = %entry +if.then.345: ; 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.601, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, 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.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %entry +if.merge.346: ; preds = %if.then.345, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6515,9 +7309,9 @@ entry: %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.609, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.693, 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.602, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, 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 @@ -6531,16 +7325,16 @@ entry: i64 5, label %fv.case24 ] -if.then.317: ; preds = %fv.merge +if.then.347: ; 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.611, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, 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.318 + br label %if.merge.348 -if.merge.318: ; preds = %if.then.317, %fv.merge +if.merge.348: ; preds = %if.then.347, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6553,7 +7347,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.317, label %if.merge.318 + br i1 %icmp, label %if.then.347, label %if.merge.348 fv.default: ; preds = %entry br label %fv.merge @@ -6613,9 +7407,9 @@ entry: %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.620, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.704, 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.612, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, 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 @@ -6629,18 +7423,18 @@ entry: %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.319, label %if.merge.320 + br i1 %icmp, label %if.then.349, label %if.merge.350 -if.then.319: ; preds = %entry +if.then.349: ; 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.622, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.706, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, 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.320 + br label %if.merge.350 -if.merge.320: ; preds = %if.then.319, %entry +if.merge.350: ; preds = %if.then.349, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6654,9 +7448,9 @@ entry: %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.629, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.713, 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.623, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, 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 @@ -6670,18 +7464,18 @@ entry: %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.321, label %if.merge.322 + br i1 %icmp, label %if.then.351, label %if.merge.352 -if.then.321: ; preds = %entry +if.then.351: ; 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.631, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, 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.322 + br label %if.merge.352 -if.merge.322: ; preds = %if.then.321, %entry +if.merge.352: ; preds = %if.then.351, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6693,33 +7487,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.632, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.716, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 -while.hdr.331: ; preds = %if.merge.335, %entry +while.hdr.361: ; preds = %if.merge.365, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.332, label %while.exit.333 + br i1 %icmp, label %while.body.362, label %while.exit.363 -while.body.332: ; preds = %while.hdr.331 +while.body.362: ; preds = %while.hdr.361 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.334, label %if.merge.335 + br i1 %icmpN, label %if.then.364, label %if.merge.365 -while.exit.333: ; preds = %while.hdr.331 +while.exit.363: ; preds = %while.hdr.361 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 1 }) ret { ptr, i64 } %call -if.then.334: ; preds = %while.body.332 +if.then.364: ; preds = %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.335 + br label %if.merge.365 -if.merge.335: ; preds = %if.then.334, %while.body.332 +if.merge.365: ; preds = %if.then.364, %while.body.362 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6733,7 +7527,7 @@ if.merge.335: ; preds = %if.then.334, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.331 + br label %while.hdr.361 } ; Function Attrs: nounwind @@ -6744,33 +7538,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.719, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 -while.hdr.336: ; preds = %if.merge.340, %entry +while.hdr.366: ; preds = %if.merge.370, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.337, label %while.exit.338 + br i1 %icmp, label %while.body.367, label %while.exit.368 -while.body.337: ; preds = %while.hdr.336 +while.body.367: ; preds = %while.hdr.366 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.339, label %if.merge.340 + br i1 %icmpN, label %if.then.369, label %if.merge.370 -while.exit.338: ; preds = %while.hdr.336 +while.exit.368: ; preds = %while.hdr.366 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) ret { ptr, i64 } %call -if.then.339: ; preds = %while.body.337 +if.then.369: ; preds = %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.340 + br label %if.merge.370 -if.merge.340: ; preds = %if.then.339, %while.body.337 +if.merge.370: ; preds = %if.then.369, %while.body.367 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6786,7 +7580,7 @@ if.merge.340: ; preds = %if.then.339, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.336 + br label %while.hdr.366 } ; Function Attrs: nounwind @@ -6796,33 +7590,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.722, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.341 + br label %while.hdr.371 -while.hdr.341: ; preds = %if.merge.345, %entry +while.hdr.371: ; preds = %if.merge.375, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.342, label %while.exit.343 + br i1 %icmp, label %while.body.372, label %while.exit.373 -while.body.342: ; preds = %while.hdr.341 +while.body.372: ; preds = %while.hdr.371 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.344, label %if.merge.345 + br i1 %icmpN, label %if.then.374, label %if.merge.375 -while.exit.343: ; preds = %while.hdr.341 +while.exit.373: ; preds = %while.hdr.371 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) ret { ptr, i64 } %call -if.then.344: ; preds = %while.body.342 +if.then.374: ; preds = %while.body.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 2 }) + %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 - br label %if.merge.345 + br label %if.merge.375 -if.merge.345: ; preds = %if.then.344, %while.body.342 +if.merge.375: ; preds = %if.then.374, %while.body.372 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6836,7 +7630,7 @@ if.merge.345: ; preds = %if.then.344, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.341 + br label %while.hdr.371 } ; Function Attrs: nounwind @@ -6846,33 +7640,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.725, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.346 + br label %while.hdr.376 -while.hdr.346: ; preds = %if.merge.350, %entry +while.hdr.376: ; preds = %if.merge.380, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.347, label %while.exit.348 + br i1 %icmp, label %while.body.377, label %while.exit.378 -while.body.347: ; preds = %while.hdr.346 +while.body.377: ; preds = %while.hdr.376 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.349, label %if.merge.350 + br i1 %icmpN, label %if.then.379, label %if.merge.380 -while.exit.348: ; preds = %while.hdr.346 +while.exit.378: ; preds = %while.hdr.376 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) ret { ptr, i64 } %call -if.then.349: ; preds = %while.body.347 +if.then.379: ; preds = %while.body.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.350 + br label %if.merge.380 -if.merge.350: ; preds = %if.then.349, %while.body.347 +if.merge.380: ; preds = %if.then.379, %while.body.377 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -6887,7 +7681,7 @@ if.merge.350: ; preds = %if.then.349, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.346 + br label %while.hdr.376 } ; Function Attrs: nounwind @@ -6897,33 +7691,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.644, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.728, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 -while.hdr.351: ; preds = %if.merge.355, %entry +while.hdr.381: ; preds = %if.merge.385, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.352, label %while.exit.353 + br i1 %icmp, label %while.body.382, label %while.exit.383 -while.body.352: ; preds = %while.hdr.351 +while.body.382: ; preds = %while.hdr.381 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.354, label %if.merge.355 + br i1 %icmpN, label %if.then.384, label %if.merge.385 -while.exit.353: ; preds = %while.hdr.351 +while.exit.383: ; preds = %while.hdr.381 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 1 }) ret { ptr, i64 } %call -if.then.354: ; preds = %while.body.352 +if.then.384: ; preds = %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.355 + br label %if.merge.385 -if.merge.355: ; preds = %if.then.354, %while.body.352 +if.merge.385: ; preds = %if.then.384, %while.body.382 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6937,7 +7731,7 @@ if.merge.355: ; preds = %if.then.354, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.351 + br label %while.hdr.381 } ; Function Attrs: nounwind @@ -6948,33 +7742,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.647, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.731, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 -while.hdr.356: ; preds = %if.merge.360, %entry +while.hdr.386: ; preds = %if.merge.390, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.357, label %while.exit.358 + br i1 %icmp, label %while.body.387, label %while.exit.388 -while.body.357: ; preds = %while.hdr.356 +while.body.387: ; preds = %while.hdr.386 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.359, label %if.merge.360 + br i1 %icmpN, label %if.then.389, label %if.merge.390 -while.exit.358: ; preds = %while.hdr.356 +while.exit.388: ; preds = %while.hdr.386 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, i64 1 }) ret { ptr, i64 } %call -if.then.359: ; preds = %while.body.357 +if.then.389: ; preds = %while.body.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.733, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.360 + br label %if.merge.390 -if.merge.360: ; preds = %if.then.359, %while.body.357 +if.merge.390: ; preds = %if.then.389, %while.body.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -6990,7 +7784,7 @@ if.merge.360: ; preds = %if.then.359, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.356 + br label %while.hdr.386 } ; Function Attrs: nounwind @@ -7000,35 +7794,35 @@ entry: %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.650, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.734, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 -while.hdr.369: ; preds = %if.merge.373, %entry +while.hdr.399: ; preds = %if.merge.403, %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.370, label %while.exit.371 + br i1 %icmp, label %while.body.400, label %while.exit.401 -while.body.370: ; preds = %while.hdr.369 +while.body.400: ; preds = %while.hdr.399 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.372, label %if.merge.373 + br i1 %icmpN, label %if.then.402, label %if.merge.403 -while.exit.371: ; preds = %while.hdr.369 +while.exit.401: ; preds = %while.hdr.399 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) ret { ptr, i64 } %call -if.then.372: ; preds = %while.body.370 +if.then.402: ; preds = %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + %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.373 + br label %if.merge.403 -if.merge.373: ; preds = %if.then.372, %while.body.370 +if.merge.403: ; preds = %if.then.402, %while.body.400 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7044,7 +7838,7 @@ if.merge.373: ; preds = %if.then.372, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.369 + br label %while.hdr.399 } ; Function Attrs: nounwind @@ -7053,35 +7847,35 @@ 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.653, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.737, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.374 + br label %while.hdr.404 -while.hdr.374: ; preds = %if.merge.378, %entry +while.hdr.404: ; preds = %if.merge.408, %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.375, label %while.exit.376 + br i1 %icmp, label %while.body.405, label %while.exit.406 -while.body.375: ; preds = %while.hdr.374 +while.body.405: ; preds = %while.hdr.404 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.377, label %if.merge.378 + br i1 %icmpN, label %if.then.407, label %if.merge.408 -while.exit.376: ; preds = %while.hdr.374 +while.exit.406: ; preds = %while.hdr.404 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.738, i64 1 }) ret { ptr, i64 } %call -if.then.377: ; preds = %while.body.375 +if.then.407: ; preds = %while.body.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.378 + br label %if.merge.408 -if.merge.378: ; preds = %if.then.377, %while.body.375 +if.merge.408: ; preds = %if.then.407, %while.body.405 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7096,7 +7890,7 @@ if.merge.378: ; preds = %if.then.377, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.374 + br label %while.hdr.404 } ; Function Attrs: nounwind @@ -7106,35 +7900,35 @@ entry: %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.656, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.740, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.379 + br label %while.hdr.409 -while.hdr.379: ; preds = %if.merge.383, %entry +while.hdr.409: ; preds = %if.merge.413, %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.380, label %while.exit.381 + br i1 %icmp, label %while.body.410, label %while.exit.411 -while.body.380: ; preds = %while.hdr.379 +while.body.410: ; preds = %while.hdr.409 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.382, label %if.merge.383 + br i1 %icmpN, label %if.then.412, label %if.merge.413 -while.exit.381: ; preds = %while.hdr.379 +while.exit.411: ; preds = %while.hdr.409 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 1 }) ret { ptr, i64 } %call -if.then.382: ; preds = %while.body.380 +if.then.412: ; preds = %while.body.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, i64 2 }) + %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.383 + br label %if.merge.413 -if.merge.383: ; preds = %if.then.382, %while.body.380 +if.merge.413: ; preds = %if.then.412, %while.body.410 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7150,7 +7944,7 @@ if.merge.383: ; preds = %if.then.382, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.379 + br label %while.hdr.409 } ; Function Attrs: nounwind @@ -7160,35 +7954,35 @@ entry: %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.659, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.743, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.384 + br label %while.hdr.414 -while.hdr.384: ; preds = %if.merge.388, %entry +while.hdr.414: ; preds = %if.merge.418, %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.385, label %while.exit.386 + br i1 %icmp, label %while.body.415, label %while.exit.416 -while.body.385: ; preds = %while.hdr.384 +while.body.415: ; preds = %while.hdr.414 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.387, label %if.merge.388 + br i1 %icmpN, label %if.then.417, label %if.merge.418 -while.exit.386: ; preds = %while.hdr.384 +while.exit.416: ; preds = %while.hdr.414 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.744, i64 1 }) ret { ptr, i64 } %call -if.then.387: ; preds = %while.body.385 +if.then.417: ; preds = %while.body.415 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.388 + br label %if.merge.418 -if.merge.388: ; preds = %if.then.387, %while.body.385 +if.merge.418: ; preds = %if.then.417, %while.body.415 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7204,7 +7998,7 @@ if.merge.388: ; preds = %if.then.387, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.384 + br label %while.hdr.414 } ; Function Attrs: nounwind @@ -7214,35 +8008,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.662, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.746, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.389 + br label %while.hdr.419 -while.hdr.389: ; preds = %if.merge.393, %entry +while.hdr.419: ; preds = %if.merge.423, %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.390, label %while.exit.391 + br i1 %icmp, label %while.body.420, label %while.exit.421 -while.body.390: ; preds = %while.hdr.389 +while.body.420: ; preds = %while.hdr.419 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.392, label %if.merge.393 + br i1 %icmpN, label %if.then.422, label %if.merge.423 -while.exit.391: ; preds = %while.hdr.389 +while.exit.421: ; preds = %while.hdr.419 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.663, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.747, i64 1 }) ret { ptr, i64 } %call -if.then.392: ; preds = %while.body.390 +if.then.422: ; preds = %while.body.420 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 2 }) + %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.393 + br label %if.merge.423 -if.merge.393: ; preds = %if.then.392, %while.body.390 +if.merge.423: ; preds = %if.then.422, %while.body.420 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7258,7 +8052,7 @@ if.merge.393: ; preds = %if.then.392, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.389 + br label %while.hdr.419 } ; Function Attrs: nounwind @@ -7268,35 +8062,35 @@ entry: %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.665, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.749, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.394 + br label %while.hdr.424 -while.hdr.394: ; preds = %if.merge.398, %entry +while.hdr.424: ; preds = %if.merge.428, %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.395, label %while.exit.396 + br i1 %icmp, label %while.body.425, label %while.exit.426 -while.body.395: ; preds = %while.hdr.394 +while.body.425: ; preds = %while.hdr.424 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.397, label %if.merge.398 + br i1 %icmpN, label %if.then.427, label %if.merge.428 -while.exit.396: ; preds = %while.hdr.394 +while.exit.426: ; preds = %while.hdr.424 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.666, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.750, i64 1 }) ret { ptr, i64 } %call -if.then.397: ; preds = %while.body.395 +if.then.427: ; preds = %while.body.425 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.667, i64 2 }) + %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 - br label %if.merge.398 + br label %if.merge.428 -if.merge.398: ; preds = %if.then.397, %while.body.395 +if.merge.428: ; preds = %if.then.427, %while.body.425 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7312,206 +8106,11 @@ if.merge.398: ; preds = %if.then.397, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.394 + br label %while.hdr.424 } ; 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.436, label %if.else.437 - -if.then.436: ; preds = %entry - br label %if.merge.438 - -if.else.437: ; 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.438 - -if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] - 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.452, label %if.else.453 - -if.then.452: ; preds = %entry - br label %if.merge.454 - -if.else.453: ; 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.454 - -if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] - 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.455, label %if.else.456 - -if.then.455: ; preds = %entry - br label %if.merge.457 - -if.else.456: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.457 - -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] - 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.458, label %if.else.459 - -if.then.458: ; preds = %entry - br label %if.merge.460 - -if.else.459: ; 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.460 - -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] - 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.461, label %if.else.462 - -if.then.461: ; preds = %entry - br label %if.merge.463 - -if.else.462: ; 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.463 - -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] - ret { ptr, i64 } %bp -} - -; 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.464, label %if.else.465 - -if.then.464: ; preds = %entry - br label %if.merge.466 - -if.else.465: ; 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.685, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.466 - -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] - 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.467, label %if.else.468 - -if.then.467: ; preds = %entry - br label %if.merge.469 - -if.else.468: ; 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.688, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.469 - -if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] - 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 @@ -7529,12 +8128,207 @@ if.then.470: ; preds = %entry if.else.471: ; 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 5 }, { ptr, i64 } %callN) br label %if.merge.472 if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + 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.486, label %if.else.487 + +if.then.486: ; preds = %entry + br label %if.merge.488 + +if.else.487: ; 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.757, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.488 + +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + 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.489, label %if.else.490 + +if.then.489: ; preds = %entry + br label %if.merge.491 + +if.else.490: ; 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.760, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.491 + +if.merge.491: ; preds = %if.else.490, %if.then.489 + %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + 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.492, label %if.else.493 + +if.then.492: ; preds = %entry + br label %if.merge.494 + +if.else.493: ; 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.763, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.494 + +if.merge.494: ; preds = %if.else.493, %if.then.492 + %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + 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.495, label %if.else.496 + +if.then.495: ; preds = %entry + br label %if.merge.497 + +if.else.496: ; 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.766, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.497 + +if.merge.497: ; preds = %if.else.496, %if.then.495 + %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + ret { ptr, i64 } %bp +} + +; 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.498, label %if.else.499 + +if.then.498: ; preds = %entry + br label %if.merge.500 + +if.else.499: ; 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.769, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.500 + +if.merge.500: ; preds = %if.else.499, %if.then.498 + %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] + 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.501, label %if.else.502 + +if.then.501: ; preds = %entry + br label %if.merge.503 + +if.else.502: ; 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.772, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.503 + +if.merge.503: ; preds = %if.else.502, %if.then.501 + %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] + 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.504, label %if.else.505 + +if.then.504: ; preds = %entry + br label %if.merge.506 + +if.else.505: ; 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.775, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.506 + +if.merge.506: ; preds = %if.else.505, %if.then.504 + %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -7549,20 +8343,20 @@ entry: 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.473, label %if.else.474 + br i1 %icmp, label %if.then.507, label %if.else.508 -if.then.473: ; preds = %entry - br label %if.merge.475 +if.then.507: ; preds = %entry + br label %if.merge.509 -if.else.474: ; preds = %entry +if.else.508: ; 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.475 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.509 -if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] +if.merge.509: ; preds = %if.else.508, %if.then.507 + %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -7577,20 +8371,20 @@ entry: 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.476, label %if.else.477 + br i1 %icmp, label %if.then.510, label %if.else.511 -if.then.476: ; preds = %entry - br label %if.merge.478 +if.then.510: ; preds = %entry + br label %if.merge.512 -if.else.477: ; preds = %entry +if.else.511: ; 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.478 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.512 -if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] +if.merge.512: ; preds = %if.else.511, %if.then.510 + %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -7605,20 +8399,20 @@ entry: 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.479, label %if.else.480 + br i1 %icmp, label %if.then.513, label %if.else.514 -if.then.479: ; preds = %entry - br label %if.merge.481 +if.then.513: ; preds = %entry + br label %if.merge.515 -if.else.480: ; preds = %entry +if.else.514: ; 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.700, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.699, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.481 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.784, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.515 -if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] +if.merge.515: ; preds = %if.else.514, %if.then.513 + %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -7633,20 +8427,20 @@ entry: 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.482, label %if.else.483 + br i1 %icmp, label %if.then.516, label %if.else.517 -if.then.482: ; preds = %entry - br label %if.merge.484 +if.then.516: ; preds = %entry + br label %if.merge.518 -if.else.483: ; preds = %entry +if.else.517: ; 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.484 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.787, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.518 -if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] +if.merge.518: ; preds = %if.else.517, %if.then.516 + %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -7660,20 +8454,20 @@ entry: 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.485, label %if.else.486 + br i1 %icmp, label %if.then.519, label %if.else.520 -if.then.485: ; preds = %entry - br label %if.merge.487 +if.then.519: ; preds = %entry + br label %if.merge.521 -if.else.486: ; preds = %entry +if.else.520: ; 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.487 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.790, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.521 -if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] +if.merge.521: ; preds = %if.else.520, %if.then.519 + %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } @@ -7688,20 +8482,20 @@ entry: 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.488, label %if.else.489 + br i1 %icmp, label %if.then.522, label %if.else.523 -if.then.488: ; preds = %entry - br label %if.merge.490 +if.then.522: ; preds = %entry + br label %if.merge.524 -if.else.489: ; preds = %entry +if.else.523: ; 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.490 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.524 -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] +if.merge.524: ; preds = %if.else.523, %if.then.522 + %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } @@ -7715,20 +8509,20 @@ entry: 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.491, label %if.else.492 + br i1 %icmp, label %if.then.525, label %if.else.526 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.525: ; preds = %entry + br label %if.merge.527 -if.else.492: ; preds = %entry +if.else.526: ; 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.796, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.527 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.527: ; preds = %if.else.526, %if.then.525 + %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } @@ -7743,20 +8537,20 @@ entry: 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.494, label %if.else.495 + br i1 %icmp, label %if.then.528, label %if.else.529 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.528: ; preds = %entry + br label %if.merge.530 -if.else.495: ; preds = %entry +if.else.529: ; 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.530 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.530: ; preds = %if.else.529, %if.then.528 + %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } @@ -7771,20 +8565,20 @@ entry: 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.497, label %if.else.498 + br i1 %icmp, label %if.then.531, label %if.else.532 -if.then.497: ; preds = %entry - br label %if.merge.499 +if.then.531: ; preds = %entry + br label %if.merge.533 -if.else.498: ; preds = %entry +if.else.532: ; 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.499 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.802, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.533 -if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] +if.merge.533: ; preds = %if.else.532, %if.then.531 + %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -7799,20 +8593,20 @@ entry: 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.500, label %if.else.501 + br i1 %icmp, label %if.then.534, label %if.else.535 -if.then.500: ; preds = %entry - br label %if.merge.502 +if.then.534: ; preds = %entry + br label %if.merge.536 -if.else.501: ; preds = %entry +if.else.535: ; 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.502 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.805, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.536 -if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] +if.merge.536: ; preds = %if.else.535, %if.then.534 + %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -7827,20 +8621,20 @@ entry: 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.503, label %if.else.504 + br i1 %icmp, label %if.then.537, label %if.else.538 -if.then.503: ; preds = %entry - br label %if.merge.505 +if.then.537: ; preds = %entry + br label %if.merge.539 -if.else.504: ; preds = %entry +if.else.538: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.505 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.539 -if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] +if.merge.539: ; preds = %if.else.538, %if.then.537 + %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -7855,20 +8649,20 @@ entry: 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.506, label %if.else.507 + br i1 %icmp, label %if.then.540, label %if.else.541 -if.then.506: ; preds = %entry - br label %if.merge.508 +if.then.540: ; preds = %entry + br label %if.merge.542 -if.else.507: ; preds = %entry +if.else.541: ; 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.508 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.811, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.542 -if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] +if.merge.542: ; preds = %if.else.541, %if.then.540 + %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -7883,20 +8677,20 @@ entry: 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.509, label %if.else.510 + br i1 %icmp, label %if.then.543, label %if.else.544 -if.then.509: ; preds = %entry - br label %if.merge.511 +if.then.543: ; preds = %entry + br label %if.merge.545 -if.else.510: ; preds = %entry +if.else.544: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.511 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.545 -if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] +if.merge.545: ; preds = %if.else.544, %if.then.543 + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -7911,20 +8705,20 @@ entry: 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.512, label %if.else.513 + br i1 %icmp, label %if.then.546, label %if.else.547 -if.then.512: ; preds = %entry - br label %if.merge.514 +if.then.546: ; preds = %entry + br label %if.merge.548 -if.else.513: ; preds = %entry +if.else.547: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.514 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.548 -if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] +if.merge.548: ; preds = %if.else.547, %if.then.546 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -7939,20 +8733,20 @@ entry: 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.515, label %if.else.516 + br i1 %icmp, label %if.then.549, label %if.else.550 -if.then.515: ; preds = %entry - br label %if.merge.517 +if.then.549: ; preds = %entry + br label %if.merge.551 -if.else.516: ; preds = %entry +if.else.550: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.517 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.551 -if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] +if.merge.551: ; preds = %if.else.550, %if.then.549 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -7967,20 +8761,20 @@ entry: 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.518, label %if.else.519 + br i1 %icmp, label %if.then.552, label %if.else.553 -if.then.518: ; preds = %entry - br label %if.merge.520 +if.then.552: ; preds = %entry + br label %if.merge.554 -if.else.519: ; preds = %entry +if.else.553: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.520 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.554 -if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] +if.merge.554: ; preds = %if.else.553, %if.then.552 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -7995,20 +8789,20 @@ entry: 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.521, label %if.else.522 + br i1 %icmp, label %if.then.555, label %if.else.556 -if.then.521: ; preds = %entry - br label %if.merge.523 +if.then.555: ; preds = %entry + br label %if.merge.557 -if.else.522: ; preds = %entry +if.else.556: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.523 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.557 -if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] +if.merge.557: ; preds = %if.else.556, %if.then.555 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.555 ], [ %callN, %if.else.556 ] ret { ptr, i64 } %bp } @@ -8023,20 +8817,131 @@ entry: 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.524, label %if.else.525 + br i1 %icmp, label %if.then.558, label %if.else.559 -if.then.524: ; preds = %entry - br label %if.merge.526 +if.then.558: ; preds = %entry + br label %if.merge.560 -if.else.525: ; preds = %entry +if.else.559: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.526 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.560 -if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] +if.merge.560: ; preds = %if.else.559, %if.then.558 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.558 ], [ %callN, %if.else.559 ] + 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.561, label %if.else.562 + +if.then.561: ; preds = %entry + br label %if.merge.563 + +if.else.562: ; 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.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.563 + +if.merge.563: ; preds = %if.else.562, %if.then.561 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.561 ], [ %callN, %if.else.562 ] + 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.564, label %if.else.565 + +if.then.564: ; preds = %entry + br label %if.merge.566 + +if.else.565: ; 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.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.566 + +if.merge.566: ; preds = %if.else.565, %if.then.564 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.564 ], [ %callN, %if.else.565 ] + 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.567, label %if.else.568 + +if.then.567: ; preds = %entry + br label %if.merge.569 + +if.else.568: ; 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.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.569 + +if.merge.569: ; preds = %if.else.568, %if.then.567 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.567 ], [ %callN, %if.else.568 ] + 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.570, label %if.else.571 + +if.then.570: ; preds = %entry + br label %if.merge.572 + +if.else.571: ; 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.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.572 + +if.merge.572: ; preds = %if.else.571, %if.then.570 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.570 ], [ %callN, %if.else.571 ] ret { ptr, i64 } %bp } @@ -8051,20 +8956,20 @@ entry: 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.527, label %if.else.528 + br i1 %icmp, label %if.then.573, label %if.else.574 -if.then.527: ; preds = %entry - br label %if.merge.529 +if.then.573: ; preds = %entry + br label %if.merge.575 -if.else.528: ; preds = %entry +if.else.574: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.529 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.575 -if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] +if.merge.575: ; preds = %if.else.574, %if.then.573 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.573 ], [ %callN, %if.else.574 ] ret { ptr, i64 } %bp } @@ -8079,20 +8984,20 @@ entry: 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.530, label %if.else.531 + br i1 %icmp, label %if.then.576, label %if.else.577 -if.then.530: ; preds = %entry - br label %if.merge.532 +if.then.576: ; preds = %entry + br label %if.merge.578 -if.else.531: ; preds = %entry +if.else.577: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.532 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.578 -if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] +if.merge.578: ; preds = %if.else.577, %if.then.576 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.576 ], [ %callN, %if.else.577 ] ret { ptr, i64 } %bp } @@ -8107,20 +9012,20 @@ entry: 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.533, label %if.else.534 + br i1 %icmp, label %if.then.579, label %if.else.580 -if.then.533: ; preds = %entry - br label %if.merge.535 +if.then.579: ; preds = %entry + br label %if.merge.581 -if.else.534: ; preds = %entry +if.else.580: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 10 }, { ptr, i64 } %callN) - br label %if.merge.535 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 10 }, { ptr, i64 } %callN) + br label %if.merge.581 -if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] +if.merge.581: ; preds = %if.else.580, %if.then.579 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.579 ], [ %callN, %if.else.580 ] ret { ptr, i64 } %bp } @@ -8135,20 +9040,20 @@ entry: 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.536, label %if.else.537 + br i1 %icmp, label %if.then.582, label %if.else.583 -if.then.536: ; preds = %entry - br label %if.merge.538 +if.then.582: ; preds = %entry + br label %if.merge.584 -if.else.537: ; preds = %entry +if.else.583: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.538 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.584 -if.merge.538: ; preds = %if.else.537, %if.then.536 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] +if.merge.584: ; preds = %if.else.583, %if.then.582 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.582 ], [ %callN, %if.else.583 ] ret { ptr, i64 } %bp } @@ -8163,20 +9068,20 @@ entry: 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.539, label %if.else.540 + br i1 %icmp, label %if.then.585, label %if.else.586 -if.then.539: ; preds = %entry - br label %if.merge.541 +if.then.585: ; preds = %entry + br label %if.merge.587 -if.else.540: ; preds = %entry +if.else.586: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.541 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.587 -if.merge.541: ; preds = %if.else.540, %if.then.539 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] +if.merge.587: ; preds = %if.else.586, %if.then.585 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.585 ], [ %callN, %if.else.586 ] ret { ptr, i64 } %bp } @@ -8191,20 +9096,20 @@ entry: 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.542, label %if.else.543 + br i1 %icmp, label %if.then.588, label %if.else.589 -if.then.542: ; preds = %entry - br label %if.merge.544 +if.then.588: ; preds = %entry + br label %if.merge.590 -if.else.543: ; preds = %entry +if.else.589: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.544 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.590 -if.merge.544: ; preds = %if.else.543, %if.then.542 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] +if.merge.590: ; preds = %if.else.589, %if.then.588 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.588 ], [ %callN, %if.else.589 ] ret { ptr, i64 } %bp } @@ -8219,20 +9124,20 @@ entry: 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.545, label %if.else.546 + br i1 %icmp, label %if.then.591, label %if.else.592 -if.then.545: ; preds = %entry - br label %if.merge.547 +if.then.591: ; preds = %entry + br label %if.merge.593 -if.else.546: ; preds = %entry +if.else.592: ; 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.766, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.547 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.593 -if.merge.547: ; preds = %if.else.546, %if.then.545 - %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] +if.merge.593: ; preds = %if.else.592, %if.then.591 + %bp = phi { ptr, i64 } [ { ptr @str.860, i64 4 }, %if.then.591 ], [ %callN, %if.else.592 ] ret { ptr, i64 } %bp } @@ -8247,20 +9152,20 @@ entry: 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.548, label %if.else.549 + br i1 %icmp, label %if.then.594, label %if.else.595 -if.then.548: ; preds = %entry - br label %if.merge.550 +if.then.594: ; preds = %entry + br label %if.merge.596 -if.else.549: ; preds = %entry +if.else.595: ; 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.769, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.550 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.596 -if.merge.550: ; preds = %if.else.549, %if.then.548 - %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] +if.merge.596: ; preds = %if.else.595, %if.then.594 + %bp = phi { ptr, i64 } [ { ptr @str.863, i64 4 }, %if.then.594 ], [ %callN, %if.else.595 ] ret { ptr, i64 } %bp } @@ -8275,20 +9180,20 @@ entry: 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.551, label %if.else.552 + br i1 %icmp, label %if.then.597, label %if.else.598 -if.then.551: ; preds = %entry - br label %if.merge.553 +if.then.597: ; preds = %entry + br label %if.merge.599 -if.else.552: ; preds = %entry +if.else.598: ; 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.772, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.553 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.599 -if.merge.553: ; preds = %if.else.552, %if.then.551 - %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] +if.merge.599: ; preds = %if.else.598, %if.then.597 + %bp = phi { ptr, i64 } [ { ptr @str.866, i64 4 }, %if.then.597 ], [ %callN, %if.else.598 ] ret { ptr, i64 } %bp } @@ -8301,12 +9206,12 @@ entry: %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.561, label %if.merge.562 + br i1 %lnot, label %if.then.607, label %if.merge.608 -if.then.561: ; preds = %entry - ret { ptr, i64 } { ptr @str.773, i64 4 } +if.then.607: ; preds = %entry + ret { ptr, i64 } { ptr @str.869, i64 4 } -if.merge.562: ; preds = %entry +if.merge.608: ; 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 @@ -8325,12 +9230,12 @@ entry: %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.563, label %if.merge.564 + br i1 %lnot, label %if.then.609, label %if.merge.610 -if.then.563: ; preds = %entry - ret { ptr, i64 } { ptr @str.774, i64 4 } +if.then.609: ; preds = %entry + ret { ptr, i64 } { ptr @str.870, i64 4 } -if.merge.564: ; preds = %entry +if.merge.610: ; 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 @@ -8348,12 +9253,12 @@ entry: %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.565, label %if.merge.566 + br i1 %lnot, label %if.then.611, label %if.merge.612 -if.then.565: ; preds = %entry - ret { ptr, i64 } { ptr @str.775, i64 4 } +if.then.611: ; preds = %entry + ret { ptr, i64 } { ptr @str.871, i64 4 } -if.merge.566: ; preds = %entry +if.merge.612: ; 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 @@ -8370,12 +9275,12 @@ entry: %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.567, label %if.merge.568 + br i1 %lnot, label %if.then.613, label %if.merge.614 -if.then.567: ; preds = %entry - ret { ptr, i64 } { ptr @str.776, i64 4 } +if.then.613: ; preds = %entry + ret { ptr, i64 } { ptr @str.872, i64 4 } -if.merge.568: ; preds = %entry +if.merge.614: ; 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 @@ -8394,12 +9299,12 @@ entry: %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.569, label %if.merge.570 + br i1 %lnot, label %if.then.615, label %if.merge.616 -if.then.569: ; preds = %entry - ret { ptr, i64 } { ptr @str.777, i64 4 } +if.then.615: ; preds = %entry + ret { ptr, i64 } { ptr @str.873, i64 4 } -if.merge.570: ; preds = %entry +if.merge.616: ; 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 diff --git a/examples/expected/1202-ffi-cc-c-large-aggregate.ir b/examples/expected/1202-ffi-cc-c-large-aggregate.ir index 53e111f..73981b3 100644 --- a/examples/expected/1202-ffi-cc-c-large-aggregate.ir +++ b/examples/expected/1202-ffi-cc-c-large-aggregate.ir @@ -887,6 +887,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i64 @accept_c(ptr %0) #0 { entry: diff --git a/examples/expected/1309-ffi-objc-class-method-lowering.ir b/examples/expected/1309-ffi-objc-class-method-lowering.ir index 2566e48..5828b80 100644 --- a/examples/expected/1309-ffi-objc-class-method-lowering.ir +++ b/examples/expected/1309-ffi-objc-class-method-lowering.ir @@ -1379,6 +1379,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 diff --git a/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir b/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir index d19ea93..1fb96ff 100644 --- a/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir +++ b/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir @@ -1395,6 +1395,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 diff --git a/examples/expected/1319-ffi-objc-property-sx-defined.ir b/examples/expected/1319-ffi-objc-property-sx-defined.ir index 22091c5..cd6eecc 100644 --- a/examples/expected/1319-ffi-objc-property-sx-defined.ir +++ b/examples/expected/1319-ffi-objc-property-sx-defined.ir @@ -17,7 +17,7 @@ @str.117 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.118 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.119 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [200 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] +@__sx_type_is_unsigned = private constant [218 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.120 = private constant [11 x i8] c"WouldBlock\00" @tag.str.121 = private constant [7 x i8] c"Closed\00" @@ -38,484 +38,484 @@ @tag.str.136 = private constant [5 x i8] c"Init\00" @tag.str.137 = private constant [9 x i8] c"Register\00" @tag.str.138 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.120, i64 10 }, { ptr, i64 } { ptr @tag.str.121, i64 6 }, { ptr, i64 } { ptr @tag.str.122, i64 5 }, { ptr, i64 } { ptr @tag.str.123, i64 8 }, { ptr, i64 } { ptr @tag.str.124, i64 2 }, { ptr, i64 } { ptr @tag.str.125, i64 15 }, { ptr, i64 } { ptr @tag.str.126, i64 13 }, { ptr, i64 } { ptr @tag.str.127, i64 9 }, { ptr, i64 } { ptr @tag.str.128, i64 9 }, { ptr, i64 } { ptr @tag.str.129, i64 15 }, { ptr, i64 } { ptr @tag.str.130, i64 14 }, { ptr, i64 } { ptr @tag.str.131, i64 14 }, { ptr, i64 } { ptr @tag.str.132, i64 11 }, { ptr, i64 } { ptr @tag.str.133, i64 12 }, { ptr, i64 } { ptr @tag.str.134, i64 15 }, { ptr, i64 } { ptr @tag.str.135, i64 12 }, { ptr, i64 } { ptr @tag.str.136, i64 4 }, { ptr, i64 } { ptr @tag.str.137, i64 8 }, { ptr, i64 } { ptr @tag.str.138, i64 4 }] +@tag.str.139 = private constant [5 x i8] c"Bind\00" +@tag.str.140 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.120, i64 10 }, { ptr, i64 } { ptr @tag.str.121, i64 6 }, { ptr, i64 } { ptr @tag.str.122, i64 5 }, { ptr, i64 } { ptr @tag.str.123, i64 8 }, { ptr, i64 } { ptr @tag.str.124, i64 2 }, { ptr, i64 } { ptr @tag.str.125, i64 15 }, { ptr, i64 } { ptr @tag.str.126, i64 13 }, { ptr, i64 } { ptr @tag.str.127, i64 9 }, { ptr, i64 } { ptr @tag.str.128, i64 9 }, { ptr, i64 } { ptr @tag.str.129, i64 15 }, { ptr, i64 } { ptr @tag.str.130, i64 14 }, { ptr, i64 } { ptr @tag.str.131, i64 14 }, { ptr, i64 } { ptr @tag.str.132, i64 11 }, { ptr, i64 } { ptr @tag.str.133, i64 12 }, { ptr, i64 } { ptr @tag.str.134, i64 15 }, { ptr, i64 } { ptr @tag.str.135, i64 12 }, { ptr, i64 } { ptr @tag.str.136, i64 4 }, { ptr, i64 } { ptr @tag.str.137, i64 8 }, { ptr, i64 } { ptr @tag.str.138, i64 4 }, { ptr, i64 } { ptr @tag.str.139, i64 4 }, { ptr, i64 } { ptr @tag.str.140, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.139 = private constant [5 x i8] c"bool\00" -@tn.str.140 = private constant [3 x i8] c"i8\00" -@tn.str.141 = private constant [4 x i8] c"i16\00" -@tn.str.142 = private constant [4 x i8] c"i32\00" -@tn.str.143 = private constant [4 x i8] c"i64\00" -@tn.str.144 = private constant [3 x i8] c"u8\00" -@tn.str.145 = private constant [4 x i8] c"u16\00" -@tn.str.146 = private constant [4 x i8] c"u32\00" -@tn.str.147 = private constant [4 x i8] c"u64\00" -@tn.str.148 = private constant [4 x i8] c"f32\00" -@tn.str.149 = private constant [4 x i8] c"f64\00" -@tn.str.150 = private constant [7 x i8] c"string\00" -@tn.str.151 = private constant [4 x i8] c"Any\00" -@tn.str.152 = private constant [9 x i8] c"noreturn\00" -@tn.str.153 = private constant [6 x i8] c"isize\00" -@tn.str.154 = private constant [6 x i8] c"usize\00" -@tn.str.155 = private constant [5 x i8] c"void\00" -@tn.str.156 = private constant [8 x i8] c"cstring\00" -@tn.str.157 = private constant [6 x i8] c"*void\00" -@tn.str.158 = private constant [16 x i8] c"Source_Location\00" -@tn.str.159 = private constant [10 x i8] c"Allocator\00" -@tn.str.160 = private constant [8 x i8] c"Context\00" -@tn.str.161 = private constant [7 x i8] c"[4]i64\00" -@tn.str.162 = private constant [9 x i8] c"[]string\00" -@tn.str.163 = private constant [11 x i8] c"CAllocator\00" -@tn.str.164 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.165 = private constant [4 x i8] c"GPA\00" -@tn.str.166 = private constant [5 x i8] c"*GPA\00" -@tn.str.167 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.168 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.169 = private constant [6 x i8] c"Arena\00" -@tn.str.170 = private constant [7 x i8] c"*Arena\00" -@tn.str.171 = private constant [6 x i8] c"[*]u8\00" -@tn.str.172 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.173 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.174 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.175 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.176 = private constant [9 x i8] c"OpenMode\00" -@tn.str.177 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.178 = private constant [5 x i8] c"File\00" -@tn.str.179 = private constant [6 x i8] c"*File\00" -@tn.str.180 = private constant [6 x i8] c"?File\00" -@tn.str.181 = private constant [8 x i8] c"?string\00" -@tn.str.182 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.183 = private constant [9 x i8] c"?cstring\00" -@tn.str.184 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.185 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.186 = private constant [5 x i8] c"*i32\00" -@tn.str.187 = private constant [9 x i8] c"SockAddr\00" -@tn.str.188 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.189 = private constant [5 x i8] c"*u32\00" -@tn.str.190 = private constant [8 x i8] c"SockErr\00" -@tn.str.191 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.192 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.193 = private constant [10 x i8] c"JsonError\00" -@tn.str.194 = private constant [6 x i8] c"Array\00" -@tn.str.195 = private constant [7 x i8] c"Object\00" -@tn.str.196 = private constant [6 x i8] c"Value\00" -@tn.str.197 = private constant [7 x i8] c"Member\00" -@tn.str.198 = private constant [9 x i8] c"[*]Value\00" -@tn.str.199 = private constant [7 x i8] c"*Array\00" -@tn.str.200 = private constant [10 x i8] c"[*]Member\00" -@tn.str.201 = private constant [8 x i8] c"*Object\00" -@tn.str.202 = private constant [5 x i8] c"[]u8\00" -@tn.str.203 = private constant [5 x i8] c"Sink\00" -@tn.str.204 = private constant [6 x i8] c"*Sink\00" -@tn.str.205 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.206 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.207 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.208 = private constant [7 x i8] c"Parser\00" -@tn.str.209 = private constant [8 x i8] c"*Parser\00" -@tn.str.210 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.211 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.212 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.213 = private constant [13 x i8] c"Architecture\00" -@tn.str.214 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.215 = private constant [11 x i8] c"() -> bool\00" -@tn.str.216 = private constant [5 x i8] c"*i64\00" -@tn.str.217 = private constant [9 x i8] c"CliError\00" -@tn.str.218 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.219 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.220 = private constant [8 x i8] c"Command\00" -@tn.str.221 = private constant [10 x i8] c"FlagValue\00" -@tn.str.222 = private constant [5 x i8] c"Diag\00" -@tn.str.223 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.224 = private constant [7 x i8] c"Parsed\00" -@tn.str.225 = private constant [8 x i8] c"*Parsed\00" -@tn.str.226 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.227 = private constant [10 x i8] c"[]Command\00" -@tn.str.228 = private constant [6 x i8] c"*Diag\00" -@tn.str.229 = private constant [7 x i8] c"[8]i64\00" -@tn.str.230 = private constant [7 x i8] c"[64]u8\00" -@tn.str.231 = private constant [7 x i8] c"Sha256\00" -@tn.str.232 = private constant [8 x i8] c"*Sha256\00" -@tn.str.233 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.234 = private constant [8 x i8] c"[64]i64\00" -@tn.str.235 = private constant [9 x i8] c"Timespec\00" -@tn.str.236 = private constant [10 x i8] c"*Timespec\00" -@tn.str.237 = private constant [7 x i8] c"Kevent\00" -@tn.str.238 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.239 = private constant [8 x i8] c"*Kevent\00" -@tn.str.240 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.241 = private constant [9 x i8] c"EventErr\00" -@tn.str.242 = private constant [6 x i8] c"Event\00" -@tn.str.243 = private constant [5 x i8] c"Loop\00" -@tn.str.244 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.245 = private constant [6 x i8] c"*Loop\00" -@tn.str.246 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.247 = private constant [8 x i8] c"[]Event\00" -@tn.str.248 = private constant [9 x i8] c"NSString\00" -@tn.str.249 = private constant [10 x i8] c"*NSString\00" -@tn.str.250 = private constant [10 x i8] c"Closure()\00" -@tn.str.251 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.252 = private constant [7 x i8] c"**void\00" -@tn.str.253 = private constant [6 x i8] c"SxBox\00" -@tn.str.254 = private constant [7 x i8] c"*SxBox\00" -@tn.str.255 = private constant [13 x i8] c"__SxBoxState\00" -@tn.str.256 = private constant [8 x i8] c"**SxBox\00" -@tn.str.257 = private constant [8 x i8] c"*string\00" -@tn.str.258 = private constant [6 x i8] c"[]Any\00" -@tn.str.259 = private constant [5 x i8] c"*Any\00" -@tn.str.260 = private constant [7 x i8] c"*[]Any\00" -@tn.str.261 = private constant [4 x i8] c"*u8\00" -@tn.str.262 = private constant [6 x i8] c"*bool\00" -@tn.str.263 = private constant [7 x i8] c"[1]Any\00" -@tn.str.264 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.265 = private constant [7 x i8] c"[3]Any\00" -@tn.str.266 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.267 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.268 = private constant [5 x i8] c"*f64\00" -@tn.str.269 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.270 = private constant [11 x i8] c"*Allocator\00" -@tn.str.271 = private constant [9 x i8] c"*Context\00" -@tn.str.272 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.273 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.274 = private constant [8 x i8] c"*Member\00" -@tn.str.275 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.276 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.277 = private constant [9 x i8] c"*Command\00" -@tn.str.278 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.279 = private constant [7 x i8] c"*Event\00" -@tn.str.280 = private constant [14 x i8] c"*__SxBoxState\00" -@tn.str.281 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.282 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.283 = private constant [7 x i8] c"*Value\00" -@tn.str.284 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.285 = private constant [14 x i8] c"*Architecture\00" -@tn.str.286 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.287 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.288 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.289 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.290 = private constant [10 x i8] c"*[]string\00" -@tn.str.291 = private constant [6 x i8] c"*[]u8\00" -@tn.str.292 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.293 = private constant [11 x i8] c"*[]Command\00" -@tn.str.294 = private constant [9 x i8] c"*[]Event\00" -@tn.str.295 = private constant [6 x i8] c"**GPA\00" -@tn.str.296 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.297 = private constant [8 x i8] c"**Arena\00" -@tn.str.298 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.299 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.300 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.301 = private constant [7 x i8] c"**File\00" -@tn.str.302 = private constant [6 x i8] c"**i32\00" -@tn.str.303 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.304 = private constant [6 x i8] c"**u32\00" -@tn.str.305 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.306 = private constant [8 x i8] c"**Array\00" -@tn.str.307 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.308 = private constant [9 x i8] c"**Object\00" -@tn.str.309 = private constant [7 x i8] c"**Sink\00" -@tn.str.310 = private constant [9 x i8] c"**Parser\00" -@tn.str.311 = private constant [6 x i8] c"**i64\00" -@tn.str.312 = private constant [9 x i8] c"**Parsed\00" -@tn.str.313 = private constant [7 x i8] c"**Diag\00" -@tn.str.314 = private constant [9 x i8] c"**Sha256\00" -@tn.str.315 = private constant [11 x i8] c"**Timespec\00" -@tn.str.316 = private constant [9 x i8] c"**Kevent\00" -@tn.str.317 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.318 = private constant [7 x i8] c"**Loop\00" -@tn.str.319 = private constant [11 x i8] c"**NSString\00" -@tn.str.320 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.321 = private constant [8 x i8] c"***void\00" -@tn.str.322 = private constant [9 x i8] c"***SxBox\00" -@tn.str.323 = private constant [9 x i8] c"**string\00" -@tn.str.324 = private constant [6 x i8] c"**Any\00" -@tn.str.325 = private constant [8 x i8] c"**[]Any\00" -@tn.str.326 = private constant [5 x i8] c"**u8\00" -@tn.str.327 = private constant [7 x i8] c"**bool\00" -@tn.str.328 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.329 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.330 = private constant [7 x i8] c"*?File\00" -@tn.str.331 = private constant [9 x i8] c"*?string\00" -@tn.str.332 = private constant [10 x i8] c"*?cstring\00" -@tn.str.333 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.334 = private constant [9 x i8] c"*?[64]u8\00" -@tn.str.335 = private constant [16 x i8] c"__sx_objc_super\00" -@tn.str.336 = private constant [17 x i8] c"*__sx_objc_super\00" -@tn.str.337 = private constant [6 x i8] c"[8]u8\00" -@__sx_type_names = private constant [200 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.139, i64 4 }, { ptr, i64 } { ptr @tn.str.140, i64 2 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 3 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 2 }, { ptr, i64 } { ptr @tn.str.145, i64 3 }, { ptr, i64 } { ptr @tn.str.146, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.151, i64 3 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 5 }, { ptr, i64 } { ptr @tn.str.154, i64 5 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 7 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 15 }, { ptr, i64 } { ptr @tn.str.159, i64 9 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 8 }, { ptr, i64 } { ptr @tn.str.163, i64 10 }, { ptr, i64 } { ptr @tn.str.164, i64 11 }, { ptr, i64 } { ptr @tn.str.165, i64 3 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 11 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 6 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 17 }, { ptr, i64 } { ptr @tn.str.175, i64 18 }, { ptr, i64 } { ptr @tn.str.176, i64 8 }, { ptr, i64 } { ptr @tn.str.177, i64 8 }, { ptr, i64 } { ptr @tn.str.178, i64 4 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 7 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 13 }, { ptr, i64 } { ptr @tn.str.185, i64 14 }, { ptr, i64 } { ptr @tn.str.186, i64 4 }, { ptr, i64 } { ptr @tn.str.187, i64 8 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 14 }, { ptr, i64 } { ptr @tn.str.192, i64 14 }, { ptr, i64 } { ptr @tn.str.193, i64 9 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 9 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 4 }, { ptr, i64 } { ptr @tn.str.204, i64 5 }, { ptr, i64 } { ptr @tn.str.205, i64 16 }, { ptr, i64 } { ptr @tn.str.206, i64 14 }, { ptr, i64 } { ptr @tn.str.207, i64 21 }, { ptr, i64 } { ptr @tn.str.208, i64 6 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 24 }, { ptr, i64 } { ptr @tn.str.211, i64 23 }, { ptr, i64 } { ptr @tn.str.212, i64 15 }, { ptr, i64 } { ptr @tn.str.213, i64 12 }, { ptr, i64 } { ptr @tn.str.214, i64 12 }, { ptr, i64 } { ptr @tn.str.215, i64 10 }, { ptr, i64 } { ptr @tn.str.216, i64 4 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 4 }, { ptr, i64 } { ptr @tn.str.223, i64 13 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 18 }, { ptr, i64 } { ptr @tn.str.227, i64 9 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 11 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 4 }, { ptr, i64 } { ptr @tn.str.244, i64 16 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 15 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 9 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 12 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 5 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 12 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 4 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 3 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 7 }, { ptr, i64 } { ptr @tn.str.267, i64 7 }, { ptr, i64 } { ptr @tn.str.268, i64 4 }, { ptr, i64 } { ptr @tn.str.269, i64 16 }, { ptr, i64 } { ptr @tn.str.270, i64 10 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 11 }, { ptr, i64 } { ptr @tn.str.273, i64 14 }, { ptr, i64 } { ptr @tn.str.274, i64 7 }, { ptr, i64 } { ptr @tn.str.275, i64 13 }, { ptr, i64 } { ptr @tn.str.276, i64 9 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 10 }, { ptr, i64 } { ptr @tn.str.279, i64 6 }, { ptr, i64 } { ptr @tn.str.280, i64 13 }, { ptr, i64 } { ptr @tn.str.281, i64 9 }, { ptr, i64 } { ptr @tn.str.282, i64 9 }, { ptr, i64 } { ptr @tn.str.283, i64 6 }, { ptr, i64 } { ptr @tn.str.284, i64 16 }, { ptr, i64 } { ptr @tn.str.285, i64 13 }, { ptr, i64 } { ptr @tn.str.286, i64 14 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 7 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 9 }, { ptr, i64 } { ptr @tn.str.291, i64 5 }, { ptr, i64 } { ptr @tn.str.292, i64 11 }, { ptr, i64 } { ptr @tn.str.293, i64 10 }, { ptr, i64 } { ptr @tn.str.294, i64 8 }, { ptr, i64 } { ptr @tn.str.295, i64 5 }, { ptr, i64 } { ptr @tn.str.296, i64 12 }, { ptr, i64 } { ptr @tn.str.297, i64 7 }, { ptr, i64 } { ptr @tn.str.298, i64 6 }, { ptr, i64 } { ptr @tn.str.299, i64 10 }, { ptr, i64 } { ptr @tn.str.300, i64 19 }, { ptr, i64 } { ptr @tn.str.301, i64 6 }, { ptr, i64 } { ptr @tn.str.302, i64 5 }, { ptr, i64 } { ptr @tn.str.303, i64 10 }, { ptr, i64 } { ptr @tn.str.304, i64 5 }, { ptr, i64 } { ptr @tn.str.305, i64 9 }, { ptr, i64 } { ptr @tn.str.306, i64 7 }, { ptr, i64 } { ptr @tn.str.307, i64 10 }, { ptr, i64 } { ptr @tn.str.308, i64 8 }, { ptr, i64 } { ptr @tn.str.309, i64 6 }, { ptr, i64 } { ptr @tn.str.310, i64 8 }, { ptr, i64 } { ptr @tn.str.311, i64 5 }, { ptr, i64 } { ptr @tn.str.312, i64 8 }, { ptr, i64 } { ptr @tn.str.313, i64 6 }, { ptr, i64 } { ptr @tn.str.314, i64 8 }, { ptr, i64 } { ptr @tn.str.315, i64 10 }, { ptr, i64 } { ptr @tn.str.316, i64 8 }, { ptr, i64 } { ptr @tn.str.317, i64 12 }, { ptr, i64 } { ptr @tn.str.318, i64 6 }, { ptr, i64 } { ptr @tn.str.319, i64 10 }, { ptr, i64 } { ptr @tn.str.320, i64 13 }, { ptr, i64 } { ptr @tn.str.321, i64 7 }, { ptr, i64 } { ptr @tn.str.322, i64 8 }, { ptr, i64 } { ptr @tn.str.323, i64 8 }, { ptr, i64 } { ptr @tn.str.324, i64 5 }, { ptr, i64 } { ptr @tn.str.325, i64 7 }, { ptr, i64 } { ptr @tn.str.326, i64 4 }, { ptr, i64 } { ptr @tn.str.327, i64 6 }, { ptr, i64 } { ptr @tn.str.328, i64 8 }, { ptr, i64 } { ptr @tn.str.329, i64 8 }, { ptr, i64 } { ptr @tn.str.330, i64 6 }, { ptr, i64 } { ptr @tn.str.331, i64 8 }, { ptr, i64 } { ptr @tn.str.332, i64 9 }, { ptr, i64 } { ptr @tn.str.333, i64 15 }, { ptr, i64 } { ptr @tn.str.334, i64 8 }, { ptr, i64 } { ptr @tn.str.335, i64 15 }, { ptr, i64 } { ptr @tn.str.336, i64 16 }, { ptr, i64 } { ptr @tn.str.337, i64 5 }] -@str.338 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.339 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.340 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.341 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.342 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.343 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.344 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.345 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.346 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.347 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.348 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.349 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.350 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.351 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.352 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.353 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.354 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.355 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.356 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.357 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.358 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.359 = private unnamed_addr constant [6 x i8] c"SxBox\00", align 1 -@str.360 = private unnamed_addr constant [9 x i8] c"setArea:\00", align 1 -@str.361 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 +@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 [6 x i8] c"*void\00" +@tn.str.160 = private constant [16 x i8] c"Source_Location\00" +@tn.str.161 = private constant [10 x i8] c"Allocator\00" +@tn.str.162 = private constant [8 x i8] c"Context\00" +@tn.str.163 = private constant [7 x i8] c"[4]i64\00" +@tn.str.164 = private constant [9 x i8] c"[]string\00" +@tn.str.165 = private constant [11 x i8] c"CAllocator\00" +@tn.str.166 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.167 = private constant [4 x i8] c"GPA\00" +@tn.str.168 = private constant [5 x i8] c"*GPA\00" +@tn.str.169 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.170 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.171 = private constant [6 x i8] c"Arena\00" +@tn.str.172 = private constant [7 x i8] c"*Arena\00" +@tn.str.173 = private constant [6 x i8] c"[*]u8\00" +@tn.str.174 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.175 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.176 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.177 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.178 = private constant [9 x i8] c"OpenMode\00" +@tn.str.179 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.180 = private constant [5 x i8] c"File\00" +@tn.str.181 = private constant [6 x i8] c"*File\00" +@tn.str.182 = private constant [6 x i8] c"?File\00" +@tn.str.183 = private constant [8 x i8] c"?string\00" +@tn.str.184 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.185 = private constant [9 x i8] c"?cstring\00" +@tn.str.186 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.187 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.188 = private constant [5 x i8] c"*i32\00" +@tn.str.189 = private constant [9 x i8] c"SockAddr\00" +@tn.str.190 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.191 = private constant [5 x i8] c"*u32\00" +@tn.str.192 = private constant [8 x i8] c"SockErr\00" +@tn.str.193 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.194 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.195 = private constant [10 x i8] c"JsonError\00" +@tn.str.196 = private constant [6 x i8] c"Array\00" +@tn.str.197 = private constant [7 x i8] c"Object\00" +@tn.str.198 = private constant [6 x i8] c"Value\00" +@tn.str.199 = private constant [7 x i8] c"Member\00" +@tn.str.200 = private constant [9 x i8] c"[*]Value\00" +@tn.str.201 = private constant [7 x i8] c"*Array\00" +@tn.str.202 = private constant [10 x i8] c"[*]Member\00" +@tn.str.203 = private constant [8 x i8] c"*Object\00" +@tn.str.204 = private constant [5 x i8] c"[]u8\00" +@tn.str.205 = private constant [5 x i8] c"Sink\00" +@tn.str.206 = private constant [6 x i8] c"*Sink\00" +@tn.str.207 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.208 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.209 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.210 = private constant [7 x i8] c"Parser\00" +@tn.str.211 = private constant [8 x i8] c"*Parser\00" +@tn.str.212 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.213 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.214 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.215 = private constant [13 x i8] c"Architecture\00" +@tn.str.216 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.217 = private constant [11 x i8] c"() -> bool\00" +@tn.str.218 = private constant [5 x i8] c"*i64\00" +@tn.str.219 = private constant [9 x i8] c"CliError\00" +@tn.str.220 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.221 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.222 = private constant [8 x i8] c"Command\00" +@tn.str.223 = private constant [10 x i8] c"FlagValue\00" +@tn.str.224 = private constant [5 x i8] c"Diag\00" +@tn.str.225 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.226 = private constant [7 x i8] c"Parsed\00" +@tn.str.227 = private constant [8 x i8] c"*Parsed\00" +@tn.str.228 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.229 = private constant [10 x i8] c"[]Command\00" +@tn.str.230 = private constant [6 x i8] c"*Diag\00" +@tn.str.231 = private constant [7 x i8] c"[8]i64\00" +@tn.str.232 = private constant [7 x i8] c"[64]u8\00" +@tn.str.233 = private constant [7 x i8] c"Sha256\00" +@tn.str.234 = private constant [8 x i8] c"*Sha256\00" +@tn.str.235 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.236 = private constant [8 x i8] c"[64]i64\00" +@tn.str.237 = private constant [9 x i8] c"Timespec\00" +@tn.str.238 = private constant [10 x i8] c"*Timespec\00" +@tn.str.239 = private constant [7 x i8] c"Kevent\00" +@tn.str.240 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.241 = private constant [8 x i8] c"*Kevent\00" +@tn.str.242 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.243 = private constant [9 x i8] c"EventErr\00" +@tn.str.244 = private constant [6 x i8] c"Event\00" +@tn.str.245 = private constant [5 x i8] c"Loop\00" +@tn.str.246 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.247 = private constant [6 x i8] c"*Loop\00" +@tn.str.248 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.249 = private constant [8 x i8] c"[]Event\00" +@tn.str.250 = private constant [8 x i8] c"HttpErr\00" +@tn.str.251 = private constant [7 x i8] c"Config\00" +@tn.str.252 = private constant [8 x i8] c"Request\00" +@tn.str.253 = private constant [9 x i8] c"Response\00" +@tn.str.254 = private constant [9 x i8] c"*Request\00" +@tn.str.255 = private constant [5 x i8] c"Conn\00" +@tn.str.256 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.257 = private constant [10 x i8] c"*Response\00" +@tn.str.258 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.259 = private constant [7 x i8] c"Server\00" +@tn.str.260 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.261 = private constant [8 x i8] c"*Server\00" +@tn.str.262 = private constant [9 x i8] c"NSString\00" +@tn.str.263 = private constant [10 x i8] c"*NSString\00" +@tn.str.264 = private constant [10 x i8] c"Closure()\00" +@tn.str.265 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.266 = private constant [7 x i8] c"**void\00" +@tn.str.267 = private constant [6 x i8] c"SxBox\00" +@tn.str.268 = private constant [7 x i8] c"*SxBox\00" +@tn.str.269 = private constant [13 x i8] c"__SxBoxState\00" +@tn.str.270 = private constant [8 x i8] c"**SxBox\00" +@tn.str.271 = private constant [8 x i8] c"*string\00" +@tn.str.272 = private constant [6 x i8] c"[]Any\00" +@tn.str.273 = private constant [5 x i8] c"*Any\00" +@tn.str.274 = private constant [7 x i8] c"*[]Any\00" +@tn.str.275 = private constant [4 x i8] c"*u8\00" +@tn.str.276 = private constant [6 x i8] c"*bool\00" +@tn.str.277 = private constant [7 x i8] c"[1]Any\00" +@tn.str.278 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.279 = private constant [7 x i8] c"[3]Any\00" +@tn.str.280 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.281 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.282 = private constant [5 x i8] c"*f64\00" +@tn.str.283 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.284 = private constant [11 x i8] c"*Allocator\00" +@tn.str.285 = private constant [9 x i8] c"*Context\00" +@tn.str.286 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.287 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.288 = private constant [8 x i8] c"*Member\00" +@tn.str.289 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.290 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.291 = private constant [9 x i8] c"*Command\00" +@tn.str.292 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.293 = private constant [7 x i8] c"*Event\00" +@tn.str.294 = private constant [8 x i8] c"*Config\00" +@tn.str.295 = private constant [6 x i8] c"*Conn\00" +@tn.str.296 = private constant [14 x i8] c"*__SxBoxState\00" +@tn.str.297 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.298 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.299 = private constant [7 x i8] c"*Value\00" +@tn.str.300 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.301 = private constant [14 x i8] c"*Architecture\00" +@tn.str.302 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.303 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.304 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.305 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.306 = private constant [10 x i8] c"*[]string\00" +@tn.str.307 = private constant [6 x i8] c"*[]u8\00" +@tn.str.308 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.309 = private constant [11 x i8] c"*[]Command\00" +@tn.str.310 = private constant [9 x i8] c"*[]Event\00" +@tn.str.311 = private constant [6 x i8] c"**GPA\00" +@tn.str.312 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.313 = private constant [8 x i8] c"**Arena\00" +@tn.str.314 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.315 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.316 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.317 = private constant [7 x i8] c"**File\00" +@tn.str.318 = private constant [6 x i8] c"**i32\00" +@tn.str.319 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.320 = private constant [6 x i8] c"**u32\00" +@tn.str.321 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.322 = private constant [8 x i8] c"**Array\00" +@tn.str.323 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.324 = private constant [9 x i8] c"**Object\00" +@tn.str.325 = private constant [7 x i8] c"**Sink\00" +@tn.str.326 = private constant [9 x i8] c"**Parser\00" +@tn.str.327 = private constant [6 x i8] c"**i64\00" +@tn.str.328 = private constant [9 x i8] c"**Parsed\00" +@tn.str.329 = private constant [7 x i8] c"**Diag\00" +@tn.str.330 = private constant [9 x i8] c"**Sha256\00" +@tn.str.331 = private constant [11 x i8] c"**Timespec\00" +@tn.str.332 = private constant [9 x i8] c"**Kevent\00" +@tn.str.333 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.334 = private constant [7 x i8] c"**Loop\00" +@tn.str.335 = private constant [10 x i8] c"**Request\00" +@tn.str.336 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.337 = private constant [11 x i8] c"**Response\00" +@tn.str.338 = private constant [9 x i8] c"**Server\00" +@tn.str.339 = private constant [11 x i8] c"**NSString\00" +@tn.str.340 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.341 = private constant [8 x i8] c"***void\00" +@tn.str.342 = private constant [9 x i8] c"***SxBox\00" +@tn.str.343 = private constant [9 x i8] c"**string\00" +@tn.str.344 = private constant [6 x i8] c"**Any\00" +@tn.str.345 = private constant [8 x i8] c"**[]Any\00" +@tn.str.346 = private constant [5 x i8] c"**u8\00" +@tn.str.347 = private constant [7 x i8] c"**bool\00" +@tn.str.348 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.349 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.350 = private constant [7 x i8] c"*?File\00" +@tn.str.351 = private constant [9 x i8] c"*?string\00" +@tn.str.352 = private constant [10 x i8] c"*?cstring\00" +@tn.str.353 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.354 = private constant [9 x i8] c"*?[64]u8\00" +@tn.str.355 = private constant [16 x i8] c"__sx_objc_super\00" +@tn.str.356 = private constant [17 x i8] c"*__sx_objc_super\00" +@tn.str.357 = private constant [6 x i8] c"[8]u8\00" +@__sx_type_names = private constant [218 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 5 }, { ptr, i64 } { ptr @tn.str.160, i64 15 }, { ptr, i64 } { ptr @tn.str.161, i64 9 }, { ptr, i64 } { ptr @tn.str.162, i64 7 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 8 }, { ptr, i64 } { ptr @tn.str.165, i64 10 }, { ptr, i64 } { ptr @tn.str.166, i64 11 }, { ptr, i64 } { ptr @tn.str.167, i64 3 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 10 }, { ptr, i64 } { ptr @tn.str.170, i64 11 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 6 }, { ptr, i64 } { ptr @tn.str.173, i64 5 }, { ptr, i64 } { ptr @tn.str.174, i64 8 }, { ptr, i64 } { ptr @tn.str.175, i64 9 }, { ptr, i64 } { ptr @tn.str.176, i64 17 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 8 }, { ptr, i64 } { ptr @tn.str.179, i64 8 }, { ptr, i64 } { ptr @tn.str.180, i64 4 }, { ptr, i64 } { ptr @tn.str.181, i64 5 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 8 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 14 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 8 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 14 }, { ptr, i64 } { ptr @tn.str.194, i64 14 }, { ptr, i64 } { ptr @tn.str.195, i64 9 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 9 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 4 }, { ptr, i64 } { ptr @tn.str.206, i64 5 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 14 }, { ptr, i64 } { ptr @tn.str.209, i64 21 }, { ptr, i64 } { ptr @tn.str.210, i64 6 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 24 }, { ptr, i64 } { ptr @tn.str.213, i64 23 }, { ptr, i64 } { ptr @tn.str.214, i64 15 }, { ptr, i64 } { ptr @tn.str.215, i64 12 }, { ptr, i64 } { ptr @tn.str.216, i64 12 }, { ptr, i64 } { ptr @tn.str.217, i64 10 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 8 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 9 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 13 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 18 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 4 }, { ptr, i64 } { ptr @tn.str.246, i64 16 }, { ptr, i64 } { ptr @tn.str.247, i64 5 }, { ptr, i64 } { ptr @tn.str.248, i64 15 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 4 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 21 }, { ptr, i64 } { ptr @tn.str.259, i64 6 }, { ptr, i64 } { ptr @tn.str.260, i64 17 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 12 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 5 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 12 }, { ptr, i64 } { ptr @tn.str.270, i64 7 }, { ptr, i64 } { ptr @tn.str.271, i64 7 }, { ptr, i64 } { ptr @tn.str.272, i64 5 }, { ptr, i64 } { ptr @tn.str.273, i64 4 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 3 }, { ptr, i64 } { ptr @tn.str.276, i64 5 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 7 }, { ptr, i64 } { ptr @tn.str.279, i64 6 }, { ptr, i64 } { ptr @tn.str.280, i64 7 }, { ptr, i64 } { ptr @tn.str.281, i64 7 }, { ptr, i64 } { ptr @tn.str.282, i64 4 }, { ptr, i64 } { ptr @tn.str.283, i64 16 }, { ptr, i64 } { ptr @tn.str.284, i64 10 }, { ptr, i64 } { ptr @tn.str.285, i64 8 }, { ptr, i64 } { ptr @tn.str.286, i64 11 }, { ptr, i64 } { ptr @tn.str.287, i64 14 }, { ptr, i64 } { ptr @tn.str.288, i64 7 }, { ptr, i64 } { ptr @tn.str.289, i64 13 }, { ptr, i64 } { ptr @tn.str.290, i64 9 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 10 }, { ptr, i64 } { ptr @tn.str.293, i64 6 }, { ptr, i64 } { ptr @tn.str.294, i64 7 }, { ptr, i64 } { ptr @tn.str.295, i64 5 }, { ptr, i64 } { ptr @tn.str.296, i64 13 }, { ptr, i64 } { ptr @tn.str.297, i64 9 }, { ptr, i64 } { ptr @tn.str.298, i64 9 }, { ptr, i64 } { ptr @tn.str.299, i64 6 }, { ptr, i64 } { ptr @tn.str.300, i64 16 }, { ptr, i64 } { ptr @tn.str.301, i64 13 }, { ptr, i64 } { ptr @tn.str.302, i64 14 }, { ptr, i64 } { ptr @tn.str.303, i64 7 }, { ptr, i64 } { ptr @tn.str.304, i64 7 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 9 }, { ptr, i64 } { ptr @tn.str.307, i64 5 }, { ptr, i64 } { ptr @tn.str.308, i64 11 }, { ptr, i64 } { ptr @tn.str.309, i64 10 }, { ptr, i64 } { ptr @tn.str.310, i64 8 }, { ptr, i64 } { ptr @tn.str.311, i64 5 }, { ptr, i64 } { ptr @tn.str.312, i64 12 }, { ptr, i64 } { ptr @tn.str.313, i64 7 }, { ptr, i64 } { ptr @tn.str.314, i64 6 }, { ptr, i64 } { ptr @tn.str.315, i64 10 }, { ptr, i64 } { ptr @tn.str.316, i64 19 }, { ptr, i64 } { ptr @tn.str.317, i64 6 }, { ptr, i64 } { ptr @tn.str.318, i64 5 }, { ptr, i64 } { ptr @tn.str.319, i64 10 }, { ptr, i64 } { ptr @tn.str.320, i64 5 }, { ptr, i64 } { ptr @tn.str.321, i64 9 }, { ptr, i64 } { ptr @tn.str.322, i64 7 }, { ptr, i64 } { ptr @tn.str.323, i64 10 }, { ptr, i64 } { ptr @tn.str.324, i64 8 }, { ptr, i64 } { ptr @tn.str.325, i64 6 }, { ptr, i64 } { ptr @tn.str.326, i64 8 }, { ptr, i64 } { ptr @tn.str.327, i64 5 }, { ptr, i64 } { ptr @tn.str.328, i64 8 }, { ptr, i64 } { ptr @tn.str.329, i64 6 }, { ptr, i64 } { ptr @tn.str.330, i64 8 }, { ptr, i64 } { ptr @tn.str.331, i64 10 }, { ptr, i64 } { ptr @tn.str.332, i64 8 }, { ptr, i64 } { ptr @tn.str.333, i64 12 }, { ptr, i64 } { ptr @tn.str.334, i64 6 }, { ptr, i64 } { ptr @tn.str.335, i64 9 }, { ptr, i64 } { ptr @tn.str.336, i64 8 }, { ptr, i64 } { ptr @tn.str.337, i64 10 }, { ptr, i64 } { ptr @tn.str.338, i64 8 }, { ptr, i64 } { ptr @tn.str.339, i64 10 }, { ptr, i64 } { ptr @tn.str.340, i64 13 }, { ptr, i64 } { ptr @tn.str.341, i64 7 }, { ptr, i64 } { ptr @tn.str.342, i64 8 }, { ptr, i64 } { ptr @tn.str.343, i64 8 }, { ptr, i64 } { ptr @tn.str.344, i64 5 }, { ptr, i64 } { ptr @tn.str.345, i64 7 }, { ptr, i64 } { ptr @tn.str.346, i64 4 }, { ptr, i64 } { ptr @tn.str.347, i64 6 }, { ptr, i64 } { ptr @tn.str.348, i64 8 }, { ptr, i64 } { ptr @tn.str.349, i64 8 }, { ptr, i64 } { ptr @tn.str.350, i64 6 }, { ptr, i64 } { ptr @tn.str.351, i64 8 }, { ptr, i64 } { ptr @tn.str.352, i64 9 }, { ptr, i64 } { ptr @tn.str.353, i64 15 }, { ptr, i64 } { ptr @tn.str.354, i64 8 }, { ptr, i64 } { ptr @tn.str.355, i64 15 }, { ptr, i64 } { ptr @tn.str.356, i64 16 }, { ptr, i64 } { ptr @tn.str.357, i64 5 }] +@str.358 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.359 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.360 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.361 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.362 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.363 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 -@str.364 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 -@str.365 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.366 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 -@str.367 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 -@str.368 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.369 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 -@str.370 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 -@str.371 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.372 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 -@str.373 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.374 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.375 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.376 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.363 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.364 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.365 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.367 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.368 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.369 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.370 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.371 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.372 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.373 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.375 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.376 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.377 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.378 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.379 = private unnamed_addr constant [6 x i8] c"SxBox\00", align 1 +@str.380 = private unnamed_addr constant [9 x i8] c"setArea:\00", align 1 +@str.381 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 +@str.382 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.383 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 +@str.384 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 +@str.385 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.386 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 +@str.387 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 +@str.388 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.389 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 +@str.390 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 +@str.391 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.392 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 +@str.393 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.394 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.395 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.396 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.377 = private constant [5 x i8] c"line\00" -@fld.str.378 = private constant [4 x i8] c"col\00" -@fld.str.379 = 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.377, i64 4 }, { ptr, i64 } { ptr @fld.str.378, i64 3 }, { ptr, i64 } { ptr @fld.str.379, i64 4 }] -@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.381 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.383 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.384 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.385 = private constant [4 x i8] c"ctx\00" -@fld.str.386 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.387 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.388 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 3 }, { ptr, i64 } { ptr @fld.str.386, i64 11 }, { ptr, i64 } { ptr @fld.str.387, i64 13 }] -@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.390 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.391 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.392 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.393 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.394 = private constant [10 x i8] c"allocator\00" -@fld.str.395 = private constant [5 x i8] c"data\00" -@field_names.396 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.394, i64 9 }, { ptr, i64 } { ptr @fld.str.395, i64 4 }] -@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.398 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.399 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.400 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.401 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.402 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.405 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.406 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.407 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.408 = private constant [12 x i8] c"alloc_count\00" -@field_names.409 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 11 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.412 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.413 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.414 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.415 = private constant [5 x i8] c"next\00" -@fld.str.416 = private constant [4 x i8] c"cap\00" -@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 4 }, { ptr, i64 } { ptr @fld.str.416, i64 3 }] -@str.418 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.419 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.421 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.422 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.423 = private constant [6 x i8] c"first\00" -@fld.str.424 = private constant [10 x i8] c"end_index\00" -@fld.str.425 = private constant [7 x i8] c"parent\00" -@field_names.426 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 5 }, { ptr, i64 } { ptr @fld.str.424, i64 9 }, { ptr, i64 } { ptr @fld.str.425, i64 6 }] -@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.428 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.429 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.430 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.431 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.432 = private constant [4 x i8] c"buf\00" -@fld.str.433 = private constant [4 x i8] c"len\00" -@fld.str.434 = private constant [4 x i8] c"pos\00" -@field_names.435 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.432, i64 3 }, { ptr, i64 } { ptr @fld.str.433, i64 3 }, { ptr, i64 } { ptr @fld.str.434, i64 3 }] -@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.441 = private constant [7 x i8] c"parent\00" -@fld.str.442 = private constant [12 x i8] c"alloc_count\00" -@fld.str.443 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.444 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.445 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 6 }, { ptr, i64 } { ptr @fld.str.442, i64 11 }, { ptr, i64 } { ptr @fld.str.443, i64 13 }, { ptr, i64 } { ptr @fld.str.444, i64 17 }] -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.448 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.449 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.450 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.451 = private constant [3 x i8] c"fd\00" -@field_names.452 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 2 }] -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.455 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.457 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.458 = private constant [5 x i8] c"file\00" -@fld.str.459 = private constant [5 x i8] c"line\00" -@fld.str.460 = private constant [4 x i8] c"col\00" -@fld.str.461 = private constant [5 x i8] c"func\00" -@fld.str.462 = private constant [10 x i8] c"line_text\00" -@field_names.463 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 4 }, { ptr, i64 } { ptr @fld.str.459, i64 4 }, { ptr, i64 } { ptr @fld.str.460, i64 3 }, { ptr, i64 } { ptr @fld.str.461, i64 4 }, { ptr, i64 } { ptr @fld.str.462, i64 9 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.466 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.467 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.468 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.469 = private constant [10 x i8] c"exit_code\00" -@fld.str.470 = private constant [7 x i8] c"stdout\00" -@field_names.471 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 9 }, { ptr, i64 } { ptr @fld.str.470, i64 6 }] -@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.473 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.474 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.476 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.477 = private constant [8 x i8] c"sin_len\00" -@fld.str.478 = private constant [11 x i8] c"sin_family\00" -@fld.str.479 = private constant [9 x i8] c"sin_port\00" -@fld.str.480 = private constant [9 x i8] c"sin_addr\00" -@fld.str.481 = private constant [9 x i8] c"sin_zero\00" -@field_names.482 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 7 }, { ptr, i64 } { ptr @fld.str.478, i64 10 }, { ptr, i64 } { ptr @fld.str.479, i64 8 }, { ptr, i64 } { ptr @fld.str.480, i64 8 }, { ptr, i64 } { ptr @fld.str.481, i64 8 }] -@str.483 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.484 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.485 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.486 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.487 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.488 = private constant [6 x i8] c"items\00" -@fld.str.489 = private constant [4 x i8] c"len\00" -@fld.str.490 = private constant [4 x i8] c"cap\00" -@field_names.491 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.488, i64 5 }, { ptr, i64 } { ptr @fld.str.489, i64 3 }, { ptr, i64 } { ptr @fld.str.490, i64 3 }] +@fld.str.397 = private constant [5 x i8] c"line\00" +@fld.str.398 = private constant [4 x i8] c"col\00" +@fld.str.399 = 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.397, i64 4 }, { ptr, i64 } { ptr @fld.str.398, i64 3 }, { ptr, i64 } { ptr @fld.str.399, i64 4 }] +@str.400 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.401 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.403 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.404 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.405 = private constant [4 x i8] c"ctx\00" +@fld.str.406 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.407 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.408 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 3 }, { ptr, i64 } { ptr @fld.str.406, i64 11 }, { ptr, i64 } { ptr @fld.str.407, i64 13 }] +@str.409 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.410 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.411 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.412 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.413 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.414 = private constant [10 x i8] c"allocator\00" +@fld.str.415 = private constant [5 x i8] c"data\00" +@field_names.416 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.414, i64 9 }, { ptr, i64 } { ptr @fld.str.415, i64 4 }] +@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.418 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.422 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.425 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.426 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.427 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.428 = private constant [12 x i8] c"alloc_count\00" +@field_names.429 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 11 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.432 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.433 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.434 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.435 = private constant [5 x i8] c"next\00" +@fld.str.436 = private constant [4 x i8] c"cap\00" +@field_names.437 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 4 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }] +@str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.439 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.440 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.441 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.442 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.443 = private constant [6 x i8] c"first\00" +@fld.str.444 = private constant [10 x i8] c"end_index\00" +@fld.str.445 = private constant [7 x i8] c"parent\00" +@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 5 }, { ptr, i64 } { ptr @fld.str.444, i64 9 }, { ptr, i64 } { ptr @fld.str.445, i64 6 }] +@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.448 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.449 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.450 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.451 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.452 = private constant [4 x i8] c"buf\00" +@fld.str.453 = private constant [4 x i8] c"len\00" +@fld.str.454 = private constant [4 x i8] c"pos\00" +@field_names.455 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 3 }, { ptr, i64 } { ptr @fld.str.453, i64 3 }, { ptr, i64 } { ptr @fld.str.454, i64 3 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.458 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.460 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.461 = private constant [7 x i8] c"parent\00" +@fld.str.462 = private constant [12 x i8] c"alloc_count\00" +@fld.str.463 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.464 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.465 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 6 }, { ptr, i64 } { ptr @fld.str.462, i64 11 }, { ptr, i64 } { ptr @fld.str.463, i64 13 }, { ptr, i64 } { ptr @fld.str.464, i64 17 }] +@str.466 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.467 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.468 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.469 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.470 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.471 = private constant [3 x i8] c"fd\00" +@field_names.472 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.471, i64 2 }] +@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.474 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.478 = private constant [5 x i8] c"file\00" +@fld.str.479 = private constant [5 x i8] c"line\00" +@fld.str.480 = private constant [4 x i8] c"col\00" +@fld.str.481 = private constant [5 x i8] c"func\00" +@fld.str.482 = private constant [10 x i8] c"line_text\00" +@field_names.483 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 4 }, { ptr, i64 } { ptr @fld.str.479, i64 4 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }, { ptr, i64 } { ptr @fld.str.481, i64 4 }, { ptr, i64 } { ptr @fld.str.482, i64 9 }] +@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.485 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.486 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.488 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.489 = private constant [10 x i8] c"exit_code\00" +@fld.str.490 = private constant [7 x i8] c"stdout\00" +@field_names.491 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.489, i64 9 }, { ptr, i64 } { ptr @fld.str.490, i64 6 }] @str.492 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.493 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.493 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.494 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.495 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.496 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.497 = private constant [6 x i8] c"items\00" -@fld.str.498 = private constant [4 x i8] c"len\00" -@fld.str.499 = private constant [4 x i8] c"cap\00" -@field_names.500 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 5 }, { ptr, i64 } { ptr @fld.str.498, i64 3 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }] -@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.502 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.503 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.505 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.506 = private constant [4 x i8] c"key\00" -@fld.str.507 = private constant [4 x i8] c"val\00" -@field_names.508 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 3 }, { ptr, i64 } { ptr @fld.str.507, i64 3 }] -@str.509 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.510 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.512 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.513 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.514 = private constant [4 x i8] c"dst\00" -@fld.str.515 = private constant [4 x i8] c"pos\00" -@fld.str.516 = private constant [5 x i8] c"file\00" -@field_names.517 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.514, i64 3 }, { ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 4 }] -@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.519 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.520 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.521 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.522 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.523 = private constant [4 x i8] c"src\00" -@fld.str.524 = private constant [4 x i8] c"pos\00" -@fld.str.525 = private constant [6 x i8] c"alloc\00" -@field_names.526 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 3 }, { ptr, i64 } { ptr @fld.str.524, i64 3 }, { ptr, i64 } { ptr @fld.str.525, i64 5 }] -@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.528 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.529 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.530 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.531 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.532 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.533 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.534 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.535 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.536 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.538 = private constant [5 x i8] c"name\00" -@fld.str.539 = private constant [12 x i8] c"takes_value\00" -@fld.str.540 = private constant [9 x i8] c"required\00" -@field_names.541 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 4 }, { ptr, i64 } { ptr @fld.str.539, i64 11 }, { ptr, i64 } { ptr @fld.str.540, i64 8 }] -@str.542 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.543 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.544 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.545 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.546 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.547 = private constant [6 x i8] c"group\00" -@fld.str.548 = private constant [8 x i8] c"command\00" -@fld.str.549 = private constant [6 x i8] c"flags\00" -@field_names.550 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.547, i64 5 }, { ptr, i64 } { ptr @fld.str.548, i64 7 }, { ptr, i64 } { ptr @fld.str.549, i64 5 }] -@str.551 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.552 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.553 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.554 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.555 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.556 = private constant [4 x i8] c"set\00" -@fld.str.557 = private constant [6 x i8] c"value\00" -@field_names.558 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.556, i64 3 }, { ptr, i64 } { ptr @fld.str.557, i64 5 }] -@str.559 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.560 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.561 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.562 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.563 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.564 = private constant [6 x i8] c"index\00" -@fld.str.565 = private constant [6 x i8] c"token\00" -@field_names.566 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 5 }] -@str.567 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.568 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.569 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.570 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.571 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.572 = private constant [6 x i8] c"group\00" -@fld.str.573 = private constant [8 x i8] c"command\00" -@fld.str.574 = private constant [10 x i8] c"cmd_index\00" -@fld.str.575 = private constant [5 x i8] c"json\00" -@fld.str.576 = private constant [5 x i8] c"rest\00" -@fld.str.577 = private constant [5 x i8] c"spec\00" -@fld.str.578 = private constant [7 x i8] c"values\00" -@field_names.579 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.572, i64 5 }, { ptr, i64 } { ptr @fld.str.573, i64 7 }, { ptr, i64 } { ptr @fld.str.574, i64 9 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }, { ptr, i64 } { ptr @fld.str.576, i64 4 }, { ptr, i64 } { ptr @fld.str.577, i64 4 }, { ptr, i64 } { ptr @fld.str.578, i64 6 }] -@str.580 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.581 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.582 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.583 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.584 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.585 = private constant [2 x i8] c"h\00" -@fld.str.586 = private constant [4 x i8] c"buf\00" -@fld.str.587 = private constant [8 x i8] c"buf_len\00" -@fld.str.588 = private constant [10 x i8] c"total_len\00" -@field_names.589 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.585, i64 1 }, { ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 7 }, { ptr, i64 } { ptr @fld.str.588, i64 9 }] -@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.591 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.595 = private constant [4 x i8] c"sec\00" -@fld.str.596 = private constant [5 x i8] c"nsec\00" -@field_names.597 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 3 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }] -@str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.599 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.600 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.601 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.602 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.603 = private constant [6 x i8] c"ident\00" -@fld.str.604 = private constant [7 x i8] c"filter\00" -@fld.str.605 = private constant [6 x i8] c"flags\00" -@fld.str.606 = private constant [7 x i8] c"fflags\00" -@fld.str.607 = private constant [5 x i8] c"data\00" -@fld.str.608 = private constant [6 x i8] c"udata\00" -@field_names.609 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }, { ptr, i64 } { ptr @fld.str.605, i64 5 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }, { ptr, i64 } { ptr @fld.str.607, i64 4 }, { ptr, i64 } { ptr @fld.str.608, i64 5 }] +@fld.str.497 = private constant [8 x i8] c"sin_len\00" +@fld.str.498 = private constant [11 x i8] c"sin_family\00" +@fld.str.499 = private constant [9 x i8] c"sin_port\00" +@fld.str.500 = private constant [9 x i8] c"sin_addr\00" +@fld.str.501 = private constant [9 x i8] c"sin_zero\00" +@field_names.502 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 7 }, { ptr, i64 } { ptr @fld.str.498, i64 10 }, { ptr, i64 } { ptr @fld.str.499, i64 8 }, { ptr, i64 } { ptr @fld.str.500, i64 8 }, { ptr, i64 } { ptr @fld.str.501, i64 8 }] +@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.504 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.505 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.506 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.507 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.508 = private constant [6 x i8] c"items\00" +@fld.str.509 = private constant [4 x i8] c"len\00" +@fld.str.510 = private constant [4 x i8] c"cap\00" +@field_names.511 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 5 }, { ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 3 }] +@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.513 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.515 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.516 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.517 = private constant [6 x i8] c"items\00" +@fld.str.518 = private constant [4 x i8] c"len\00" +@fld.str.519 = private constant [4 x i8] c"cap\00" +@field_names.520 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 3 }, { ptr, i64 } { ptr @fld.str.519, i64 3 }] +@str.521 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.522 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.523 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.524 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.525 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.526 = private constant [4 x i8] c"key\00" +@fld.str.527 = private constant [4 x i8] c"val\00" +@field_names.528 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.526, i64 3 }, { ptr, i64 } { ptr @fld.str.527, i64 3 }] +@str.529 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.530 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.531 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.532 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.533 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.534 = private constant [4 x i8] c"dst\00" +@fld.str.535 = private constant [4 x i8] c"pos\00" +@fld.str.536 = private constant [5 x i8] c"file\00" +@field_names.537 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 3 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }] +@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.539 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.540 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.541 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.542 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.543 = private constant [4 x i8] c"src\00" +@fld.str.544 = private constant [4 x i8] c"pos\00" +@fld.str.545 = private constant [6 x i8] c"alloc\00" +@field_names.546 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 3 }, { ptr, i64 } { ptr @fld.str.544, i64 3 }, { ptr, i64 } { ptr @fld.str.545, i64 5 }] +@str.547 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.548 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.549 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.550 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.551 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.552 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.553 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.554 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.555 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.556 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.557 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.558 = private constant [5 x i8] c"name\00" +@fld.str.559 = private constant [12 x i8] c"takes_value\00" +@fld.str.560 = private constant [9 x i8] c"required\00" +@field_names.561 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.558, i64 4 }, { ptr, i64 } { ptr @fld.str.559, i64 11 }, { ptr, i64 } { ptr @fld.str.560, i64 8 }] +@str.562 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.563 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.564 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.565 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.566 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.567 = private constant [6 x i8] c"group\00" +@fld.str.568 = private constant [8 x i8] c"command\00" +@fld.str.569 = private constant [6 x i8] c"flags\00" +@field_names.570 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.567, i64 5 }, { ptr, i64 } { ptr @fld.str.568, i64 7 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }] +@str.571 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.572 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.573 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.574 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.575 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.576 = private constant [4 x i8] c"set\00" +@fld.str.577 = private constant [6 x i8] c"value\00" +@field_names.578 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 5 }] +@str.579 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.580 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.581 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.582 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.583 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.584 = private constant [6 x i8] c"index\00" +@fld.str.585 = private constant [6 x i8] c"token\00" +@field_names.586 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 5 }, { ptr, i64 } { ptr @fld.str.585, i64 5 }] +@str.587 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.588 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.589 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.590 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.591 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.592 = private constant [6 x i8] c"group\00" +@fld.str.593 = private constant [8 x i8] c"command\00" +@fld.str.594 = private constant [10 x i8] c"cmd_index\00" +@fld.str.595 = private constant [5 x i8] c"json\00" +@fld.str.596 = private constant [5 x i8] c"rest\00" +@fld.str.597 = private constant [5 x i8] c"spec\00" +@fld.str.598 = private constant [7 x i8] c"values\00" +@field_names.599 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.592, i64 5 }, { ptr, i64 } { ptr @fld.str.593, i64 7 }, { ptr, i64 } { ptr @fld.str.594, i64 9 }, { ptr, i64 } { ptr @fld.str.595, i64 4 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }, { ptr, i64 } { ptr @fld.str.598, i64 6 }] +@str.600 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.601 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.602 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.603 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.604 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.605 = private constant [2 x i8] c"h\00" +@fld.str.606 = private constant [4 x i8] c"buf\00" +@fld.str.607 = private constant [8 x i8] c"buf_len\00" +@fld.str.608 = private constant [10 x i8] c"total_len\00" +@field_names.609 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.605, i64 1 }, { ptr, i64 } { ptr @fld.str.606, i64 3 }, { ptr, i64 } { ptr @fld.str.607, i64 7 }, { ptr, i64 } { ptr @fld.str.608, i64 9 }] @str.610 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.611 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.611 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.612 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.613 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.614 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -523,276 +523,372 @@ @fld.str.616 = private constant [5 x i8] c"nsec\00" @field_names.617 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.615, i64 3 }, { ptr, i64 } { ptr @fld.str.616, i64 4 }] @str.618 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.619 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.619 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.620 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.621 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.622 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.623 = private constant [3 x i8] c"fd\00" -@fld.str.624 = private constant [6 x i8] c"udata\00" -@fld.str.625 = private constant [9 x i8] c"readable\00" -@fld.str.626 = private constant [9 x i8] c"writable\00" -@fld.str.627 = private constant [4 x i8] c"eof\00" -@fld.str.628 = private constant [4 x i8] c"err\00" -@fld.str.629 = private constant [7 x i8] c"nbytes\00" -@field_names.630 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.623, i64 2 }, { ptr, i64 } { ptr @fld.str.624, i64 5 }, { ptr, i64 } { ptr @fld.str.625, i64 8 }, { ptr, i64 } { ptr @fld.str.626, i64 8 }, { ptr, i64 } { ptr @fld.str.627, i64 3 }, { ptr, i64 } { ptr @fld.str.628, i64 3 }, { ptr, i64 } { ptr @fld.str.629, i64 6 }] -@str.631 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.632 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.633 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.634 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.635 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.636 = private constant [3 x i8] c"kq\00" -@field_names.637 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.636, i64 2 }] +@fld.str.623 = private constant [6 x i8] c"ident\00" +@fld.str.624 = private constant [7 x i8] c"filter\00" +@fld.str.625 = private constant [6 x i8] c"flags\00" +@fld.str.626 = private constant [7 x i8] c"fflags\00" +@fld.str.627 = private constant [5 x i8] c"data\00" +@fld.str.628 = private constant [6 x i8] c"udata\00" +@field_names.629 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.623, i64 5 }, { ptr, i64 } { ptr @fld.str.624, i64 6 }, { ptr, i64 } { ptr @fld.str.625, i64 5 }, { ptr, i64 } { ptr @fld.str.626, i64 6 }, { ptr, i64 } { ptr @fld.str.627, i64 4 }, { ptr, i64 } { ptr @fld.str.628, i64 5 }] +@str.630 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.631 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.632 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.633 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.634 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.635 = private constant [4 x i8] c"sec\00" +@fld.str.636 = private constant [5 x i8] c"nsec\00" +@field_names.637 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.635, i64 3 }, { ptr, i64 } { ptr @fld.str.636, i64 4 }] @str.638 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.639 = private unnamed_addr constant [9 x i8] c"NSString\00", align 1 +@str.639 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.640 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.641 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.642 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.643 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.644 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.645 = private unnamed_addr constant [6 x i8] c"SxBox\00", align 1 -@str.646 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.647 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.648 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.649 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.650 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.651 = private unnamed_addr constant [13 x i8] c"__SxBoxState\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.653 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.654 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.655 = private constant [15 x i8] c"__sx_allocator\00" -@fld.str.656 = private constant [6 x i8] c"width\00" -@fld.str.657 = private constant [7 x i8] c"height\00" -@fld.str.658 = private constant [5 x i8] c"area\00" -@field_names.659 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.655, i64 14 }, { ptr, i64 } { ptr @fld.str.656, i64 5 }, { ptr, i64 } { ptr @fld.str.657, i64 6 }, { ptr, i64 } { ptr @fld.str.658, i64 4 }] -@str.660 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.661 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.662 = private constant [5 x i8] c"read\00" -@fld.str.663 = private constant [6 x i8] c"write\00" -@fld.str.664 = private constant [7 x i8] c"append\00" -@fld.str.665 = private constant [11 x i8] c"read_write\00" -@field_names.666 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.662, i64 4 }, { ptr, i64 } { ptr @fld.str.663, i64 5 }, { ptr, i64 } { ptr @fld.str.664, i64 6 }, { ptr, i64 } { ptr @fld.str.665, i64 10 }] -@str.667 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.670 = private constant [4 x i8] c"set\00" -@fld.str.671 = private constant [8 x i8] c"current\00" -@fld.str.672 = private constant [4 x i8] c"end\00" -@field_names.673 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 3 }, { ptr, i64 } { ptr @fld.str.671, i64 7 }, { ptr, i64 } { ptr @fld.str.672, i64 3 }] -@str.674 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.675 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.676 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.677 = private constant [6 x i8] c"null_\00" -@fld.str.678 = private constant [6 x i8] c"bool_\00" -@fld.str.679 = private constant [5 x i8] c"int_\00" -@fld.str.680 = private constant [4 x i8] c"str\00" -@fld.str.681 = private constant [6 x i8] c"array\00" -@fld.str.682 = private constant [7 x i8] c"object\00" -@field_names.683 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 5 }, { ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 4 }, { ptr, i64 } { ptr @fld.str.680, i64 3 }, { ptr, i64 } { ptr @fld.str.681, i64 5 }, { ptr, i64 } { ptr @fld.str.682, i64 6 }] -@str.684 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.685 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.686 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.687 = private constant [6 x i8] c"macos\00" -@fld.str.688 = private constant [6 x i8] c"linux\00" -@fld.str.689 = private constant [8 x i8] c"windows\00" -@fld.str.690 = private constant [5 x i8] c"wasm\00" -@fld.str.691 = private constant [4 x i8] c"ios\00" -@fld.str.692 = private constant [8 x i8] c"android\00" -@fld.str.693 = private constant [8 x i8] c"unknown\00" -@field_names.694 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.687, i64 5 }, { ptr, i64 } { ptr @fld.str.688, i64 5 }, { ptr, i64 } { ptr @fld.str.689, i64 7 }, { ptr, i64 } { ptr @fld.str.690, i64 4 }, { ptr, i64 } { ptr @fld.str.691, i64 3 }, { ptr, i64 } { ptr @fld.str.692, i64 7 }, { ptr, i64 } { ptr @fld.str.693, i64 7 }] -@str.695 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.697 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.698 = private constant [8 x i8] c"aarch64\00" -@fld.str.699 = private constant [7 x i8] c"x86_64\00" -@fld.str.700 = private constant [7 x i8] c"wasm32\00" -@fld.str.701 = private constant [7 x i8] c"wasm64\00" -@fld.str.702 = private constant [8 x i8] c"unknown\00" -@field_names.703 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.698, i64 7 }, { ptr, i64 } { ptr @fld.str.699, i64 6 }, { ptr, i64 } { ptr @fld.str.700, i64 6 }, { ptr, i64 } { ptr @fld.str.701, i64 6 }, { ptr, i64 } { ptr @fld.str.702, i64 7 }] -@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 [2 x i8] c"[\00", align 1 -@str.707 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.708 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.709 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.710 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.711 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.712 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.713 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.643 = private constant [3 x i8] c"fd\00" +@fld.str.644 = private constant [6 x i8] c"udata\00" +@fld.str.645 = private constant [9 x i8] c"readable\00" +@fld.str.646 = private constant [9 x i8] c"writable\00" +@fld.str.647 = private constant [4 x i8] c"eof\00" +@fld.str.648 = private constant [4 x i8] c"err\00" +@fld.str.649 = private constant [7 x i8] c"nbytes\00" +@field_names.650 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.643, i64 2 }, { ptr, i64 } { ptr @fld.str.644, i64 5 }, { ptr, i64 } { ptr @fld.str.645, i64 8 }, { ptr, i64 } { ptr @fld.str.646, i64 8 }, { ptr, i64 } { ptr @fld.str.647, i64 3 }, { ptr, i64 } { ptr @fld.str.648, i64 3 }, { ptr, i64 } { ptr @fld.str.649, i64 6 }] +@str.651 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.652 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.653 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.654 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.655 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.656 = private constant [3 x i8] c"kq\00" +@field_names.657 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.656, i64 2 }] +@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.659 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.660 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.661 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.662 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.663 = private constant [5 x i8] c"port\00" +@fld.str.664 = private constant [8 x i8] c"backlog\00" +@fld.str.665 = private constant [9 x i8] c"max_conn\00" +@fld.str.666 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.667 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.668 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.669 = private constant [14 x i8] c"request_count\00" +@field_names.670 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 4 }, { ptr, i64 } { ptr @fld.str.664, i64 7 }, { ptr, i64 } { ptr @fld.str.665, i64 8 }, { ptr, i64 } { ptr @fld.str.666, i64 12 }, { ptr, i64 } { ptr @fld.str.667, i64 18 }, { ptr, i64 } { ptr @fld.str.668, i64 20 }, { ptr, i64 } { ptr @fld.str.669, i64 13 }] +@str.671 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.672 = private unnamed_addr constant [8 x i8] c"Request\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.676 = private constant [7 x i8] c"method\00" +@fld.str.677 = private constant [5 x i8] c"path\00" +@fld.str.678 = private constant [8 x i8] c"version\00" +@fld.str.679 = private constant [12 x i8] c"headers_raw\00" +@fld.str.680 = private constant [5 x i8] c"body\00" +@fld.str.681 = private constant [11 x i8] c"keep_alive\00" +@field_names.682 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.676, i64 6 }, { ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 7 }, { ptr, i64 } { ptr @fld.str.679, i64 11 }, { ptr, i64 } { ptr @fld.str.680, i64 4 }, { ptr, i64 } { ptr @fld.str.681, i64 10 }] +@str.683 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.684 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.685 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.687 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.688 = private constant [7 x i8] c"status\00" +@fld.str.689 = private constant [13 x i8] c"content_type\00" +@fld.str.690 = private constant [14 x i8] c"extra_headers\00" +@fld.str.691 = private constant [5 x i8] c"body\00" +@field_names.692 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.688, i64 6 }, { ptr, i64 } { ptr @fld.str.689, i64 12 }, { ptr, i64 } { ptr @fld.str.690, i64 13 }, { ptr, i64 } { ptr @fld.str.691, i64 4 }] +@str.693 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.694 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.695 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.696 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.697 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.698 = private constant [3 x i8] c"fd\00" +@fld.str.699 = private constant [6 x i8] c"state\00" +@fld.str.700 = private constant [9 x i8] c"read_buf\00" +@fld.str.701 = private constant [9 x i8] c"read_len\00" +@fld.str.702 = private constant [8 x i8] c"out_buf\00" +@fld.str.703 = private constant [8 x i8] c"out_len\00" +@fld.str.704 = private constant [9 x i8] c"out_sent\00" +@fld.str.705 = private constant [9 x i8] c"deadline\00" +@fld.str.706 = private constant [7 x i8] c"served\00" +@fld.str.707 = private constant [12 x i8] c"close_after\00" +@fld.str.708 = private constant [12 x i8] c"write_armed\00" +@field_names.709 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.698, i64 2 }, { ptr, i64 } { ptr @fld.str.699, i64 5 }, { ptr, i64 } { ptr @fld.str.700, i64 8 }, { ptr, i64 } { ptr @fld.str.701, i64 8 }, { ptr, i64 } { ptr @fld.str.702, i64 7 }, { ptr, i64 } { ptr @fld.str.703, i64 7 }, { ptr, i64 } { ptr @fld.str.704, i64 8 }, { ptr, i64 } { ptr @fld.str.705, i64 8 }, { ptr, i64 } { ptr @fld.str.706, i64 6 }, { ptr, i64 } { ptr @fld.str.707, i64 11 }, { ptr, i64 } { ptr @fld.str.708, i64 11 }] +@str.710 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.711 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.712 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.713 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.714 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.715 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.716 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.717 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.720 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.721 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.722 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.723 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.724 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.725 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@fld.str.715 = private constant [4 x i8] c"cfg\00" +@fld.str.716 = private constant [5 x i8] c"loop\00" +@fld.str.717 = private constant [4 x i8] c"lfd\00" +@fld.str.718 = private constant [6 x i8] c"conns\00" +@fld.str.719 = private constant [10 x i8] c"own_alloc\00" +@fld.str.720 = private constant [8 x i8] c"handler\00" +@field_names.721 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.715, i64 3 }, { ptr, i64 } { ptr @fld.str.716, i64 4 }, { ptr, i64 } { ptr @fld.str.717, i64 3 }, { ptr, i64 } { ptr @fld.str.718, i64 5 }, { ptr, i64 } { ptr @fld.str.719, i64 9 }, { ptr, i64 } { ptr @fld.str.720, i64 7 }] +@str.722 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.723 = private unnamed_addr constant [9 x i8] c"NSString\00", align 1 +@str.724 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.725 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.726 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.729 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.730 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.731 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@field_names.727 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.728 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.729 = private unnamed_addr constant [6 x i8] c"SxBox\00", align 1 +@str.730 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.731 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.732 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.733 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.734 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.735 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.736 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.737 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@field_names.733 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.734 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.735 = private unnamed_addr constant [13 x i8] c"__SxBoxState\00", align 1 +@str.736 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.737 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.738 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.739 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.740 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.741 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.742 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.743 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.744 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.746 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.747 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.748 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.749 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.750 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.751 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.752 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.753 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.754 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.755 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.756 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.757 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.758 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.759 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.760 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.761 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.762 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.763 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.764 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.765 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.766 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.767 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.768 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.769 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.770 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.771 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.773 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.774 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.775 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.776 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.777 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.778 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.780 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.781 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.782 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.783 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.784 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.785 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.786 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.788 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.789 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.790 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.791 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.792 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.793 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.794 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.795 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.796 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.797 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.798 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.799 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.800 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.801 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.802 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.803 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.804 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.805 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.806 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.807 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.808 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.809 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.810 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.811 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.812 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.813 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.814 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.815 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.816 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.817 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.818 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.819 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.820 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.821 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.822 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.823 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.824 = private unnamed_addr constant [10 x i8] c"*NSString\00", align 1 -@str.825 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.826 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.827 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.828 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.739 = private constant [15 x i8] c"__sx_allocator\00" +@fld.str.740 = private constant [6 x i8] c"width\00" +@fld.str.741 = private constant [7 x i8] c"height\00" +@fld.str.742 = private constant [5 x i8] c"area\00" +@field_names.743 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.739, i64 14 }, { ptr, i64 } { ptr @fld.str.740, i64 5 }, { ptr, i64 } { ptr @fld.str.741, i64 6 }, { ptr, i64 } { ptr @fld.str.742, i64 4 }] +@str.744 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.745 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.746 = private constant [5 x i8] c"read\00" +@fld.str.747 = private constant [6 x i8] c"write\00" +@fld.str.748 = private constant [7 x i8] c"append\00" +@fld.str.749 = private constant [11 x i8] c"read_write\00" +@field_names.750 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.746, i64 4 }, { ptr, i64 } { ptr @fld.str.747, i64 5 }, { ptr, i64 } { ptr @fld.str.748, i64 6 }, { ptr, i64 } { ptr @fld.str.749, i64 10 }] +@str.751 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.753 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.754 = private constant [4 x i8] c"set\00" +@fld.str.755 = private constant [8 x i8] c"current\00" +@fld.str.756 = private constant [4 x i8] c"end\00" +@field_names.757 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.754, i64 3 }, { ptr, i64 } { ptr @fld.str.755, i64 7 }, { ptr, i64 } { ptr @fld.str.756, i64 3 }] +@str.758 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.759 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.760 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.761 = private constant [6 x i8] c"null_\00" +@fld.str.762 = private constant [6 x i8] c"bool_\00" +@fld.str.763 = private constant [5 x i8] c"int_\00" +@fld.str.764 = private constant [4 x i8] c"str\00" +@fld.str.765 = private constant [6 x i8] c"array\00" +@fld.str.766 = private constant [7 x i8] c"object\00" +@field_names.767 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.761, i64 5 }, { ptr, i64 } { ptr @fld.str.762, i64 5 }, { ptr, i64 } { ptr @fld.str.763, i64 4 }, { ptr, i64 } { ptr @fld.str.764, i64 3 }, { ptr, i64 } { ptr @fld.str.765, i64 5 }, { ptr, i64 } { ptr @fld.str.766, i64 6 }] +@str.768 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.769 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.770 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.771 = private constant [6 x i8] c"macos\00" +@fld.str.772 = private constant [6 x i8] c"linux\00" +@fld.str.773 = private constant [8 x i8] c"windows\00" +@fld.str.774 = private constant [5 x i8] c"wasm\00" +@fld.str.775 = private constant [4 x i8] c"ios\00" +@fld.str.776 = private constant [8 x i8] c"android\00" +@fld.str.777 = private constant [8 x i8] c"unknown\00" +@field_names.778 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.771, i64 5 }, { ptr, i64 } { ptr @fld.str.772, i64 5 }, { ptr, i64 } { ptr @fld.str.773, i64 7 }, { ptr, i64 } { ptr @fld.str.774, i64 4 }, { ptr, i64 } { ptr @fld.str.775, i64 3 }, { ptr, i64 } { ptr @fld.str.776, i64 7 }, { ptr, i64 } { ptr @fld.str.777, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.782 = private constant [8 x i8] c"aarch64\00" +@fld.str.783 = private constant [7 x i8] c"x86_64\00" +@fld.str.784 = private constant [7 x i8] c"wasm32\00" +@fld.str.785 = private constant [7 x i8] c"wasm64\00" +@fld.str.786 = private constant [8 x i8] c"unknown\00" +@field_names.787 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 7 }, { ptr, i64 } { ptr @fld.str.783, i64 6 }, { ptr, i64 } { ptr @fld.str.784, i64 6 }, { ptr, i64 } { ptr @fld.str.785, i64 6 }, { ptr, i64 } { ptr @fld.str.786, i64 7 }] +@str.788 = private unnamed_addr constant [2 x i8] c"(\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 [2 x i8] c"]\00", align 1 +@str.792 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.793 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.794 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.795 = private unnamed_addr constant [3 x i8] c", \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 +@str.799 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.800 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.801 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.802 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.803 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.804 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.805 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.806 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.807 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.810 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.811 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.812 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.813 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.814 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.815 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.816 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.817 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.818 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.819 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.820 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.821 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.822 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.823 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.824 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.825 = private unnamed_addr constant [3 x i8] c", \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 @str.829 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.830 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.830 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.831 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.832 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.833 = private unnamed_addr constant [7 x i8] c"*SxBox\00", align 1 +@str.833 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.834 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.835 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.836 = private unnamed_addr constant [8 x i8] c"**SxBox\00", align 1 +@str.836 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.837 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.838 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.839 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.839 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.840 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.842 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.842 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.843 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.844 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.845 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.845 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.846 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.847 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.848 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.848 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.849 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.850 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.851 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.851 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.852 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.853 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.854 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.854 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.855 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.856 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.857 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.858 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.859 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.861 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.860 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.861 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.862 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.864 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.865 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.866 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.867 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.868 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.869 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.870 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.871 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.872 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.873 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.874 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.875 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.876 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.877 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.878 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.879 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.880 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.881 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.882 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.883 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.884 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.885 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.886 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.887 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.888 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.889 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.890 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.891 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.892 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.893 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.894 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.895 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.896 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.897 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.898 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.899 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.900 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.901 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.902 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.903 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.904 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.905 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.906 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.907 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.908 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.909 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.910 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.911 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.912 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.913 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.914 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.915 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.917 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.918 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.919 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.920 = private unnamed_addr constant [10 x i8] c"*NSString\00", align 1 +@str.921 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.922 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.923 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.924 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.925 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.926 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.927 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.928 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.929 = private unnamed_addr constant [7 x i8] c"*SxBox\00", align 1 +@str.930 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.931 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.932 = private unnamed_addr constant [8 x i8] c"**SxBox\00", align 1 +@str.933 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.934 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.935 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.936 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.938 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.939 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.940 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.941 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.942 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.943 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.944 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.945 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.946 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.947 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.948 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.949 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.950 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.951 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.952 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.953 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.954 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.955 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.956 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.957 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.958 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.959 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"init\00" -@OBJC_METH_VAR_NAME_.864 = private unnamed_addr constant [10 x i8] c"setWidth:\00" -@OBJC_METH_VAR_NAME_.865 = private unnamed_addr constant [11 x i8] c"setHeight:\00" -@OBJC_METH_VAR_NAME_.866 = private unnamed_addr constant [6 x i8] c"width\00" -@OBJC_METH_VAR_NAME_.867 = private unnamed_addr constant [7 x i8] c"height\00" -@OBJC_METH_VAR_NAME_.868 = private unnamed_addr constant [5 x i8] c"area\00" +@OBJC_METH_VAR_NAME_.960 = private unnamed_addr constant [10 x i8] c"setWidth:\00" +@OBJC_METH_VAR_NAME_.961 = private unnamed_addr constant [11 x i8] c"setHeight:\00" +@OBJC_METH_VAR_NAME_.962 = private unnamed_addr constant [6 x i8] c"width\00" +@OBJC_METH_VAR_NAME_.963 = private unnamed_addr constant [7 x i8] c"height\00" +@OBJC_METH_VAR_NAME_.964 = private unnamed_addr constant [5 x i8] c"area\00" @OBJC_IVAR_NAME_ = private unnamed_addr constant [11 x i8] c"__sx_state\00" @OBJC_IVAR_TYPE_ = private unnamed_addr constant [3 x i8] c"^v\00" @OBJC_CLASS_NAME_ = private unnamed_addr constant [9 x i8] c"NSObject\00" -@OBJC_CLASS_NAME_.869 = private unnamed_addr constant [6 x i8] c"SxBox\00" -@OBJC_METH_VAR_NAME_.870 = private unnamed_addr constant [6 x i8] c"width\00" +@OBJC_CLASS_NAME_.965 = private unnamed_addr constant [6 x i8] c"SxBox\00" +@OBJC_METH_VAR_NAME_.966 = private unnamed_addr constant [6 x i8] c"width\00" @OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [4 x i8] c"i@:\00" -@OBJC_METH_VAR_NAME_.871 = private unnamed_addr constant [10 x i8] c"setWidth:\00" -@OBJC_METH_VAR_TYPE_.872 = private unnamed_addr constant [5 x i8] c"v@:i\00" -@OBJC_METH_VAR_NAME_.873 = private unnamed_addr constant [7 x i8] c"height\00" -@OBJC_METH_VAR_TYPE_.874 = private unnamed_addr constant [4 x i8] c"i@:\00" -@OBJC_METH_VAR_NAME_.875 = private unnamed_addr constant [11 x i8] c"setHeight:\00" -@OBJC_METH_VAR_TYPE_.876 = private unnamed_addr constant [5 x i8] c"v@:i\00" -@OBJC_METH_VAR_NAME_.877 = private unnamed_addr constant [5 x i8] c"area\00" -@OBJC_METH_VAR_TYPE_.878 = private unnamed_addr constant [4 x i8] c"i@:\00" -@OBJC_METH_VAR_NAME_.879 = private unnamed_addr constant [8 x i8] c"dealloc\00" -@OBJC_METH_VAR_TYPE_.880 = private unnamed_addr constant [4 x i8] c"v@:\00" -@OBJC_METH_VAR_NAME_.881 = private unnamed_addr constant [6 x i8] c"alloc\00" -@OBJC_METH_VAR_TYPE_.882 = private unnamed_addr constant [4 x i8] c"@@:\00" -@OBJC_CLASS_NAME_.883 = private unnamed_addr constant [6 x i8] c"SxBox\00" +@OBJC_METH_VAR_NAME_.967 = private unnamed_addr constant [10 x i8] c"setWidth:\00" +@OBJC_METH_VAR_TYPE_.968 = private unnamed_addr constant [5 x i8] c"v@:i\00" +@OBJC_METH_VAR_NAME_.969 = private unnamed_addr constant [7 x i8] c"height\00" +@OBJC_METH_VAR_TYPE_.970 = private unnamed_addr constant [4 x i8] c"i@:\00" +@OBJC_METH_VAR_NAME_.971 = private unnamed_addr constant [11 x i8] c"setHeight:\00" +@OBJC_METH_VAR_TYPE_.972 = private unnamed_addr constant [5 x i8] c"v@:i\00" +@OBJC_METH_VAR_NAME_.973 = private unnamed_addr constant [5 x i8] c"area\00" +@OBJC_METH_VAR_TYPE_.974 = private unnamed_addr constant [4 x i8] c"i@:\00" +@OBJC_METH_VAR_NAME_.975 = private unnamed_addr constant [8 x i8] c"dealloc\00" +@OBJC_METH_VAR_TYPE_.976 = private unnamed_addr constant [4 x i8] c"v@:\00" +@OBJC_METH_VAR_NAME_.977 = private unnamed_addr constant [6 x i8] c"alloc\00" +@OBJC_METH_VAR_TYPE_.978 = private unnamed_addr constant [4 x i8] c"@@:\00" +@OBJC_CLASS_NAME_.979 = private unnamed_addr constant [6 x i8] c"SxBox\00" @llvm.global_ctors = appending global [2 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @__sx_objc_class_init, ptr null }] ; Function Attrs: nounwind @@ -1231,38 +1327,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.446 + br label %while.hdr.480 -while.hdr.446: ; preds = %if.merge.451, %entry +while.hdr.480: ; preds = %if.merge.485, %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.447, label %while.exit.448 + br i1 %icmp, label %while.body.481, label %while.exit.482 -while.body.447: ; preds = %while.hdr.446 +while.body.481: ; preds = %while.hdr.480 %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.449, label %if.else.450 + br i1 %icmpN, label %if.then.483, label %if.else.484 -while.exit.448: ; preds = %while.hdr.446 +while.exit.482: ; preds = %while.hdr.480 ret void -if.then.449: ; preds = %while.body.447 +if.then.483: ; preds = %while.body.481 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.451 + br label %if.merge.485 -if.else.450: ; preds = %while.body.447 +if.else.484: ; preds = %while.body.481 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.451 + br label %if.merge.485 -if.merge.451: ; preds = %if.else.450, %if.then.449 - %bp = phi i64 [ %addN, %if.then.449 ], [ %addN, %if.else.450 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi i64 [ %addN, %if.then.483 ], [ %addN, %if.else.484 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1275,7 +1371,7 @@ if.merge.451: ; preds = %if.else.450, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.446 + br label %while.hdr.480 } ; Function Attrs: nounwind @@ -1388,12 +1484,12 @@ entry: 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.444, label %if.merge.445 + br i1 %icmp, label %if.then.478, label %if.merge.479 -if.then.444: ; preds = %entry +if.then.478: ; preds = %entry ret { ptr, i64 } { ptr @str.117, i64 1 } -if.merge.445: ; preds = %entry +if.merge.479: ; 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 @@ -1416,14 +1512,14 @@ if.merge.445: ; preds = %entry %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.452 + br label %while.hdr.486 -while.hdr.452: ; preds = %if.merge.456, %if.merge.445 +while.hdr.486: ; preds = %if.merge.490, %if.merge.479 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.453, label %while.exit.454 + br i1 %icmpN, label %while.body.487, label %while.exit.488 -while.body.453: ; preds = %while.hdr.452 +while.body.487: ; preds = %while.hdr.486 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1431,9 +1527,9 @@ while.body.453: ; preds = %while.hdr.452 %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.455, label %if.merge.456 + br i1 %icmpN, label %if.then.489, label %if.merge.490 -while.exit.454: ; preds = %if.then.455, %while.hdr.452 +while.exit.488: ; preds = %if.then.489, %while.hdr.486 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1441,14 +1537,14 @@ while.exit.454: ; preds = %if.then.455, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.455: ; preds = %while.body.453 - br label %while.exit.454 +if.then.489: ; preds = %while.body.487 + br label %while.exit.488 -if.merge.456: ; preds = %while.body.453 +if.merge.490: ; preds = %while.body.487 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.452 + br label %while.hdr.486 } ; Function Attrs: nounwind @@ -1596,9 +1692,14 @@ entry: i64 100, label %match.arm.51 i64 104, label %match.arm.51 i64 105, label %match.arm.51 - i64 110, label %match.arm.51 + i64 111, label %match.arm.51 + i64 112, label %match.arm.51 + i64 113, label %match.arm.51 i64 115, label %match.arm.51 - i64 117, label %match.arm.51 + i64 119, label %match.arm.51 + i64 122, label %match.arm.51 + i64 127, label %match.arm.51 + i64 129, label %match.arm.51 i64 38, label %match.arm.52 i64 39, label %match.arm.52 i64 58, label %match.arm.52 @@ -1609,19 +1710,20 @@ entry: i64 68, label %match.arm.53 i64 79, label %match.arm.53 i64 103, label %match.arm.53 + i64 110, label %match.arm.53 i64 23, label %match.arm.55 i64 85, label %match.arm.55 i64 91, label %match.arm.55 i64 92, label %match.arm.55 i64 96, label %match.arm.55 - i64 125, label %match.arm.55 - i64 127, label %match.arm.55 + i64 137, label %match.arm.55 + i64 139, label %match.arm.55 i64 24, label %match.arm.56 i64 64, label %match.arm.56 i64 81, label %match.arm.56 i64 89, label %match.arm.56 i64 109, label %match.arm.56 - i64 120, label %match.arm.56 + i64 132, label %match.arm.56 i64 19, label %match.arm.57 i64 26, label %match.arm.57 i64 28, label %match.arm.57 @@ -1648,18 +1750,22 @@ entry: i64 101, label %match.arm.57 i64 102, label %match.arm.57 i64 107, label %match.arm.57 - i64 111, label %match.arm.57 - i64 113, label %match.arm.57 i64 114, label %match.arm.57 i64 116, label %match.arm.57 - i64 118, label %match.arm.57 - i64 119, label %match.arm.57 + i64 117, label %match.arm.57 i64 121, label %match.arm.57 - i64 122, label %match.arm.57 i64 123, label %match.arm.57 - i64 124, label %match.arm.57 + i64 125, label %match.arm.57 i64 126, label %match.arm.57 i64 128, label %match.arm.57 + i64 130, label %match.arm.57 + i64 131, label %match.arm.57 + i64 133, label %match.arm.57 + i64 134, label %match.arm.57 + i64 135, label %match.arm.57 + i64 136, label %match.arm.57 + i64 138, label %match.arm.57 + i64 140, label %match.arm.57 i64 42, label %match.arm.58 i64 43, label %match.arm.58 i64 45, label %match.arm.58 @@ -1668,7 +1774,7 @@ entry: i64 13, label %match.arm.59 ] -match.merge.45: ; preds = %dispatch.merge.568, %dispatch.merge.401, %dispatch.merge.363, %dispatch.merge.319, %dispatch.merge.302, %dispatch.merge.102, %float.merge.91, %if.merge.63, %match.unr.60, %match.arm.59, %match.arm.53, %match.arm.49, %match.arm.48, %match.arm.46 +match.merge.45: ; preds = %dispatch.merge.614, %dispatch.merge.431, %dispatch.merge.393, %dispatch.merge.349, %dispatch.merge.332, %dispatch.merge.102, %float.merge.91, %if.merge.63, %match.unr.60, %match.arm.59, %match.arm.53, %match.arm.49, %match.arm.48, %match.arm.46 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1682,7 +1788,7 @@ match.arm.47: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [200 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [218 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.61, label %if.else.62 @@ -1710,7 +1816,7 @@ match.arm.50: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.89, label %fN.unbox.90 -match.arm.51: ; 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 +match.arm.51: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1745,31 +1851,36 @@ match.arm.51: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.131 i64 104, label %dispatch.case.132 i64 105, label %dispatch.case.133 - i64 110, label %dispatch.case.134 - i64 115, label %dispatch.case.135 - i64 117, label %dispatch.case.136 + i64 111, label %dispatch.case.134 + i64 112, label %dispatch.case.135 + i64 113, label %dispatch.case.136 + i64 115, label %dispatch.case.137 + i64 119, label %dispatch.case.138 + i64 122, label %dispatch.case.139 + i64 127, label %dispatch.case.140 + i64 129, label %dispatch.case.141 ] match.arm.52: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.303 [ - i64 38, label %dispatch.case.304 - i64 39, label %dispatch.case.305 - i64 58, label %dispatch.case.306 - i64 74, label %dispatch.case.307 - i64 75, label %dispatch.case.308 + switch i64 %ua.raw20, label %dispatch.default.333 [ + i64 38, label %dispatch.case.334 + i64 39, label %dispatch.case.335 + i64 58, label %dispatch.case.336 + i64 74, label %dispatch.case.337 + i64 75, label %dispatch.case.338 ] -match.arm.53: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.53: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.45 @@ -1781,84 +1892,88 @@ match.arm.55: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.320 [ - i64 23, label %dispatch.case.321 - i64 85, label %dispatch.case.322 - i64 91, label %dispatch.case.323 - i64 92, label %dispatch.case.324 - i64 96, label %dispatch.case.325 - i64 125, label %dispatch.case.326 - i64 127, label %dispatch.case.327 + switch i64 %ua.raw29, label %dispatch.default.350 [ + i64 23, label %dispatch.case.351 + i64 85, label %dispatch.case.352 + i64 91, label %dispatch.case.353 + i64 92, label %dispatch.case.354 + i64 96, label %dispatch.case.355 + i64 137, label %dispatch.case.356 + i64 139, label %dispatch.case.357 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.364 [ - i64 24, label %dispatch.case.365 - i64 64, label %dispatch.case.366 - i64 81, label %dispatch.case.367 - i64 89, label %dispatch.case.368 - i64 109, label %dispatch.case.369 - i64 120, label %dispatch.case.370 + switch i64 %ua.raw33, label %dispatch.default.394 [ + i64 24, label %dispatch.case.395 + i64 64, label %dispatch.case.396 + i64 81, label %dispatch.case.397 + i64 89, label %dispatch.case.398 + i64 109, label %dispatch.case.399 + i64 132, label %dispatch.case.400 ] -match.arm.57: ; 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 +match.arm.57: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.402 [ - i64 19, label %dispatch.case.403 - i64 26, label %dispatch.case.404 - i64 28, label %dispatch.case.405 - i64 30, label %dispatch.case.406 - i64 32, label %dispatch.case.407 - i64 33, label %dispatch.case.408 - i64 35, label %dispatch.case.409 - i64 37, label %dispatch.case.410 - i64 41, label %dispatch.case.411 - i64 48, label %dispatch.case.412 - i64 50, label %dispatch.case.413 - i64 51, label %dispatch.case.414 - i64 60, label %dispatch.case.415 - i64 61, label %dispatch.case.416 - i64 62, label %dispatch.case.417 - i64 63, label %dispatch.case.418 - i64 66, label %dispatch.case.419 - i64 71, label %dispatch.case.420 - i64 78, label %dispatch.case.421 - i64 87, label %dispatch.case.422 - i64 90, label %dispatch.case.423 - i64 94, label %dispatch.case.424 - i64 98, label %dispatch.case.425 - i64 101, label %dispatch.case.426 - i64 102, label %dispatch.case.427 - i64 107, label %dispatch.case.428 - i64 111, label %dispatch.case.429 - i64 113, label %dispatch.case.430 - i64 114, label %dispatch.case.431 - i64 116, label %dispatch.case.432 - i64 118, label %dispatch.case.433 - i64 119, label %dispatch.case.434 - i64 121, label %dispatch.case.435 - i64 122, label %dispatch.case.436 - i64 123, label %dispatch.case.437 - i64 124, label %dispatch.case.438 - i64 126, label %dispatch.case.439 - i64 128, label %dispatch.case.440 + switch i64 %ua.raw37, label %dispatch.default.432 [ + i64 19, label %dispatch.case.433 + i64 26, label %dispatch.case.434 + i64 28, label %dispatch.case.435 + i64 30, label %dispatch.case.436 + i64 32, label %dispatch.case.437 + i64 33, label %dispatch.case.438 + i64 35, label %dispatch.case.439 + i64 37, label %dispatch.case.440 + i64 41, label %dispatch.case.441 + i64 48, label %dispatch.case.442 + i64 50, label %dispatch.case.443 + i64 51, label %dispatch.case.444 + i64 60, label %dispatch.case.445 + i64 61, label %dispatch.case.446 + i64 62, label %dispatch.case.447 + i64 63, label %dispatch.case.448 + i64 66, label %dispatch.case.449 + i64 71, label %dispatch.case.450 + i64 78, label %dispatch.case.451 + i64 87, label %dispatch.case.452 + i64 90, label %dispatch.case.453 + i64 94, label %dispatch.case.454 + i64 98, label %dispatch.case.455 + i64 101, label %dispatch.case.456 + i64 102, label %dispatch.case.457 + i64 107, label %dispatch.case.458 + i64 114, label %dispatch.case.459 + i64 116, label %dispatch.case.460 + i64 117, label %dispatch.case.461 + i64 121, label %dispatch.case.462 + i64 123, label %dispatch.case.463 + i64 125, label %dispatch.case.464 + i64 126, label %dispatch.case.465 + i64 128, label %dispatch.case.466 + i64 130, label %dispatch.case.467 + i64 131, label %dispatch.case.468 + i64 133, label %dispatch.case.469 + i64 134, label %dispatch.case.470 + i64 135, label %dispatch.case.471 + i64 136, label %dispatch.case.472 + i64 138, label %dispatch.case.473 + i64 140, label %dispatch.case.474 ] match.arm.58: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.569 [ - i64 42, label %dispatch.case.570 - i64 43, label %dispatch.case.571 - i64 45, label %dispatch.case.572 - i64 47, label %dispatch.case.573 - i64 95, label %dispatch.case.574 + switch i64 %ua.raw41, label %dispatch.default.615 [ + i64 42, label %dispatch.case.616 + i64 43, label %dispatch.case.617 + i64 45, label %dispatch.case.618 + i64 47, label %dispatch.case.619 + i64 95, label %dispatch.case.620 ] match.arm.59: ; preds = %entry @@ -1867,7 +1982,7 @@ match.arm.59: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [200 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [218 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.45 @@ -1912,13 +2027,13 @@ float.merge.91: ; preds = %fN.unbox.90, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.merge.102: ; preds = %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.default.103 +dispatch.merge.102: ; preds = %dispatch.case.141, %dispatch.case.140, %dispatch.case.139, %dispatch.case.138, %dispatch.case.137, %dispatch.case.136, %dispatch.case.135, %dispatch.case.134, %dispatch.case.133, %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.default.103 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 dispatch.default.103: ; preds = %match.arm.51 - store { ptr, i64 } { ptr @str.338, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.358, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.102 dispatch.case.104: ; preds = %match.arm.51 @@ -2164,512 +2279,580 @@ dispatch.case.133: ; preds = %match.arm.51 dispatch.case.134: ; preds = %match.arm.51 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load {}, ptr %ua.ptr181, align 1 - %callN = call { ptr, i64 } @struct_to_string__NSString(ptr %0, {} %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.102 dispatch.case.135: ; preds = %match.arm.51 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load {}, ptr %ua.ptr185, align 1 - %callN = call { ptr, i64 } @struct_to_string__SxBox(ptr %0, {} %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.102 dispatch.case.136: ; preds = %match.arm.51 %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr - %ua.load190 = load { { ptr, ptr, ptr }, i32, i32, i32 }, ptr %ua.ptr189, align 8 - %callN = call { ptr, i64 } @struct_to_string____SxBoxState(ptr %0, { { ptr, ptr, ptr }, i32, i32, i32 } %ua.load190) + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.102 -dispatch.merge.302: ; preds = %dispatch.case.308, %dispatch.case.307, %dispatch.case.306, %dispatch.case.305, %dispatch.case.304, %dispatch.default.303 +dispatch.case.137: ; preds = %match.arm.51 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.102 + +dispatch.case.138: ; preds = %match.arm.51 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.102 + +dispatch.case.139: ; preds = %match.arm.51 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load {}, ptr %ua.ptr201, align 1 + %callN = call { ptr, i64 } @struct_to_string__NSString(ptr %0, {} %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.102 + +dispatch.case.140: ; preds = %match.arm.51 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load {}, ptr %ua.ptr205, align 1 + %callN = call { ptr, i64 } @struct_to_string__SxBox(ptr %0, {} %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.102 + +dispatch.case.141: ; preds = %match.arm.51 + %ua.raw208 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr209 = inttoptr i64 %ua.raw208 to ptr + %ua.load210 = load { { ptr, ptr, ptr }, i32, i32, i32 }, ptr %ua.ptr209, align 8 + %callN = call { ptr, i64 } @struct_to_string____SxBoxState(ptr %0, { { ptr, ptr, ptr }, i32, i32, i32 } %ua.load210) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.102 + +dispatch.merge.332: ; preds = %dispatch.case.338, %dispatch.case.337, %dispatch.case.336, %dispatch.case.335, %dispatch.case.334, %dispatch.default.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.default.303: ; preds = %match.arm.52 - store { ptr, i64 } { ptr @str.339, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.302 +dispatch.default.333: ; preds = %match.arm.52 + store { ptr, i64 } { ptr @str.359, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.332 -dispatch.case.304: ; preds = %match.arm.52 - %ua.raw193 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw193) +dispatch.case.334: ; preds = %match.arm.52 + %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw213) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.302 + br label %dispatch.merge.332 -dispatch.case.305: ; preds = %match.arm.52 - %ua.raw195 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw195) +dispatch.case.335: ; preds = %match.arm.52 + %ua.raw215 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw215) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.302 + br label %dispatch.merge.332 -dispatch.case.306: ; preds = %match.arm.52 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr198 = inttoptr i64 %ua.raw197 to ptr - %ua.load199 = load { i64, [24 x i8] }, ptr %ua.ptr198, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load199) +dispatch.case.336: ; preds = %match.arm.52 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr218 = inttoptr i64 %ua.raw217 to ptr + %ua.load219 = load { i64, [24 x i8] }, ptr %ua.ptr218, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.302 + br label %dispatch.merge.332 -dispatch.case.307: ; preds = %match.arm.52 - %ua.raw201 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw201) +dispatch.case.337: ; preds = %match.arm.52 + %ua.raw221 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw221) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.302 + br label %dispatch.merge.332 -dispatch.case.308: ; preds = %match.arm.52 - %ua.raw203 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw203) +dispatch.case.338: ; preds = %match.arm.52 + %ua.raw223 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw223) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.302 + br label %dispatch.merge.332 -dispatch.merge.319: ; preds = %dispatch.case.327, %dispatch.case.326, %dispatch.case.325, %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.case.321, %dispatch.default.320 +dispatch.merge.349: ; preds = %dispatch.case.357, %dispatch.case.356, %dispatch.case.355, %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.case.351, %dispatch.default.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.default.320: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.340, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.319 +dispatch.default.350: ; preds = %match.arm.55 + store { ptr, i64 } { ptr @str.360, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.349 -dispatch.case.321: ; preds = %match.arm.55 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [4 x i64], ptr %ua.ptr207, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 - -dispatch.case.322: ; preds = %match.arm.55 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 - -dispatch.case.323: ; preds = %match.arm.55 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [8 x i64], ptr %ua.ptr215, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 - -dispatch.case.324: ; preds = %match.arm.55 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [64 x i8], ptr %ua.ptr219, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 - -dispatch.case.325: ; preds = %match.arm.55 - %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [64 x i64], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load224) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 - -dispatch.case.326: ; preds = %match.arm.55 +dispatch.case.351: ; preds = %match.arm.55 %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [1 x { i64, i64 }], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load228) + %ua.load228 = load [4 x i64], ptr %ua.ptr227, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load228) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 + br label %dispatch.merge.349 -dispatch.case.327: ; preds = %match.arm.55 +dispatch.case.352: ; preds = %match.arm.55 %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr - %ua.load232 = load [3 x { i64, i64 }], ptr %ua.ptr231, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load232) + %ua.load232 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load232) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.319 + br label %dispatch.merge.349 -dispatch.merge.363: ; preds = %dispatch.case.370, %dispatch.case.369, %dispatch.case.368, %dispatch.case.367, %dispatch.case.366, %dispatch.case.365, %dispatch.default.364 +dispatch.case.353: ; preds = %match.arm.55 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [8 x i64], ptr %ua.ptr235, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.349 + +dispatch.case.354: ; preds = %match.arm.55 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [64 x i8], ptr %ua.ptr239, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.349 + +dispatch.case.355: ; preds = %match.arm.55 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [64 x i64], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.349 + +dispatch.case.356: ; preds = %match.arm.55 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [1 x { i64, i64 }], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.349 + +dispatch.case.357: ; preds = %match.arm.55 + %ua.raw250 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr251 = inttoptr i64 %ua.raw250 to ptr + %ua.load252 = load [3 x { i64, i64 }], ptr %ua.ptr251, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load252) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.349 + +dispatch.merge.393: ; preds = %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.default.394 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.default.364: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.341, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.363 +dispatch.default.394: ; preds = %match.arm.56 + store { ptr, i64 } { ptr @str.361, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.393 -dispatch.case.365: ; preds = %match.arm.56 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 - -dispatch.case.366: ; preds = %match.arm.56 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 - -dispatch.case.367: ; preds = %match.arm.56 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 - -dispatch.case.368: ; preds = %match.arm.56 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 - -dispatch.case.369: ; preds = %match.arm.56 - %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr - %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load253) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 - -dispatch.case.370: ; preds = %match.arm.56 +dispatch.case.395: ; preds = %match.arm.56 %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load257) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load257) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.363 + br label %dispatch.merge.393 -dispatch.merge.401: ; preds = %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.default.402 +dispatch.case.396: ; preds = %match.arm.56 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.393 + +dispatch.case.397: ; preds = %match.arm.56 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.393 + +dispatch.case.398: ; preds = %match.arm.56 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.393 + +dispatch.case.399: ; preds = %match.arm.56 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.393 + +dispatch.case.400: ; preds = %match.arm.56 + %ua.raw275 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr276 = inttoptr i64 %ua.raw275 to ptr + %ua.load277 = load { ptr, i64 }, ptr %ua.ptr276, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load277) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.393 + +dispatch.merge.431: ; preds = %dispatch.case.474, %dispatch.case.473, %dispatch.case.472, %dispatch.case.471, %dispatch.case.470, %dispatch.case.469, %dispatch.case.468, %dispatch.case.467, %dispatch.case.466, %dispatch.case.465, %dispatch.case.464, %dispatch.case.463, %dispatch.case.462, %dispatch.case.461, %dispatch.case.460, %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.default.432 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.default.402: ; preds = %match.arm.57 - store { ptr, i64 } { ptr @str.342, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.403: ; preds = %match.arm.57 - %ua.raw260 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw260 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.404: ; preds = %match.arm.57 - %ua.raw262 = extractvalue { i64, i64 } %loadN, 1 - %iNp263 = inttoptr i64 %ua.raw262 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp263) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.405: ; preds = %match.arm.57 - %ua.raw265 = extractvalue { i64, i64 } %loadN, 1 - %iNp266 = inttoptr i64 %ua.raw265 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp266) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.406: ; preds = %match.arm.57 - %ua.raw268 = extractvalue { i64, i64 } %loadN, 1 - %iNp269 = inttoptr i64 %ua.raw268 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp269) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.407: ; preds = %match.arm.57 - %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 - %iNp272 = inttoptr i64 %ua.raw271 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp272) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.408: ; preds = %match.arm.57 - %ua.raw274 = extractvalue { i64, i64 } %loadN, 1 - %iNp275 = inttoptr i64 %ua.raw274 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp275) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.409: ; preds = %match.arm.57 - %ua.raw277 = extractvalue { i64, i64 } %loadN, 1 - %iNp278 = inttoptr i64 %ua.raw277 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp278) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.410: ; preds = %match.arm.57 - %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 - %iNp281 = inttoptr i64 %ua.raw280 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp281) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.411: ; preds = %match.arm.57 - %ua.raw283 = extractvalue { i64, i64 } %loadN, 1 - %iNp284 = inttoptr i64 %ua.raw283 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp284) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.412: ; preds = %match.arm.57 - %ua.raw286 = extractvalue { i64, i64 } %loadN, 1 - %iNp287 = inttoptr i64 %ua.raw286 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp287) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.413: ; preds = %match.arm.57 - %ua.raw289 = extractvalue { i64, i64 } %loadN, 1 - %iNp290 = inttoptr i64 %ua.raw289 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp290) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.414: ; preds = %match.arm.57 - %ua.raw292 = extractvalue { i64, i64 } %loadN, 1 - %iNp293 = inttoptr i64 %ua.raw292 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp293) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.415: ; preds = %match.arm.57 - %ua.raw295 = extractvalue { i64, i64 } %loadN, 1 - %iNp296 = inttoptr i64 %ua.raw295 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp296) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.416: ; preds = %match.arm.57 - %ua.raw298 = extractvalue { i64, i64 } %loadN, 1 - %iNp299 = inttoptr i64 %ua.raw298 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp299) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.417: ; preds = %match.arm.57 - %ua.raw301 = extractvalue { i64, i64 } %loadN, 1 - %iNp302 = inttoptr i64 %ua.raw301 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp302) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.418: ; preds = %match.arm.57 - %ua.raw304 = extractvalue { i64, i64 } %loadN, 1 - %iNp305 = inttoptr i64 %ua.raw304 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp305) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.419: ; preds = %match.arm.57 - %ua.raw307 = extractvalue { i64, i64 } %loadN, 1 - %iNp308 = inttoptr i64 %ua.raw307 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp308) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.420: ; preds = %match.arm.57 - %ua.raw310 = extractvalue { i64, i64 } %loadN, 1 - %iNp311 = inttoptr i64 %ua.raw310 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp311) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.421: ; preds = %match.arm.57 - %ua.raw313 = extractvalue { i64, i64 } %loadN, 1 - %iNp314 = inttoptr i64 %ua.raw313 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp314) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.422: ; preds = %match.arm.57 - %ua.raw316 = extractvalue { i64, i64 } %loadN, 1 - %iNp317 = inttoptr i64 %ua.raw316 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp317) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.423: ; preds = %match.arm.57 - %ua.raw319 = extractvalue { i64, i64 } %loadN, 1 - %iNp320 = inttoptr i64 %ua.raw319 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp320) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.424: ; preds = %match.arm.57 - %ua.raw322 = extractvalue { i64, i64 } %loadN, 1 - %iNp323 = inttoptr i64 %ua.raw322 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp323) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.425: ; preds = %match.arm.57 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %iNp326 = inttoptr i64 %ua.raw325 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp326) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.426: ; preds = %match.arm.57 - %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 - %iNp329 = inttoptr i64 %ua.raw328 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp329) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.427: ; preds = %match.arm.57 - %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %iNp332 = inttoptr i64 %ua.raw331 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp332) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.428: ; preds = %match.arm.57 - %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 - %iNp335 = inttoptr i64 %ua.raw334 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp335) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.429: ; preds = %match.arm.57 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %iNp338 = inttoptr i64 %ua.raw337 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp338) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.430: ; preds = %match.arm.57 - %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 - %iNp341 = inttoptr i64 %ua.raw340 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp341) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.431: ; preds = %match.arm.57 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %iNp344 = inttoptr i64 %ua.raw343 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp344) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 - -dispatch.case.432: ; preds = %match.arm.57 - %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %iNp347 = inttoptr i64 %ua.raw346 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SxBox(ptr %0, ptr %iNp347) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 +dispatch.default.432: ; preds = %match.arm.57 + store { ptr, i64 } { ptr @str.362, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.431 dispatch.case.433: ; preds = %match.arm.57 - %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 - %iNp350 = inttoptr i64 %ua.raw349 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_SxBox(ptr %0, ptr %iNp350) + %ua.raw280 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw280 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.434: ; preds = %match.arm.57 - %ua.raw352 = extractvalue { i64, i64 } %loadN, 1 - %iNp353 = inttoptr i64 %ua.raw352 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp353) + %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 + %iNp283 = inttoptr i64 %ua.raw282 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.435: ; preds = %match.arm.57 - %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %iNp356 = inttoptr i64 %ua.raw355 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp356) + %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 + %iNp286 = inttoptr i64 %ua.raw285 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.436: ; preds = %match.arm.57 - %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 - %iNp359 = inttoptr i64 %ua.raw358 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp359) + %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 + %iNp289 = inttoptr i64 %ua.raw288 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.437: ; preds = %match.arm.57 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %iNp362 = inttoptr i64 %ua.raw361 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp362) + %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 + %iNp292 = inttoptr i64 %ua.raw291 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.438: ; preds = %match.arm.57 - %ua.raw364 = extractvalue { i64, i64 } %loadN, 1 - %iNp365 = inttoptr i64 %ua.raw364 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp365) + %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 + %iNp295 = inttoptr i64 %ua.raw294 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.439: ; preds = %match.arm.57 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %iNp368 = inttoptr i64 %ua.raw367 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp368) + %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 + %iNp298 = inttoptr i64 %ua.raw297 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 dispatch.case.440: ; preds = %match.arm.57 - %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 - %iNp371 = inttoptr i64 %ua.raw370 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp371) + %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 + %iNp301 = inttoptr i64 %ua.raw300 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.401 + br label %dispatch.merge.431 -dispatch.merge.568: ; preds = %dispatch.case.574, %dispatch.case.573, %dispatch.case.572, %dispatch.case.571, %dispatch.case.570, %dispatch.default.569 +dispatch.case.441: ; preds = %match.arm.57 + %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 + %iNp304 = inttoptr i64 %ua.raw303 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp304) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.442: ; preds = %match.arm.57 + %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 + %iNp307 = inttoptr i64 %ua.raw306 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp307) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.443: ; preds = %match.arm.57 + %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 + %iNp310 = inttoptr i64 %ua.raw309 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp310) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.444: ; preds = %match.arm.57 + %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 + %iNp313 = inttoptr i64 %ua.raw312 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp313) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.445: ; preds = %match.arm.57 + %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 + %iNp316 = inttoptr i64 %ua.raw315 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp316) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.446: ; preds = %match.arm.57 + %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 + %iNp319 = inttoptr i64 %ua.raw318 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp319) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.447: ; preds = %match.arm.57 + %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp322) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.448: ; preds = %match.arm.57 + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %iNp325 = inttoptr i64 %ua.raw324 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp325) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.449: ; preds = %match.arm.57 + %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 + %iNp328 = inttoptr i64 %ua.raw327 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp328) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.450: ; preds = %match.arm.57 + %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 + %iNp331 = inttoptr i64 %ua.raw330 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp331) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.451: ; preds = %match.arm.57 + %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 + %iNp334 = inttoptr i64 %ua.raw333 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp334) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.452: ; preds = %match.arm.57 + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %iNp337 = inttoptr i64 %ua.raw336 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp337) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.453: ; preds = %match.arm.57 + %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp340) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.454: ; preds = %match.arm.57 + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %iNp343 = inttoptr i64 %ua.raw342 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp343) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.455: ; preds = %match.arm.57 + %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 + %iNp346 = inttoptr i64 %ua.raw345 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp346) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.456: ; preds = %match.arm.57 + %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 + %iNp349 = inttoptr i64 %ua.raw348 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp349) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.457: ; preds = %match.arm.57 + %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 + %iNp352 = inttoptr i64 %ua.raw351 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp352) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.458: ; preds = %match.arm.57 + %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 + %iNp355 = inttoptr i64 %ua.raw354 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp355) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.459: ; preds = %match.arm.57 + %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp358) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.460: ; preds = %match.arm.57 + %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 + %iNp361 = inttoptr i64 %ua.raw360 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp361) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.461: ; preds = %match.arm.57 + %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 + %iNp364 = inttoptr i64 %ua.raw363 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.462: ; preds = %match.arm.57 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp367) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.463: ; preds = %match.arm.57 + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %iNp370 = inttoptr i64 %ua.raw369 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp370) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.464: ; preds = %match.arm.57 + %ua.raw372 = extractvalue { i64, i64 } %loadN, 1 + %iNp373 = inttoptr i64 %ua.raw372 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp373) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.465: ; preds = %match.arm.57 + %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 + %iNp376 = inttoptr i64 %ua.raw375 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.466: ; preds = %match.arm.57 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %iNp379 = inttoptr i64 %ua.raw378 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SxBox(ptr %0, ptr %iNp379) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.467: ; preds = %match.arm.57 + %ua.raw381 = extractvalue { i64, i64 } %loadN, 1 + %iNp382 = inttoptr i64 %ua.raw381 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_SxBox(ptr %0, ptr %iNp382) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.468: ; preds = %match.arm.57 + %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp385) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.469: ; preds = %match.arm.57 + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %iNp388 = inttoptr i64 %ua.raw387 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp388) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.470: ; preds = %match.arm.57 + %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 + %iNp391 = inttoptr i64 %ua.raw390 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp391) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.471: ; preds = %match.arm.57 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %iNp394 = inttoptr i64 %ua.raw393 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp394) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.472: ; preds = %match.arm.57 + %ua.raw396 = extractvalue { i64, i64 } %loadN, 1 + %iNp397 = inttoptr i64 %ua.raw396 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp397) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.473: ; preds = %match.arm.57 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %iNp400 = inttoptr i64 %ua.raw399 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp400) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.case.474: ; preds = %match.arm.57 + %ua.raw402 = extractvalue { i64, i64 } %loadN, 1 + %iNp403 = inttoptr i64 %ua.raw402 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp403) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.431 + +dispatch.merge.614: ; preds = %dispatch.case.620, %dispatch.case.619, %dispatch.case.618, %dispatch.case.617, %dispatch.case.616, %dispatch.default.615 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 -dispatch.default.569: ; preds = %match.arm.58 - store { ptr, i64 } { ptr @str.343, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.568 +dispatch.default.615: ; preds = %match.arm.58 + store { ptr, i64 } { ptr @str.363, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.614 -dispatch.case.570: ; preds = %match.arm.58 - %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr375 = inttoptr i64 %ua.raw374 to ptr - %ua.load376 = load { { i32 }, i1 }, ptr %ua.ptr375, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load376) +dispatch.case.616: ; preds = %match.arm.58 + %ua.raw406 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr407 = inttoptr i64 %ua.raw406 to ptr + %ua.load408 = load { { i32 }, i1 }, ptr %ua.ptr407, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load408) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.568 + br label %dispatch.merge.614 -dispatch.case.571: ; preds = %match.arm.58 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr379 = inttoptr i64 %ua.raw378 to ptr - %ua.load380 = load { { ptr, i64 }, i1 }, ptr %ua.ptr379, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load380) +dispatch.case.617: ; preds = %match.arm.58 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr411 = inttoptr i64 %ua.raw410 to ptr + %ua.load412 = load { { ptr, i64 }, i1 }, ptr %ua.ptr411, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load412) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.568 + br label %dispatch.merge.614 -dispatch.case.572: ; preds = %match.arm.58 - %ua.raw382 = extractvalue { i64, i64 } %loadN, 1 - %iNp383 = inttoptr i64 %ua.raw382 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp383) +dispatch.case.618: ; preds = %match.arm.58 + %ua.raw414 = extractvalue { i64, i64 } %loadN, 1 + %iNp415 = inttoptr i64 %ua.raw414 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp415) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.568 + br label %dispatch.merge.614 -dispatch.case.573: ; preds = %match.arm.58 - %ua.raw385 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr386 = inttoptr i64 %ua.raw385 to ptr - %ua.load387 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr386, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load387) +dispatch.case.619: ; preds = %match.arm.58 + %ua.raw417 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr418 = inttoptr i64 %ua.raw417 to ptr + %ua.load419 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr418, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load419) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.568 + br label %dispatch.merge.614 -dispatch.case.574: ; preds = %match.arm.58 - %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr - %ua.load391 = load { [64 x i8], i1 }, ptr %ua.ptr390, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load391) +dispatch.case.620: ; preds = %match.arm.58 + %ua.raw421 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr422 = inttoptr i64 %ua.raw421 to ptr + %ua.load423 = load { [64 x i8], i1 }, ptr %ua.ptr422, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load423) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.568 + br label %dispatch.merge.614 } ; Function Attrs: nounwind @@ -2678,7 +2861,7 @@ 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.344, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.364, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2774,7 +2957,7 @@ if.merge.15: ; preds = %if.merge.29, %if.me if.then.16: ; preds = %if.then.13 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, 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 @@ -2782,7 +2965,7 @@ if.then.16: ; preds = %if.then.13 %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.346, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, 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 @@ -2792,13 +2975,13 @@ if.then.16: ; preds = %if.then.13 %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.347, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.17 if.merge.17: ; preds = %if.then.16, %if.then.13 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.348, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, 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 @@ -2806,7 +2989,7 @@ if.merge.17: ; preds = %if.then.16, %if.the %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.349, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2820,7 +3003,7 @@ if.merge.17: ; preds = %if.then.16, %if.the if.then.27: ; preds = %if.else.14 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 @@ -2828,7 +3011,7 @@ if.then.27: ; preds = %if.else.14 %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.351, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, 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 @@ -2839,7 +3022,7 @@ if.then.27: ; preds = %if.else.14 %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.352, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2896,7 +3079,7 @@ if.merge.35: ; preds = %if.merge.38, %if.el if.then.36: ; preds = %if.then.33 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, 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 @@ -2904,7 +3087,7 @@ if.then.36: ; preds = %if.then.33 %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.354, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, 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 @@ -2915,7 +3098,7 @@ if.then.36: ; preds = %if.then.33 %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.355, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2935,7 +3118,7 @@ if.merge.38: ; preds = %if.else.37, %if.the if.then.39: ; preds = %while.exit.6 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.356, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, 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 @@ -2943,7 +3126,7 @@ if.then.39: ; preds = %while.exit.6 %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.357, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.377, 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 @@ -2954,7 +3137,7 @@ if.then.39: ; preds = %while.exit.6 %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.358, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.378, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.40 @@ -3787,6 +3970,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 @@ -4029,9 +4260,9 @@ if.then.41: ; preds = %if.merge.3 ret i32 1 if.merge.42: ; preds = %if.merge.3 - %callN = call ptr @objc_getClass(ptr @str.359) + %callN = call ptr @objc_getClass(ptr @str.379) store ptr %callN, ptr %allocaN, align 8 - %callN = call ptr @sel_registerName(ptr @str.360) + %callN = call ptr @sel_registerName(ptr @str.380) store ptr %callN, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 @@ -4071,14 +4302,14 @@ entry: define internal void @print__ct_s8b0209b1c8e86f29__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.361, i64 30 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.381, i64 30 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.362, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.382, i64 0 }, ptr %allocaN, align 8 %load = 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 30) @@ -4094,7 +4325,7 @@ entry: ; 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.363, i64 30 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.383, i64 30 }) ret { ptr, i64 } %call } @@ -4102,7 +4333,7 @@ entry: define internal void @print__ct_s39d1c95f7ad02cfe__pack_i32(ptr %0, i32 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.364, i64 30 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.384, i64 30 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -4118,7 +4349,7 @@ entry: %gepN = getelementptr inbounds { 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.365, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.385, 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 27) @@ -4146,7 +4377,7 @@ entry: ; 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.366, i64 30 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.386, i64 30 }) ret { ptr, i64 } %call } @@ -4154,14 +4385,14 @@ entry: define internal void @print__ct_sa76620ef481aaa22__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.367, i64 51 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.387, i64 51 }, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 store ptr null, ptr %gep, align 8 %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 store i64 0, ptr %gepN, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.368, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.388, i64 0 }, ptr %allocaN, align 8 %load = 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 51) @@ -4177,7 +4408,7 @@ entry: ; 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.369, i64 51 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.389, i64 51 }) ret { ptr, i64 } %call } @@ -4185,7 +4416,7 @@ entry: define internal void @print__ct_se44eb1a972327e7d__pack_i32_i32_i32(ptr %0, i32 %1, i32 %2, i32 %3) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.370, i64 28 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.390, i64 28 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca i32, align 4 @@ -4215,7 +4446,7 @@ entry: %gepN = getelementptr inbounds { 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.371, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.391, 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 12) @@ -4267,7 +4498,7 @@ entry: ; 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.372, i64 28 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.392, i64 28 }) ret { ptr, i64 } %call } @@ -4278,35 +4509,35 @@ entry: %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.373, i64 15 }, { ptr, i64 } { ptr @str.374, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.393, i64 15 }, { ptr, i64 } { ptr @str.394, 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.137 + br label %while.hdr.142 -while.hdr.137: ; preds = %fv.merge, %entry +while.hdr.142: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.138, label %while.exit.139 + br i1 %icmp, label %while.body.143, label %while.exit.144 -while.body.138: ; preds = %while.hdr.137 +while.body.143: ; preds = %while.hdr.142 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.140, label %if.merge.141 + br i1 %icmpN, label %if.then.145, label %if.merge.146 -while.exit.139: ; preds = %while.hdr.137 +while.exit.144: ; preds = %while.hdr.142 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.375, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.395, i64 1 }) ret { ptr, i64 } %callN -if.then.140: ; preds = %while.body.138 +if.then.145: ; preds = %while.body.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.376, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.141 + br label %if.merge.146 -if.merge.141: ; preds = %if.then.140, %while.body.138 +if.merge.146: ; preds = %if.then.145, %while.body.143 %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 @@ -4314,7 +4545,7 @@ if.merge.141: ; preds = %if.then.140, %while %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.380, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, 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 @@ -4334,31 +4565,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.137 + br label %while.hdr.142 -fv.default: ; preds = %if.merge.141 +fv.default: ; preds = %if.merge.146 br label %fv.merge -fv.case: ; preds = %if.merge.141 +fv.case: ; preds = %if.merge.146 %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.141 +fv.case17: ; preds = %if.merge.146 %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.141 +fv.case20: ; preds = %if.merge.146 %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.141 +fv.case24: ; preds = %if.merge.146 %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 @@ -4371,43 +4602,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.381, i64 9 }, { ptr, i64 } { ptr @str.382, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.401, i64 9 }, { ptr, i64 } { ptr @str.402, 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.142 + br label %while.hdr.147 -while.hdr.142: ; preds = %fv.merge, %entry +while.hdr.147: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.143, label %while.exit.144 + br i1 %icmp, label %while.body.148, label %while.exit.149 -while.body.143: ; preds = %while.hdr.142 +while.body.148: ; preds = %while.hdr.147 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.145, label %if.merge.146 + br i1 %icmpN, label %if.then.150, label %if.merge.151 -while.exit.144: ; preds = %while.hdr.142 +while.exit.149: ; preds = %while.hdr.147 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 1 }) ret { ptr, i64 } %callN -if.then.145: ; preds = %while.body.143 +if.then.150: ; preds = %while.body.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.384, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.146 + br label %if.merge.151 -if.merge.146: ; preds = %if.then.145, %while.body.143 +if.merge.151: ; preds = %if.then.150, %while.body.148 %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.388, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.408, 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.389, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.409, 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 @@ -4426,24 +4657,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.142 + br label %while.hdr.147 -fv.default: ; preds = %if.merge.146 +fv.default: ; preds = %if.merge.151 br label %fv.merge -fv.case: ; preds = %if.merge.146 +fv.case: ; preds = %if.merge.151 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.146 +fv.case17: ; preds = %if.merge.151 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.146 +fv.case21: ; preds = %if.merge.151 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4456,43 +4687,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.390, i64 7 }, { ptr, i64 } { ptr @str.391, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.410, i64 7 }, { ptr, i64 } { ptr @str.411, 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.147 + br label %while.hdr.152 -while.hdr.147: ; preds = %fv.merge, %entry +while.hdr.152: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.148, label %while.exit.149 + br i1 %icmp, label %while.body.153, label %while.exit.154 -while.body.148: ; preds = %while.hdr.147 +while.body.153: ; preds = %while.hdr.152 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.150, label %if.merge.151 + br i1 %icmpN, label %if.then.155, label %if.merge.156 -while.exit.149: ; preds = %while.hdr.147 +while.exit.154: ; preds = %while.hdr.152 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.392, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 1 }) ret { ptr, i64 } %callN -if.then.150: ; preds = %while.body.148 +if.then.155: ; preds = %while.body.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.151 + br label %if.merge.156 -if.merge.151: ; preds = %if.then.150, %while.body.148 +if.merge.156: ; preds = %if.then.155, %while.body.153 %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.396, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.416, 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.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, 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 %alloca, align 8 @@ -4510,19 +4741,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.147 + br label %while.hdr.152 -fv.default: ; preds = %if.merge.151 +fv.default: ; preds = %if.merge.156 br label %fv.merge -fv.case: ; preds = %if.merge.151 +fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.151 +fv.case17: ; preds = %if.merge.156 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4534,43 +4765,43 @@ 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.398, i64 10 }, { ptr, i64 } { ptr @str.399, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 10 }, { ptr, i64 } { ptr @str.419, 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.152 + br label %while.hdr.157 -while.hdr.152: ; preds = %if.merge.156, %entry +while.hdr.157: ; preds = %if.merge.161, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.153, label %while.exit.154 + br i1 %icmp, label %while.body.158, label %while.exit.159 -while.body.153: ; preds = %while.hdr.152 +while.body.158: ; preds = %while.hdr.157 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.155, label %if.merge.156 + br i1 %icmpN, label %if.then.160, label %if.merge.161 -while.exit.154: ; preds = %while.hdr.152 +while.exit.159: ; preds = %while.hdr.157 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.400, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) ret { ptr, i64 } %callN -if.then.155: ; preds = %while.body.153 +if.then.160: ; preds = %while.body.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.401, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.156 + br label %if.merge.161 -if.merge.156: ; preds = %if.then.155, %while.body.153 +if.merge.161: ; preds = %if.then.160, %while.body.158 %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.402, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.422, 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.403, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4581,7 +4812,7 @@ if.merge.156: ; preds = %if.then.155, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.152 + br label %while.hdr.157 } ; Function Attrs: nounwind @@ -4589,43 +4820,43 @@ 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.404, i64 3 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 3 }, { ptr, i64 } { ptr @str.425, 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.157 + br label %while.hdr.162 -while.hdr.157: ; preds = %fv.merge, %entry +while.hdr.162: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.158, label %while.exit.159 + br i1 %icmp, label %while.body.163, label %while.exit.164 -while.body.158: ; preds = %while.hdr.157 +while.body.163: ; preds = %while.hdr.162 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.160, label %if.merge.161 + br i1 %icmpN, label %if.then.165, label %if.merge.166 -while.exit.159: ; preds = %while.hdr.157 +while.exit.164: ; preds = %while.hdr.162 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.426, i64 1 }) ret { ptr, i64 } %callN -if.then.160: ; preds = %while.body.158 +if.then.165: ; preds = %while.body.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.427, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.161 + br label %if.merge.166 -if.merge.161: ; preds = %if.then.160, %while.body.158 +if.merge.166: ; preds = %if.then.165, %while.body.163 %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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.429, 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.410, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, 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 @@ -4642,12 +4873,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.157 + br label %while.hdr.162 -fv.default: ; preds = %if.merge.161 +fv.default: ; preds = %if.merge.166 br label %fv.merge -fv.case: ; preds = %if.merge.161 +fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4658,43 +4889,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.411, i64 10 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 10 }, { ptr, i64 } { ptr @str.432, 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.162 + br label %while.hdr.167 -while.hdr.162: ; preds = %fv.merge, %entry +while.hdr.167: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.163, label %while.exit.164 + br i1 %icmp, label %while.body.168, label %while.exit.169 -while.body.163: ; preds = %while.hdr.162 +while.body.168: ; preds = %while.hdr.167 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.165, label %if.merge.166 + br i1 %icmpN, label %if.then.170, label %if.merge.171 -while.exit.164: ; preds = %while.hdr.162 +while.exit.169: ; preds = %while.hdr.167 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.433, i64 1 }) ret { ptr, i64 } %callN -if.then.165: ; preds = %while.body.163 +if.then.170: ; preds = %while.body.168 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.414, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.434, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.166 + br label %if.merge.171 -if.merge.166: ; preds = %if.then.165, %while.body.163 +if.merge.171: ; preds = %if.then.170, %while.body.168 %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.417, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.437, 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.418, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.438, 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 @@ -4712,18 +4943,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.162 + br label %while.hdr.167 -fv.default: ; preds = %if.merge.166 +fv.default: ; preds = %if.merge.171 br label %fv.merge -fv.case: ; preds = %if.merge.166 +fv.case: ; preds = %if.merge.171 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.166 +fv.case17: ; preds = %if.merge.171 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4735,91 +4966,7 @@ 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.419, i64 5 }, { ptr, i64 } { ptr @str.420, 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.167 - -while.hdr.167: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.168, label %while.exit.169 - -while.body.168: ; preds = %while.hdr.167 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.170, label %if.merge.171 - -while.exit.169: ; preds = %while.hdr.167 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 1 }) - ret { ptr, i64 } %callN - -if.then.170: ; preds = %while.body.168 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.422, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.171 - -if.merge.171: ; preds = %if.then.170, %while.body.168 - %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.426, 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.427, 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.167 - -fv.default: ; preds = %if.merge.171 - br label %fv.merge - -fv.case: ; preds = %if.merge.171 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.171 - %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.171 - %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 21, 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.428, i64 8 }, { ptr, i64 } { ptr @str.429, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.439, i64 5 }, { ptr, i64 } { ptr @str.440, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4838,27 +4985,27 @@ while.body.173: ; preds = %while.hdr.172 while.exit.174: ; preds = %while.hdr.172 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 1 }) ret { ptr, i64 } %callN if.then.175: ; preds = %while.body.173 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.176 if.merge.176: ; preds = %if.then.175, %while.body.173 %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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.446, 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.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, 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 { 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 @@ -4880,17 +5027,101 @@ fv.default: ; preds = %if.merge.176 br label %fv.merge fv.case: ; preds = %if.merge.176 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.176 + %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.176 + %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 21, 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.448, i64 8 }, { ptr, i64 } { ptr @str.449, 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.177 + +while.hdr.177: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.178, label %while.exit.179 + +while.body.178: ; preds = %while.hdr.177 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.180, label %if.merge.181 + +while.exit.179: ; preds = %while.hdr.177 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 1 }) + ret { ptr, i64 } %callN + +if.then.180: ; preds = %while.body.178 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.451, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.181 + +if.merge.181: ; preds = %if.then.180, %while.body.178 + %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.455, 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.456, 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.177 + +fv.default: ; preds = %if.merge.181 + br label %fv.merge + +fv.case: ; preds = %if.merge.181 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.176 +fv.case17: ; preds = %if.merge.181 %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.176 +fv.case20: ; preds = %if.merge.181 %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 @@ -4902,43 +5133,43 @@ 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.437, i64 17 }, { ptr, i64 } { ptr @str.438, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 17 }, { ptr, i64 } { ptr @str.458, 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.177 + br label %while.hdr.182 -while.hdr.177: ; preds = %fv.merge, %entry +while.hdr.182: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.178, label %while.exit.179 + br i1 %icmp, label %while.body.183, label %while.exit.184 -while.body.178: ; preds = %while.hdr.177 +while.body.183: ; preds = %while.hdr.182 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.180, label %if.merge.181 + br i1 %icmpN, label %if.then.185, label %if.merge.186 -while.exit.179: ; preds = %while.hdr.177 +while.exit.184: ; preds = %while.hdr.182 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 1 }) ret { ptr, i64 } %callN -if.then.180: ; preds = %while.body.178 +if.then.185: ; preds = %while.body.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.181 + br label %if.merge.186 -if.merge.181: ; preds = %if.then.180, %while.body.178 +if.merge.186: ; preds = %if.then.185, %while.body.183 %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.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.465, 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.446, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, 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 @@ -4958,29 +5189,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.177 + br label %while.hdr.182 -fv.default: ; preds = %if.merge.181 +fv.default: ; preds = %if.merge.186 br label %fv.merge -fv.case: ; preds = %if.merge.181 +fv.case: ; preds = %if.merge.186 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.181 +fv.case17: ; preds = %if.merge.186 %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.181 +fv.case20: ; preds = %if.merge.186 %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.181 +fv.case23: ; preds = %if.merge.186 %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 @@ -4991,43 +5222,43 @@ 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.447, i64 4 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.467, i64 4 }, { ptr, i64 } { ptr @str.468, 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.182 + br label %while.hdr.187 -while.hdr.182: ; preds = %fv.merge, %entry +while.hdr.187: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.183, label %while.exit.184 + br i1 %icmp, label %while.body.188, label %while.exit.189 -while.body.183: ; preds = %while.hdr.182 +while.body.188: ; preds = %while.hdr.187 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.185, label %if.merge.186 + br i1 %icmpN, label %if.then.190, label %if.merge.191 -while.exit.184: ; preds = %while.hdr.182 +while.exit.189: ; preds = %while.hdr.187 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.469, i64 1 }) ret { ptr, i64 } %callN -if.then.185: ; preds = %while.body.183 +if.then.190: ; preds = %while.body.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.186 + br label %if.merge.191 -if.merge.186: ; preds = %if.then.185, %while.body.183 +if.merge.191: ; preds = %if.then.190, %while.body.188 %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.452, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.472, 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.453, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.473, 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 @@ -5044,12 +5275,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.182 + br label %while.hdr.187 -fv.default: ; preds = %if.merge.186 +fv.default: ; preds = %if.merge.191 br label %fv.merge -fv.case: ; preds = %if.merge.186 +fv.case: ; preds = %if.merge.191 %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 @@ -5064,43 +5295,43 @@ entry: %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.454, i64 10 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.474, i64 10 }, { ptr, i64 } { ptr @str.475, 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.187 + br label %while.hdr.192 -while.hdr.187: ; preds = %fv.merge, %entry +while.hdr.192: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.188, label %while.exit.189 + br i1 %icmp, label %while.body.193, label %while.exit.194 -while.body.188: ; preds = %while.hdr.187 +while.body.193: ; preds = %while.hdr.192 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.190, label %if.merge.191 + br i1 %icmpN, label %if.then.195, label %if.merge.196 -while.exit.189: ; preds = %while.hdr.187 +while.exit.194: ; preds = %while.hdr.192 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) ret { ptr, i64 } %callN -if.then.190: ; preds = %while.body.188 +if.then.195: ; preds = %while.body.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.191 + br label %if.merge.196 -if.merge.191: ; preds = %if.then.190, %while.body.188 +if.merge.196: ; preds = %if.then.195, %while.body.193 %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.463, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.483, 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.464, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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 @@ -5121,38 +5352,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.187 + br label %while.hdr.192 -fv.default: ; preds = %if.merge.191 +fv.default: ; preds = %if.merge.196 br label %fv.merge -fv.case: ; preds = %if.merge.191 +fv.case: ; preds = %if.merge.196 %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.191 +fv.case17: ; preds = %if.merge.196 %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.191 +fv.case20: ; preds = %if.merge.196 %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.191 +fv.case24: ; preds = %if.merge.196 %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.191 +fv.case29: ; preds = %if.merge.196 %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 @@ -5166,43 +5397,43 @@ 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.465, i64 13 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.485, i64 13 }, { ptr, i64 } { ptr @str.486, 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.192 + br label %while.hdr.197 -while.hdr.192: ; preds = %fv.merge, %entry +while.hdr.197: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.193, label %while.exit.194 + br i1 %icmp, label %while.body.198, label %while.exit.199 -while.body.193: ; preds = %while.hdr.192 +while.body.198: ; preds = %while.hdr.197 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.195, label %if.merge.196 + br i1 %icmpN, label %if.then.200, label %if.merge.201 -while.exit.194: ; preds = %while.hdr.192 +while.exit.199: ; preds = %while.hdr.197 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 1 }) ret { ptr, i64 } %callN -if.then.195: ; preds = %while.body.193 +if.then.200: ; preds = %while.body.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.468, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.196 + br label %if.merge.201 -if.merge.196: ; preds = %if.then.195, %while.body.193 +if.merge.201: ; preds = %if.then.200, %while.body.198 %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.471, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.491, 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.472, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.492, 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 @@ -5220,18 +5451,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.192 + br label %while.hdr.197 -fv.default: ; preds = %if.merge.196 +fv.default: ; preds = %if.merge.201 br label %fv.merge -fv.case: ; preds = %if.merge.196 +fv.case: ; preds = %if.merge.201 %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.196 +fv.case17: ; preds = %if.merge.201 %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 @@ -5244,43 +5475,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.473, i64 8 }, { ptr, i64 } { ptr @str.474, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.493, i64 8 }, { ptr, i64 } { ptr @str.494, 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.197 + br label %while.hdr.202 -while.hdr.197: ; preds = %fv.merge, %entry +while.hdr.202: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.198, label %while.exit.199 + br i1 %icmp, label %while.body.203, label %while.exit.204 -while.body.198: ; preds = %while.hdr.197 +while.body.203: ; preds = %while.hdr.202 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.200, label %if.merge.201 + br i1 %icmpN, label %if.then.205, label %if.merge.206 -while.exit.199: ; preds = %while.hdr.197 +while.exit.204: ; preds = %while.hdr.202 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.475, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) ret { ptr, i64 } %callN -if.then.200: ; preds = %while.body.198 +if.then.205: ; preds = %while.body.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.201 + br label %if.merge.206 -if.merge.201: ; preds = %if.then.200, %while.body.198 +if.merge.206: ; preds = %if.then.205, %while.body.203 %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.482, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.502, 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.483, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, 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 @@ -5301,36 +5532,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.197 + br label %while.hdr.202 -fv.default: ; preds = %if.merge.201 +fv.default: ; preds = %if.merge.206 br label %fv.merge -fv.case: ; preds = %if.merge.201 +fv.case: ; preds = %if.merge.206 %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.201 +fv.case17: ; preds = %if.merge.206 %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.201 +fv.case21: ; preds = %if.merge.206 %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.201 +fv.case25: ; preds = %if.merge.206 %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.201 +fv.case29: ; preds = %if.merge.206 %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 @@ -5341,89 +5572,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.484, i64 5 }, { ptr, i64 } { ptr @str.485, 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.202 - -while.hdr.202: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.203, label %while.exit.204 - -while.body.203: ; preds = %while.hdr.202 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.205, label %if.merge.206 - -while.exit.204: ; preds = %while.hdr.202 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 1 }) - ret { ptr, i64 } %callN - -if.then.205: ; preds = %while.body.203 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.487, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.206 - -if.merge.206: ; preds = %if.then.205, %while.body.203 - %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.491, 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.492, 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.202 - -fv.default: ; preds = %if.merge.206 - br label %fv.merge - -fv.case: ; preds = %if.merge.206 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.206 - %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.206 - %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.493, i64 6 }, { ptr, i64 } { ptr @str.494, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.504, i64 5 }, { ptr, i64 } { ptr @str.505, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5442,24 +5591,24 @@ while.body.208: ; preds = %while.hdr.207 while.exit.209: ; preds = %while.hdr.207 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 1 }) ret { ptr, i64 } %callN if.then.210: ; preds = %while.body.208 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.507, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.211 if.merge.211: ; preds = %if.then.210, %while.body.208 %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.500, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.511, 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.501, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, 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 @@ -5486,7 +5635,7 @@ fv.default: ; preds = %if.merge.211 fv.case: ; preds = %if.merge.211 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.211 @@ -5501,13 +5650,11 @@ fv.case20: ; preds = %if.merge.211 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.502, i64 6 }, { ptr, i64 } { ptr @str.503, i64 1 }) + %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.513, i64 6 }, { ptr, i64 } { ptr @str.514, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5516,7 +5663,7 @@ entry: while.hdr.212: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.213, label %while.exit.214 while.body.213: ; preds = %while.hdr.212 @@ -5526,24 +5673,108 @@ while.body.213: ; preds = %while.hdr.212 while.exit.214: ; preds = %while.hdr.212 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.504, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 1 }) ret { ptr, i64 } %callN if.then.215: ; preds = %while.body.213 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.516, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.216 if.merge.216: ; preds = %if.then.215, %while.body.213 %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.508, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.520, 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.509, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, 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.212 + +fv.default: ; preds = %if.merge.216 + br label %fv.merge + +fv.case: ; preds = %if.merge.216 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.216 + %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.216 + %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.522, i64 6 }, { ptr, i64 } { ptr @str.523, 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.217 + +while.hdr.217: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.218, label %while.exit.219 + +while.body.218: ; preds = %while.hdr.217 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.220, label %if.merge.221 + +while.exit.219: ; preds = %while.hdr.217 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 1 }) + ret { ptr, i64 } %callN + +if.then.220: ; preds = %while.body.218 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.221 + +if.merge.221: ; preds = %if.then.220, %while.body.218 + %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.528, 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.529, 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 @@ -5561,19 +5792,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.212 + br label %while.hdr.217 -fv.default: ; preds = %if.merge.216 +fv.default: ; preds = %if.merge.221 br label %fv.merge -fv.case: ; preds = %if.merge.216 +fv.case: ; preds = %if.merge.221 %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.216 +fv.case17: ; preds = %if.merge.221 %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 @@ -5587,93 +5818,7 @@ 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.510, i64 4 }, { ptr, i64 } { ptr @str.511, 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.217 - -while.hdr.217: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.218, label %while.exit.219 - -while.body.218: ; preds = %while.hdr.217 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.220, label %if.merge.221 - -while.exit.219: ; preds = %while.hdr.217 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 1 }) - ret { ptr, i64 } %callN - -if.then.220: ; preds = %while.body.218 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.513, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.221 - -if.merge.221: ; preds = %if.then.220, %while.body.218 - %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.517, 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.518, 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.217 - -fv.default: ; preds = %if.merge.221 - br label %fv.merge - -fv.case: ; preds = %if.merge.221 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.221 - %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.221 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.519, i64 6 }, { ptr, i64 } { ptr @str.520, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.530, i64 4 }, { ptr, i64 } { ptr @str.531, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5692,24 +5837,110 @@ while.body.223: ; preds = %while.hdr.222 while.exit.224: ; preds = %while.hdr.222 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 1 }) ret { ptr, i64 } %callN if.then.225: ; preds = %while.body.223 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.226 if.merge.226: ; preds = %if.then.225, %while.body.223 %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.526, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.537, 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.527, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, 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.222 + +fv.default: ; preds = %if.merge.226 + br label %fv.merge + +fv.case: ; preds = %if.merge.226 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.226 + %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.226 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.539, i64 6 }, { ptr, i64 } { ptr @str.540, 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.227 + +while.hdr.227: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.228, label %while.exit.229 + +while.body.228: ; preds = %while.hdr.227 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.230, label %if.merge.231 + +while.exit.229: ; preds = %while.hdr.227 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 1 }) + ret { ptr, i64 } %callN + +if.then.230: ; preds = %while.body.228 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.231 + +if.merge.231: ; preds = %if.then.230, %while.body.228 + %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.546, 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.547, 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 @@ -5728,24 +5959,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.222 + br label %while.hdr.227 -fv.default: ; preds = %if.merge.226 +fv.default: ; preds = %if.merge.231 br label %fv.merge -fv.case: ; preds = %if.merge.226 +fv.case: ; preds = %if.merge.231 %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.226 +fv.case17: ; preds = %if.merge.231 %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.226 +fv.case20: ; preds = %if.merge.231 %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 @@ -5758,43 +5989,43 @@ 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.528, i64 12 }, { ptr, i64 } { ptr @str.529, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.548, i64 12 }, { ptr, i64 } { ptr @str.549, 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.227 + br label %while.hdr.232 -while.hdr.227: ; preds = %if.merge.231, %entry +while.hdr.232: ; preds = %if.merge.236, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.228, label %while.exit.229 + br i1 %icmp, label %while.body.233, label %while.exit.234 -while.body.228: ; preds = %while.hdr.227 +while.body.233: ; preds = %while.hdr.232 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.230, label %if.merge.231 + br i1 %icmpN, label %if.then.235, label %if.merge.236 -while.exit.229: ; preds = %while.hdr.227 +while.exit.234: ; preds = %while.hdr.232 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.530, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) ret { ptr, i64 } %callN -if.then.230: ; preds = %while.body.228 +if.then.235: ; preds = %while.body.233 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 2 }) + %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 - br label %if.merge.231 + br label %if.merge.236 -if.merge.231: ; preds = %if.then.230, %while.body.228 +if.merge.236: ; preds = %if.then.235, %while.body.233 %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.532, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.552, 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.533, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5805,7 +6036,7 @@ if.merge.231: ; preds = %if.then.230, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.227 + br label %while.hdr.232 } ; Function Attrs: nounwind @@ -5814,95 +6045,7 @@ 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.534, i64 8 }, { ptr, i64 } { ptr @str.535, 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.232 - -while.hdr.232: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.233, label %while.exit.234 - -while.body.233: ; preds = %while.hdr.232 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.235, label %if.merge.236 - -while.exit.234: ; preds = %while.hdr.232 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 1 }) - ret { ptr, i64 } %callN - -if.then.235: ; preds = %while.body.233 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.236 - -if.merge.236: ; preds = %if.then.235, %while.body.233 - %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.541, 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.542, 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.232 - -fv.default: ; preds = %if.merge.236 - br label %fv.merge - -fv.case: ; preds = %if.merge.236 - %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.236 - %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.236 - %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.543, i64 7 }, { ptr, i64 } { ptr @str.544, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 8 }, { ptr, i64 } { ptr @str.555, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5921,24 +6064,112 @@ while.body.238: ; preds = %while.hdr.237 while.exit.239: ; preds = %while.hdr.237 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %callN if.then.240: ; preds = %while.body.238 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.241 if.merge.241: ; preds = %if.then.240, %while.body.238 %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.550, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.561, 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.551, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, 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.237 + +fv.default: ; preds = %if.merge.241 + br label %fv.merge + +fv.case: ; preds = %if.merge.241 + %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.241 + %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.241 + %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.563, i64 7 }, { ptr, i64 } { ptr @str.564, 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.242 + +while.hdr.242: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.243, label %while.exit.244 + +while.body.243: ; preds = %while.hdr.242 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.245, label %if.merge.246 + +while.exit.244: ; preds = %while.hdr.242 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + ret { ptr, i64 } %callN + +if.then.245: ; preds = %while.body.243 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.246 + +if.merge.246: ; preds = %if.then.245, %while.body.243 + %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.570, 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.571, 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 @@ -5957,26 +6188,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.237 + br label %while.hdr.242 -fv.default: ; preds = %if.merge.241 +fv.default: ; preds = %if.merge.246 br label %fv.merge -fv.case: ; preds = %if.merge.241 +fv.case: ; preds = %if.merge.246 %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.241 +fv.case17: ; preds = %if.merge.246 %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.241 +fv.case22: ; preds = %if.merge.246 %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 @@ -5990,86 +6221,7 @@ 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.552, i64 9 }, { ptr, i64 } { ptr @str.553, 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.242 - -while.hdr.242: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.243, label %while.exit.244 - -while.body.243: ; preds = %while.hdr.242 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.245, label %if.merge.246 - -while.exit.244: ; preds = %while.hdr.242 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.554, i64 1 }) - ret { ptr, i64 } %callN - -if.then.245: ; preds = %while.body.243 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.246 - -if.merge.246: ; preds = %if.then.245, %while.body.243 - %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.558, 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.559, 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.242 - -fv.default: ; preds = %if.merge.246 - br label %fv.merge - -fv.case: ; preds = %if.merge.246 - %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.246 - %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.560, i64 4 }, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.572, i64 9 }, { ptr, i64 } { ptr @str.573, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6088,27 +6240,27 @@ while.body.248: ; preds = %while.hdr.247 while.exit.249: ; preds = %while.hdr.247 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %callN if.then.250: ; preds = %while.body.248 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.251 if.merge.251: ; preds = %if.then.250, %while.body.248 %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.566, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.578, 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.567, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, 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 { 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 @@ -6129,11 +6281,90 @@ fv.default: ; preds = %if.merge.251 br label %fv.merge fv.case: ; preds = %if.merge.251 + %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.251 + %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.580, i64 4 }, { ptr, i64 } { ptr @str.581, 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.252 + +while.hdr.252: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.253, label %while.exit.254 + +while.body.253: ; preds = %while.hdr.252 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.255, label %if.merge.256 + +while.exit.254: ; preds = %while.hdr.252 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + ret { ptr, i64 } %callN + +if.then.255: ; preds = %while.body.253 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.256 + +if.merge.256: ; preds = %if.then.255, %while.body.253 + %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.586, 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.587, 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.252 + +fv.default: ; preds = %if.merge.256 + br label %fv.merge + +fv.case: ; preds = %if.merge.256 %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.251 +fv.case17: ; preds = %if.merge.256 %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 @@ -6151,43 +6382,43 @@ entry: %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.568, i64 6 }, { ptr, i64 } { ptr @str.569, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 6 }, { ptr, i64 } { ptr @str.589, 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.252 + br label %while.hdr.257 -while.hdr.252: ; preds = %fv.merge, %entry +while.hdr.257: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.253, label %while.exit.254 + br i1 %icmp, label %while.body.258, label %while.exit.259 -while.body.253: ; preds = %while.hdr.252 +while.body.258: ; preds = %while.hdr.257 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.255, label %if.merge.256 + br i1 %icmpN, label %if.then.260, label %if.merge.261 -while.exit.254: ; preds = %while.hdr.252 +while.exit.259: ; preds = %while.hdr.257 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) ret { ptr, i64 } %callN -if.then.255: ; preds = %while.body.253 +if.then.260: ; preds = %while.body.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.256 + br label %if.merge.261 -if.merge.256: ; preds = %if.then.255, %while.body.253 +if.merge.261: ; preds = %if.then.260, %while.body.258 %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.579, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.599, 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.580, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, 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 @@ -6210,51 +6441,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.252 + br label %while.hdr.257 -fv.default: ; preds = %if.merge.256 +fv.default: ; preds = %if.merge.261 br label %fv.merge -fv.case: ; preds = %if.merge.256 +fv.case: ; preds = %if.merge.261 %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.256 +fv.case17: ; preds = %if.merge.261 %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.256 +fv.case22: ; preds = %if.merge.261 %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.256 +fv.case25: ; preds = %if.merge.261 %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.256 +fv.case28: ; preds = %if.merge.261 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.256 +fv.case33: ; preds = %if.merge.261 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.256 +fv.case38: ; preds = %if.merge.261 %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 @@ -6269,43 +6500,43 @@ entry: %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.581, i64 6 }, { ptr, i64 } { ptr @str.582, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 6 }, { ptr, i64 } { ptr @str.602, 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.257 + br label %while.hdr.262 -while.hdr.257: ; preds = %fv.merge, %entry +while.hdr.262: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.258, label %while.exit.259 + br i1 %icmp, label %while.body.263, label %while.exit.264 -while.body.258: ; preds = %while.hdr.257 +while.body.263: ; preds = %while.hdr.262 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.260, label %if.merge.261 + br i1 %icmpN, label %if.then.265, label %if.merge.266 -while.exit.259: ; preds = %while.hdr.257 +while.exit.264: ; preds = %while.hdr.262 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 1 }) ret { ptr, i64 } %callN -if.then.260: ; preds = %while.body.258 +if.then.265: ; preds = %while.body.263 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.261 + br label %if.merge.266 -if.merge.261: ; preds = %if.then.260, %while.body.258 +if.merge.266: ; preds = %if.then.265, %while.body.263 %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.589, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.609, 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.590, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, 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 @@ -6325,31 +6556,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.257 + br label %while.hdr.262 -fv.default: ; preds = %if.merge.261 +fv.default: ; preds = %if.merge.266 br label %fv.merge -fv.case: ; preds = %if.merge.261 +fv.case: ; preds = %if.merge.266 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.261 +fv.case17: ; preds = %if.merge.266 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.261 +fv.case22: ; preds = %if.merge.266 %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.261 +fv.case25: ; preds = %if.merge.266 %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 @@ -6360,82 +6591,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.591, i64 8 }, { ptr, i64 } { ptr @str.592, 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.262 - -while.hdr.262: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.263, label %while.exit.264 - -while.body.263: ; preds = %while.hdr.262 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.265, label %if.merge.266 - -while.exit.264: ; preds = %while.hdr.262 - %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 }) - ret { ptr, i64 } %callN - -if.then.265: ; preds = %while.body.263 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.266 - -if.merge.266: ; preds = %if.then.265, %while.body.263 - %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.597, 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.598, 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.262 - -fv.default: ; preds = %if.merge.266 - br label %fv.merge - -fv.case: ; preds = %if.merge.266 - %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.266 - %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__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.599, i64 6 }, { ptr, i64 } { ptr @str.600, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 8 }, { ptr, i64 } { ptr @str.612, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6444,7 +6600,7 @@ entry: while.hdr.267: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.268, label %while.exit.269 while.body.268: ; preds = %while.hdr.267 @@ -6454,118 +6610,16 @@ while.body.268: ; preds = %while.hdr.267 while.exit.269: ; preds = %while.hdr.267 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) ret { ptr, i64 } %callN if.then.270: ; preds = %while.body.268 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.602, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.271 if.merge.271: ; preds = %if.then.270, %while.body.268 - %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.609, 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.610, 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.267 - -fv.default: ; preds = %if.merge.271 - br label %fv.merge - -fv.case: ; preds = %if.merge.271 - %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.271 - %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.271 - %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.271 - %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.271 - %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.271 - %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.611, i64 10 }, { ptr, i64 } { ptr @str.612, 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.272 - -while.hdr.272: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.273, label %while.exit.274 - -while.body.273: ; preds = %while.hdr.272 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.275, label %if.merge.276 - -while.exit.274: ; preds = %while.hdr.272 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) - ret { ptr, i64 } %callN - -if.then.275: ; preds = %while.body.273 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.276 - -if.merge.276: ; preds = %if.then.275, %while.body.273 %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.617, i64 0, i64 %loadN @@ -6591,17 +6645,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.267 + +fv.default: ; preds = %if.merge.271 + br label %fv.merge + +fv.case: ; preds = %if.merge.271 + %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.271 + %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__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.619, i64 6 }, { ptr, i64 } { ptr @str.620, 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.272 + +while.hdr.272: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.273, label %while.exit.274 + +while.body.273: ; preds = %while.hdr.272 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.275, label %if.merge.276 + +while.exit.274: ; preds = %while.hdr.272 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) + ret { ptr, i64 } %callN + +if.then.275: ; preds = %while.body.273 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.276 + +if.merge.276: ; preds = %if.then.275, %while.body.273 + %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.629, 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.630, 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.272 fv.default: ; preds = %if.merge.276 br label %fv.merge fv.case: ; preds = %if.merge.276 + %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.276 + %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.276 + %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.276 + %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.276 + %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.276 + %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.631, i64 10 }, { ptr, i64 } { ptr @str.632, 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.277 + +while.hdr.277: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.278, label %while.exit.279 + +while.body.278: ; preds = %while.hdr.277 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.280, label %if.merge.281 + +while.exit.279: ; preds = %while.hdr.277 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.633, i64 1 }) + ret { ptr, i64 } %callN + +if.then.280: ; preds = %while.body.278 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.281 + +if.merge.281: ; preds = %if.then.280, %while.body.278 + %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.637, 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.638, 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.277 + +fv.default: ; preds = %if.merge.281 + br label %fv.merge + +fv.case: ; preds = %if.merge.281 %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.276 +fv.case17: ; preds = %if.merge.281 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6612,43 +6843,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 5 }, { ptr, i64 } { ptr @str.620, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 5 }, { ptr, i64 } { ptr @str.640, 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.277 + br label %while.hdr.282 -while.hdr.277: ; preds = %fv.merge, %entry +while.hdr.282: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.278, label %while.exit.279 + br i1 %icmp, label %while.body.283, label %while.exit.284 -while.body.278: ; preds = %while.hdr.277 +while.body.283: ; preds = %while.hdr.282 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.280, label %if.merge.281 + br i1 %icmpN, label %if.then.285, label %if.merge.286 -while.exit.279: ; preds = %while.hdr.277 +while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) ret { ptr, i64 } %callN -if.then.280: ; preds = %while.body.278 +if.then.285: ; preds = %while.body.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.281 + br label %if.merge.286 -if.merge.281: ; preds = %if.then.280, %while.body.278 +if.merge.286: ; preds = %if.then.285, %while.body.283 %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.630, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.650, 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.631, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, 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, i64 }, ptr %alloca, align 8 @@ -6671,47 +6902,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.277 + br label %while.hdr.282 -fv.default: ; preds = %if.merge.281 +fv.default: ; preds = %if.merge.286 br label %fv.merge -fv.case: ; preds = %if.merge.281 +fv.case: ; preds = %if.merge.286 %fv.field = extractvalue { i32, i64, 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.281 +fv.case17: ; preds = %if.merge.286 %fv.field18 = extractvalue { i32, i64, 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.281 +fv.case20: ; preds = %if.merge.286 %fv.field21 = extractvalue { i32, i64, 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.281 +fv.case23: ; preds = %if.merge.286 %fv.field24 = extractvalue { i32, i64, 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.281 +fv.case27: ; preds = %if.merge.286 %fv.field28 = extractvalue { i32, i64, 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.281 +fv.case31: ; preds = %if.merge.286 %fv.field32 = extractvalue { i32, i64, 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.281 +fv.case35: ; preds = %if.merge.286 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6722,43 +6953,43 @@ 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.632, i64 4 }, { ptr, i64 } { ptr @str.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 4 }, { ptr, i64 } { ptr @str.653, 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.282 + br label %while.hdr.287 -while.hdr.282: ; preds = %fv.merge, %entry +while.hdr.287: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.283, label %while.exit.284 + br i1 %icmp, label %while.body.288, label %while.exit.289 -while.body.283: ; preds = %while.hdr.282 +while.body.288: ; preds = %while.hdr.287 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.285, label %if.merge.286 + br i1 %icmpN, label %if.then.290, label %if.merge.291 -while.exit.284: ; preds = %while.hdr.282 +while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 1 }) ret { ptr, i64 } %callN -if.then.285: ; preds = %while.body.283 +if.then.290: ; preds = %while.body.288 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.655, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.286 + br label %if.merge.291 -if.merge.286: ; preds = %if.then.285, %while.body.283 +if.merge.291: ; preds = %if.then.290, %while.body.288 %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.637, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.657, 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.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.658, 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 @@ -6775,12 +7006,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.282 + br label %while.hdr.287 -fv.default: ; preds = %if.merge.286 +fv.default: ; preds = %if.merge.291 br label %fv.merge -fv.case: ; preds = %if.merge.286 +fv.case: ; preds = %if.merge.291 %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 @@ -6788,75 +7019,20 @@ fv.case: ; preds = %if.merge.286 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__NSString(ptr %0, {} %1) #0 { +define internal { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %1) #0 { entry: - %alloca = alloca {}, align 8 - store {} %1, ptr %alloca, align 1 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 8 }, { ptr, i64 } { ptr @str.640, 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.287 - -while.hdr.287: ; preds = %if.merge.291, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.288, label %while.exit.289 - -while.body.288: ; preds = %while.hdr.287 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.290, label %if.merge.291 - -while.exit.289: ; preds = %while.hdr.287 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) - ret { ptr, i64 } %callN - -if.then.290: ; preds = %while.body.288 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.291 - -if.merge.291: ; preds = %if.then.290, %while.body.288 - %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.643, 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.644, 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.287 -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__SxBox(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.645, i64 5 }, { ptr, i64 } { ptr @str.646, i64 1 }) + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 6 }, { ptr, i64 } { ptr @str.660, 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.292 -while.hdr.292: ; preds = %if.merge.296, %entry +while.hdr.292: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 0 + %icmp = icmp slt i64 %load, 7 br i1 %icmp, label %while.body.293, label %while.exit.294 while.body.293: ; preds = %while.hdr.292 @@ -6866,24 +7042,587 @@ while.body.293: ; preds = %while.hdr.292 while.exit.294: ; preds = %while.hdr.292 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.661, i64 1 }) ret { ptr, i64 } %callN if.then.295: ; preds = %while.body.293 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.296 if.merge.296: ; preds = %if.then.295, %while.body.293 %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.649, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.670, 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.650, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.671, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.292 + +fv.default: ; preds = %if.merge.296 + br label %fv.merge + +fv.case: ; preds = %if.merge.296 + %fv.field = extractvalue { i64, i32, 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.296 + %fv.field18 = extractvalue { i64, i32, 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.296 + %fv.field21 = extractvalue { i64, i32, 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.296 + %fv.field24 = extractvalue { i64, i32, 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.296 + %fv.field27 = extractvalue { i64, i32, 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.296 + %fv.field30 = extractvalue { i64, i32, 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.296 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.672, i64 7 }, { 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.297 + +while.hdr.297: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.298, label %while.exit.299 + +while.body.298: ; preds = %while.hdr.297 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.300, label %if.merge.301 + +while.exit.299: ; preds = %while.hdr.297 + %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.300: ; preds = %while.body.298 + %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.301 + +if.merge.301: ; preds = %if.then.300, %while.body.298 + %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.682, 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.683, 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.297 + +fv.default: ; preds = %if.merge.301 + br label %fv.merge + +fv.case: ; preds = %if.merge.301 + %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.301 + %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.301 + %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.301 + %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.301 + %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.301 + %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.684, i64 8 }, { ptr, i64 } { ptr @str.685, 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.302 + +while.hdr.302: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.303, label %while.exit.304 + +while.body.303: ; preds = %while.hdr.302 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.305, label %if.merge.306 + +while.exit.304: ; preds = %while.hdr.302 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) + ret { ptr, i64 } %callN + +if.then.305: ; preds = %while.body.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.306 + +if.merge.306: ; preds = %if.then.305, %while.body.303 + %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.692, 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.693, 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.302 + +fv.default: ; preds = %if.merge.306 + br label %fv.merge + +fv.case: ; preds = %if.merge.306 + %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.306 + %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.306 + %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.306 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 4 }, { ptr, i64 } { ptr @str.695, 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.307 + +while.hdr.307: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.308, label %while.exit.309 + +while.body.308: ; preds = %while.hdr.307 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.310, label %if.merge.311 + +while.exit.309: ; preds = %while.hdr.307 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 1 }) + ret { ptr, i64 } %callN + +if.then.310: ; preds = %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.311 + +if.merge.311: ; preds = %if.then.310, %while.body.308 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.709, 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.710, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.307 + +fv.default: ; preds = %if.merge.311 + br label %fv.merge + +fv.case: ; preds = %if.merge.311 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.311 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.311 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.311 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.311 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.311 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.311 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.311 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.311 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.311 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.311 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 6 }, { ptr, i64 } { ptr @str.712, 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.312 + +while.hdr.312: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.313, label %while.exit.314 + +while.body.313: ; preds = %while.hdr.312 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.315, label %if.merge.316 + +while.exit.314: ; preds = %while.hdr.312 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + ret { ptr, i64 } %callN + +if.then.315: ; preds = %while.body.313 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.316 + +if.merge.316: ; preds = %if.then.315, %while.body.313 + %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.721, 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.722, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.312 + +fv.default: ; preds = %if.merge.316 + br label %fv.merge + +fv.case: ; preds = %if.merge.316 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.316 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.316 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.316 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.316 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.316 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__NSString(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.723, i64 8 }, { ptr, i64 } { ptr @str.724, 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.317 + +while.hdr.317: ; preds = %if.merge.321, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 0 + br i1 %icmp, label %while.body.318, label %while.exit.319 + +while.body.318: ; preds = %while.hdr.317 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.320, label %if.merge.321 + +while.exit.319: ; preds = %while.hdr.317 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) + ret { ptr, i64 } %callN + +if.then.320: ; preds = %while.body.318 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.321 + +if.merge.321: ; preds = %if.then.320, %while.body.318 + %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.727, 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.728, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6894,7 +7633,62 @@ if.merge.296: ; preds = %if.then.295, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.292 + br label %while.hdr.317 +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @struct_to_string__SxBox(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.729, i64 5 }, { ptr, i64 } { ptr @str.730, 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.322 + +while.hdr.322: ; preds = %if.merge.326, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 0 + br i1 %icmp, label %while.body.323, label %while.exit.324 + +while.body.323: ; preds = %while.hdr.322 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.325, label %if.merge.326 + +while.exit.324: ; preds = %while.hdr.322 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 1 }) + ret { ptr, i64 } %callN + +if.then.325: ; preds = %while.body.323 + %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 + br label %if.merge.326 + +if.merge.326: ; preds = %if.then.325, %while.body.323 + %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.733, 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.734, 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.322 } ; Function Attrs: nounwind @@ -6903,43 +7697,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, i32, i32, i32 }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, i32, i32, i32 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 12 }, { ptr, i64 } { ptr @str.652, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 12 }, { ptr, i64 } { ptr @str.736, 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.297 + br label %while.hdr.327 -while.hdr.297: ; preds = %fv.merge, %entry +while.hdr.327: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.298, label %while.exit.299 + br i1 %icmp, label %while.body.328, label %while.exit.329 -while.body.298: ; preds = %while.hdr.297 +while.body.328: ; preds = %while.hdr.327 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.300, label %if.merge.301 + br i1 %icmpN, label %if.then.330, label %if.merge.331 -while.exit.299: ; preds = %while.hdr.297 +while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.653, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) ret { ptr, i64 } %callN -if.then.300: ; preds = %while.body.298 +if.then.330: ; preds = %while.body.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.654, i64 2 }) + %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 - br label %if.merge.301 + br label %if.merge.331 -if.merge.301: ; preds = %if.then.300, %while.body.298 +if.merge.331: ; preds = %if.then.330, %while.body.328 %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.659, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.660, i64 2 }) + %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, ptr, ptr }, i32, i32, i32 }, ptr %alloca, align 8 @@ -6959,31 +7753,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.297 + br label %while.hdr.327 -fv.default: ; preds = %if.merge.301 +fv.default: ; preds = %if.merge.331 br label %fv.merge -fv.case: ; preds = %if.merge.301 +fv.case: ; preds = %if.merge.331 %fv.field = extractvalue { { ptr, ptr, ptr }, i32, i32, i32 } %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.301 +fv.case17: ; preds = %if.merge.331 %fv.field18 = extractvalue { { ptr, ptr, ptr }, i32, i32, i32 } %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.301 +fv.case20: ; preds = %if.merge.331 %fv.field21 = extractvalue { { ptr, ptr, ptr }, i32, i32, i32 } %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.301 +fv.case24: ; preds = %if.merge.331 %fv.field25 = extractvalue { { ptr, ptr, ptr }, i32, i32, i32 } %loadN, 3 %iN = sext i32 %fv.field25 to i64 %fv.val27 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 @@ -6999,9 +7793,9 @@ entry: %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.666, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.750, 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.661, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, 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 @@ -7015,18 +7809,18 @@ entry: %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.309, label %if.merge.310 + br i1 %icmp, label %if.then.339, label %if.merge.340 -if.then.309: ; preds = %entry +if.then.339: ; 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.668, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, 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.310 + br label %if.merge.340 -if.merge.310: ; preds = %if.then.309, %entry +if.merge.340: ; preds = %if.then.339, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7040,9 +7834,9 @@ entry: %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.673, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.757, 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.669, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, 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 @@ -7056,18 +7850,18 @@ entry: %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.311, label %if.merge.312 + br i1 %icmp, label %if.then.341, label %if.merge.342 -if.then.311: ; preds = %entry +if.then.341: ; 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.675, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.759, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, 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.312 + br label %if.merge.342 -if.merge.312: ; preds = %if.then.311, %entry +if.merge.342: ; preds = %if.then.341, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7092,9 +7886,9 @@ entry: %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.683, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.767, 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.676, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.760, 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 @@ -7108,16 +7902,16 @@ entry: i64 5, label %fv.case24 ] -if.then.313: ; preds = %fv.merge +if.then.343: ; 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.685, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.769, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, 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.314 + br label %if.merge.344 -if.merge.314: ; preds = %if.then.313, %fv.merge +if.merge.344: ; preds = %if.then.343, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -7130,7 +7924,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.313, label %if.merge.314 + br i1 %icmp, label %if.then.343, label %if.merge.344 fv.default: ; preds = %entry br label %fv.merge @@ -7190,9 +7984,9 @@ entry: %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.694, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.778, 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.686, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, 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 @@ -7206,18 +8000,18 @@ entry: %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.315, label %if.merge.316 + br i1 %icmp, label %if.then.345, label %if.merge.346 -if.then.315: ; preds = %entry +if.then.345: ; 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.696, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, 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.316 + br label %if.merge.346 -if.merge.316: ; preds = %if.then.315, %entry +if.merge.346: ; preds = %if.then.345, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7231,9 +8025,9 @@ entry: %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.703, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.787, 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.697, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.781, 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 @@ -7247,18 +8041,18 @@ entry: %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.317, label %if.merge.318 + br i1 %icmp, label %if.then.347, label %if.merge.348 -if.then.317: ; preds = %entry +if.then.347: ; 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.705, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, 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.318 + br label %if.merge.348 -if.merge.318: ; preds = %if.then.317, %entry +if.merge.348: ; preds = %if.then.347, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7270,33 +8064,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.706, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.790, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.328 + br label %while.hdr.358 -while.hdr.328: ; preds = %if.merge.332, %entry +while.hdr.358: ; preds = %if.merge.362, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.329, label %while.exit.330 + br i1 %icmp, label %while.body.359, label %while.exit.360 -while.body.329: ; preds = %while.hdr.328 +while.body.359: ; preds = %while.hdr.358 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.331, label %if.merge.332 + br i1 %icmpN, label %if.then.361, label %if.merge.362 -while.exit.330: ; preds = %while.hdr.328 +while.exit.360: ; preds = %while.hdr.358 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.707, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.791, i64 1 }) ret { ptr, i64 } %call -if.then.331: ; preds = %while.body.329 +if.then.361: ; preds = %while.body.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.332 + br label %if.merge.362 -if.merge.332: ; preds = %if.then.331, %while.body.329 +if.merge.362: ; preds = %if.then.361, %while.body.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7310,7 +8104,7 @@ if.merge.332: ; preds = %if.then.331, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.328 + br label %while.hdr.358 } ; Function Attrs: nounwind @@ -7321,33 +8115,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.709, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.793, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.333 + br label %while.hdr.363 -while.hdr.333: ; preds = %if.merge.337, %entry +while.hdr.363: ; preds = %if.merge.367, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.334, label %while.exit.335 + br i1 %icmp, label %while.body.364, label %while.exit.365 -while.body.334: ; preds = %while.hdr.333 +while.body.364: ; preds = %while.hdr.363 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.336, label %if.merge.337 + br i1 %icmpN, label %if.then.366, label %if.merge.367 -while.exit.335: ; preds = %while.hdr.333 +while.exit.365: ; preds = %while.hdr.363 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.710, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 1 }) ret { ptr, i64 } %call -if.then.336: ; preds = %while.body.334 +if.then.366: ; preds = %while.body.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.337 + br label %if.merge.367 -if.merge.337: ; preds = %if.then.336, %while.body.334 +if.merge.367: ; preds = %if.then.366, %while.body.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7363,7 +8157,7 @@ if.merge.337: ; preds = %if.then.336, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.333 + br label %while.hdr.363 } ; Function Attrs: nounwind @@ -7373,33 +8167,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.712, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.796, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.338 + br label %while.hdr.368 -while.hdr.338: ; preds = %if.merge.342, %entry +while.hdr.368: ; preds = %if.merge.372, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.339, label %while.exit.340 + br i1 %icmp, label %while.body.369, label %while.exit.370 -while.body.339: ; preds = %while.hdr.338 +while.body.369: ; preds = %while.hdr.368 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.341, label %if.merge.342 + br i1 %icmpN, label %if.then.371, label %if.merge.372 -while.exit.340: ; preds = %while.hdr.338 +while.exit.370: ; preds = %while.hdr.368 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.713, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.797, i64 1 }) ret { ptr, i64 } %call -if.then.341: ; preds = %while.body.339 +if.then.371: ; preds = %while.body.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 2 }) + %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.342 + br label %if.merge.372 -if.merge.342: ; preds = %if.then.341, %while.body.339 +if.merge.372: ; preds = %if.then.371, %while.body.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7413,7 +8207,7 @@ if.merge.342: ; preds = %if.then.341, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.338 + br label %while.hdr.368 } ; Function Attrs: nounwind @@ -7423,33 +8217,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.715, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.799, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.343 + br label %while.hdr.373 -while.hdr.343: ; preds = %if.merge.347, %entry +while.hdr.373: ; preds = %if.merge.377, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.344, label %while.exit.345 + br i1 %icmp, label %while.body.374, label %while.exit.375 -while.body.344: ; preds = %while.hdr.343 +while.body.374: ; preds = %while.hdr.373 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.346, label %if.merge.347 + br i1 %icmpN, label %if.then.376, label %if.merge.377 -while.exit.345: ; preds = %while.hdr.343 +while.exit.375: ; preds = %while.hdr.373 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.800, i64 1 }) ret { ptr, i64 } %call -if.then.346: ; preds = %while.body.344 +if.then.376: ; preds = %while.body.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.347 + br label %if.merge.377 -if.merge.347: ; preds = %if.then.346, %while.body.344 +if.merge.377: ; preds = %if.then.376, %while.body.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7464,7 +8258,7 @@ if.merge.347: ; preds = %if.then.346, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.343 + br label %while.hdr.373 } ; Function Attrs: nounwind @@ -7474,33 +8268,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.718, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.802, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.348 + br label %while.hdr.378 -while.hdr.348: ; preds = %if.merge.352, %entry +while.hdr.378: ; preds = %if.merge.382, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.349, label %while.exit.350 + br i1 %icmp, label %while.body.379, label %while.exit.380 -while.body.349: ; preds = %while.hdr.348 +while.body.379: ; preds = %while.hdr.378 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.351, label %if.merge.352 + br i1 %icmpN, label %if.then.381, label %if.merge.382 -while.exit.350: ; preds = %while.hdr.348 +while.exit.380: ; preds = %while.hdr.378 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.719, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, i64 1 }) ret { ptr, i64 } %call -if.then.351: ; preds = %while.body.349 +if.then.381: ; preds = %while.body.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.804, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.352 + br label %if.merge.382 -if.merge.352: ; preds = %if.then.351, %while.body.349 +if.merge.382: ; preds = %if.then.381, %while.body.379 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7514,7 +8308,7 @@ if.merge.352: ; preds = %if.then.351, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.348 + br label %while.hdr.378 } ; Function Attrs: nounwind @@ -7525,33 +8319,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.721, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.805, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.353 + br label %while.hdr.383 -while.hdr.353: ; preds = %if.merge.357, %entry +while.hdr.383: ; preds = %if.merge.387, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.354, label %while.exit.355 + br i1 %icmp, label %while.body.384, label %while.exit.385 -while.body.354: ; preds = %while.hdr.353 +while.body.384: ; preds = %while.hdr.383 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.356, label %if.merge.357 + br i1 %icmpN, label %if.then.386, label %if.merge.387 -while.exit.355: ; preds = %while.hdr.353 +while.exit.385: ; preds = %while.hdr.383 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.806, i64 1 }) ret { ptr, i64 } %call -if.then.356: ; preds = %while.body.354 +if.then.386: ; preds = %while.body.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.357 + br label %if.merge.387 -if.merge.357: ; preds = %if.then.356, %while.body.354 +if.merge.387: ; preds = %if.then.386, %while.body.384 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7567,7 +8361,7 @@ if.merge.357: ; preds = %if.then.356, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.353 + br label %while.hdr.383 } ; Function Attrs: nounwind @@ -7578,33 +8372,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [3 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.724, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.808, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.358 + br label %while.hdr.388 -while.hdr.358: ; preds = %if.merge.362, %entry +while.hdr.388: ; preds = %if.merge.392, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.359, label %while.exit.360 + br i1 %icmp, label %while.body.389, label %while.exit.390 -while.body.359: ; preds = %while.hdr.358 +while.body.389: ; preds = %while.hdr.388 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.361, label %if.merge.362 + br i1 %icmpN, label %if.then.391, label %if.merge.392 -while.exit.360: ; preds = %while.hdr.358 +while.exit.390: ; preds = %while.hdr.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.725, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.809, i64 1 }) ret { ptr, i64 } %call -if.then.361: ; preds = %while.body.359 +if.then.391: ; preds = %while.body.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.362 + br label %if.merge.392 -if.merge.362: ; preds = %if.then.361, %while.body.359 +if.merge.392: ; preds = %if.then.391, %while.body.389 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [3 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7620,7 +8414,7 @@ if.merge.362: ; preds = %if.then.361, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.358 + br label %while.hdr.388 } ; Function Attrs: nounwind @@ -7630,35 +8424,35 @@ entry: %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.727, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.811, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.371 + br label %while.hdr.401 -while.hdr.371: ; preds = %if.merge.375, %entry +while.hdr.401: ; preds = %if.merge.405, %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.372, label %while.exit.373 + br i1 %icmp, label %while.body.402, label %while.exit.403 -while.body.372: ; preds = %while.hdr.371 +while.body.402: ; preds = %while.hdr.401 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.374, label %if.merge.375 + br i1 %icmpN, label %if.then.404, label %if.merge.405 -while.exit.373: ; preds = %while.hdr.371 +while.exit.403: ; preds = %while.hdr.401 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.728, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.812, i64 1 }) ret { ptr, i64 } %call -if.then.374: ; preds = %while.body.372 +if.then.404: ; preds = %while.body.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.729, i64 2 }) + %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 - br label %if.merge.375 + br label %if.merge.405 -if.merge.375: ; preds = %if.then.374, %while.body.372 +if.merge.405: ; preds = %if.then.404, %while.body.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7674,7 +8468,7 @@ if.merge.375: ; preds = %if.then.374, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.371 + br label %while.hdr.401 } ; Function Attrs: nounwind @@ -7683,35 +8477,35 @@ 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.730, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.814, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.376 + br label %while.hdr.406 -while.hdr.376: ; preds = %if.merge.380, %entry +while.hdr.406: ; preds = %if.merge.410, %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.377, label %while.exit.378 + br i1 %icmp, label %while.body.407, label %while.exit.408 -while.body.377: ; preds = %while.hdr.376 +while.body.407: ; preds = %while.hdr.406 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.379, label %if.merge.380 + br i1 %icmpN, label %if.then.409, label %if.merge.410 -while.exit.378: ; preds = %while.hdr.376 +while.exit.408: ; preds = %while.hdr.406 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.815, i64 1 }) ret { ptr, i64 } %call -if.then.379: ; preds = %while.body.377 +if.then.409: ; preds = %while.body.407 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.816, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.380 + br label %if.merge.410 -if.merge.380: ; preds = %if.then.379, %while.body.377 +if.merge.410: ; preds = %if.then.409, %while.body.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7726,7 +8520,7 @@ if.merge.380: ; preds = %if.then.379, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.376 + br label %while.hdr.406 } ; Function Attrs: nounwind @@ -7736,35 +8530,35 @@ entry: %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.733, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.817, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.381 + br label %while.hdr.411 -while.hdr.381: ; preds = %if.merge.385, %entry +while.hdr.411: ; preds = %if.merge.415, %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.382, label %while.exit.383 + br i1 %icmp, label %while.body.412, label %while.exit.413 -while.body.382: ; preds = %while.hdr.381 +while.body.412: ; preds = %while.hdr.411 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.384, label %if.merge.385 + br i1 %icmpN, label %if.then.414, label %if.merge.415 -while.exit.383: ; preds = %while.hdr.381 +while.exit.413: ; preds = %while.hdr.411 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.734, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.818, i64 1 }) ret { ptr, i64 } %call -if.then.384: ; preds = %while.body.382 +if.then.414: ; preds = %while.body.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.819, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.385 + br label %if.merge.415 -if.merge.385: ; preds = %if.then.384, %while.body.382 +if.merge.415: ; preds = %if.then.414, %while.body.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7780,7 +8574,7 @@ if.merge.385: ; preds = %if.then.384, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.381 + br label %while.hdr.411 } ; Function Attrs: nounwind @@ -7790,35 +8584,35 @@ entry: %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.736, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.820, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.386 + br label %while.hdr.416 -while.hdr.386: ; preds = %if.merge.390, %entry +while.hdr.416: ; preds = %if.merge.420, %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.387, label %while.exit.388 + br i1 %icmp, label %while.body.417, label %while.exit.418 -while.body.387: ; preds = %while.hdr.386 +while.body.417: ; preds = %while.hdr.416 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.389, label %if.merge.390 + br i1 %icmpN, label %if.then.419, label %if.merge.420 -while.exit.388: ; preds = %while.hdr.386 +while.exit.418: ; preds = %while.hdr.416 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.737, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.821, i64 1 }) ret { ptr, i64 } %call -if.then.389: ; preds = %while.body.387 +if.then.419: ; preds = %while.body.417 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.822, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.390 + br label %if.merge.420 -if.merge.390: ; preds = %if.then.389, %while.body.387 +if.merge.420: ; preds = %if.then.419, %while.body.417 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7834,7 +8628,7 @@ if.merge.390: ; preds = %if.then.389, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.386 + br label %while.hdr.416 } ; Function Attrs: nounwind @@ -7844,35 +8638,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.739, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.823, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.391 + br label %while.hdr.421 -while.hdr.391: ; preds = %if.merge.395, %entry +while.hdr.421: ; preds = %if.merge.425, %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.392, label %while.exit.393 + br i1 %icmp, label %while.body.422, label %while.exit.423 -while.body.392: ; preds = %while.hdr.391 +while.body.422: ; preds = %while.hdr.421 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.394, label %if.merge.395 + br i1 %icmpN, label %if.then.424, label %if.merge.425 -while.exit.393: ; preds = %while.hdr.391 +while.exit.423: ; preds = %while.hdr.421 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.740, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.824, i64 1 }) ret { ptr, i64 } %call -if.then.394: ; preds = %while.body.392 +if.then.424: ; preds = %while.body.422 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.395 + br label %if.merge.425 -if.merge.395: ; preds = %if.then.394, %while.body.392 +if.merge.425: ; preds = %if.then.424, %while.body.422 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7888,7 +8682,7 @@ if.merge.395: ; preds = %if.then.394, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.391 + br label %while.hdr.421 } ; Function Attrs: nounwind @@ -7898,35 +8692,35 @@ entry: %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.742, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.826, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.396 + br label %while.hdr.426 -while.hdr.396: ; preds = %if.merge.400, %entry +while.hdr.426: ; preds = %if.merge.430, %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.397, label %while.exit.398 + br i1 %icmp, label %while.body.427, label %while.exit.428 -while.body.397: ; preds = %while.hdr.396 +while.body.427: ; preds = %while.hdr.426 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.399, label %if.merge.400 + br i1 %icmpN, label %if.then.429, label %if.merge.430 -while.exit.398: ; preds = %while.hdr.396 +while.exit.428: ; preds = %while.hdr.426 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.743, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.827, i64 1 }) ret { ptr, i64 } %call -if.then.399: ; preds = %while.body.397 +if.then.429: ; preds = %while.body.427 %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 }) + %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.400 + br label %if.merge.430 -if.merge.400: ; preds = %if.then.399, %while.body.397 +if.merge.430: ; preds = %if.then.429, %while.body.427 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7942,206 +8736,11 @@ if.merge.400: ; preds = %if.then.399, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.396 + br label %while.hdr.426 } ; 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.441, label %if.else.442 - -if.then.441: ; preds = %entry - br label %if.merge.443 - -if.else.442: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.443 - -if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] - 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.457, label %if.else.458 - -if.then.457: ; preds = %entry - br label %if.merge.459 - -if.else.458: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.459 - -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] - 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.460, label %if.else.461 - -if.then.460: ; preds = %entry - br label %if.merge.462 - -if.else.461: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.462 - -if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] - 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.463, label %if.else.464 - -if.then.463: ; preds = %entry - br label %if.merge.465 - -if.else.464: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.465 - -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] - 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.466, label %if.else.467 - -if.then.466: ; preds = %entry - br label %if.merge.468 - -if.else.467: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.468 - -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] - ret { ptr, i64 } %bp -} - -; 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.469, label %if.else.470 - -if.then.469: ; preds = %entry - br label %if.merge.471 - -if.else.470: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.471 - -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] - 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.472, label %if.else.473 - -if.then.472: ; preds = %entry - br label %if.merge.474 - -if.else.473: ; 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.474 - -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] - 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 @@ -8159,12 +8758,207 @@ if.then.475: ; preds = %entry if.else.476: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 5 }, { ptr, i64 } %callN) br label %if.merge.477 if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + 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.491, label %if.else.492 + +if.then.491: ; preds = %entry + br label %if.merge.493 + +if.else.492: ; 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.834, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.493 + +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] + 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.494, label %if.else.495 + +if.then.494: ; preds = %entry + br label %if.merge.496 + +if.else.495: ; 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.837, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.496 + +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + 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.497, label %if.else.498 + +if.then.497: ; preds = %entry + br label %if.merge.499 + +if.else.498: ; 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.840, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.499 + +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] + 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.500, label %if.else.501 + +if.then.500: ; preds = %entry + br label %if.merge.502 + +if.else.501: ; 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.843, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.502 + +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] + ret { ptr, i64 } %bp +} + +; 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.503, label %if.else.504 + +if.then.503: ; preds = %entry + br label %if.merge.505 + +if.else.504: ; 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.846, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.505 + +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] + 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.506, label %if.else.507 + +if.then.506: ; preds = %entry + br label %if.merge.508 + +if.else.507: ; 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.849, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.508 + +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] + 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.509, label %if.else.510 + +if.then.509: ; preds = %entry + br label %if.merge.511 + +if.else.510: ; 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.852, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.511 + +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } @@ -8179,20 +8973,20 @@ entry: 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.478, label %if.else.479 + br i1 %icmp, label %if.then.512, label %if.else.513 -if.then.478: ; preds = %entry - br label %if.merge.480 +if.then.512: ; preds = %entry + br label %if.merge.514 -if.else.479: ; preds = %entry +if.else.513: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.480 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.514 -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } @@ -8207,20 +9001,20 @@ entry: 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.481, label %if.else.482 + br i1 %icmp, label %if.then.515, label %if.else.516 -if.then.481: ; preds = %entry - br label %if.merge.483 +if.then.515: ; preds = %entry + br label %if.merge.517 -if.else.482: ; preds = %entry +if.else.516: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.483 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.517 -if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -8235,20 +9029,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.860, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.859, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -8263,20 +9057,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.862, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -8290,20 +9084,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.866, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.865, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -8318,20 +9112,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.786, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.869, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.868, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -8345,20 +9139,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.789, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.872, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.871, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -8373,20 +9167,20 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.792, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.876, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.875, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.874, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -8401,20 +9195,20 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.536, label %if.else.537 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.536: ; preds = %entry + br label %if.merge.538 -if.else.503: ; preds = %entry +if.else.537: ; 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.795, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.878, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.538 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.877, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] ret { ptr, i64 } %bp } @@ -8429,20 +9223,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.539, label %if.else.540 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.539: ; preds = %entry + br label %if.merge.541 -if.else.506: ; preds = %entry +if.else.540: ; 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.798, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.882, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.881, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.541 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.880, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } @@ -8457,20 +9251,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.542, label %if.else.543 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.542: ; preds = %entry + br label %if.merge.544 -if.else.509: ; preds = %entry +if.else.543: ; 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.801, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.885, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.884, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.544 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.883, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -8485,20 +9279,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.545, label %if.else.546 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.545: ; preds = %entry + br label %if.merge.547 -if.else.512: ; preds = %entry +if.else.546: ; 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.804, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.888, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.887, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.547 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.886, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -8513,20 +9307,20 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.515: ; preds = %entry +if.else.549: ; 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.807, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.806, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.891, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.890, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.889, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -8541,20 +9335,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.551, label %if.else.552 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.551: ; preds = %entry + br label %if.merge.553 -if.else.518: ; preds = %entry +if.else.552: ; 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.810, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.553 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.808, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.892, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -8569,20 +9363,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.554, label %if.else.555 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.554: ; preds = %entry + br label %if.merge.556 -if.else.521: ; preds = %entry +if.else.555: ; 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.813, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.812, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.897, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.896, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.556 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.811, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.895, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -8597,20 +9391,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.557, label %if.else.558 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.557: ; preds = %entry + br label %if.merge.559 -if.else.524: ; preds = %entry +if.else.558: ; 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.816, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.815, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.900, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.559 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.814, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.898, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -8625,20 +9419,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.560, label %if.else.561 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.560: ; preds = %entry + br label %if.merge.562 -if.else.527: ; preds = %entry +if.else.561: ; 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.819, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.902, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.562 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.817, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.901, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -8653,20 +9447,131 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.530: ; preds = %entry +if.else.564: ; 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.822, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.821, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.905, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.820, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.904, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] + 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.566, label %if.else.567 + +if.then.566: ; preds = %entry + br label %if.merge.568 + +if.else.567: ; 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.909, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.908, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.568 + +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.907, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] + 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.569, label %if.else.570 + +if.then.569: ; preds = %entry + br label %if.merge.571 + +if.else.570: ; 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.912, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.571 + +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.910, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] + 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.572, label %if.else.573 + +if.then.572: ; preds = %entry + br label %if.merge.574 + +if.else.573: ; 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.915, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.574 + +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.913, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] + 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.575, label %if.else.576 + +if.then.575: ; preds = %entry + br label %if.merge.577 + +if.else.576: ; 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.918, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.917, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.577 + +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.916, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] ret { ptr, i64 } %bp } @@ -8681,20 +9586,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.578, label %if.else.579 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.578: ; preds = %entry + br label %if.merge.580 -if.else.533: ; preds = %entry +if.else.579: ; 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.825, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.580 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.823, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.919, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] ret { ptr, i64 } %bp } @@ -8709,20 +9614,20 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.581, label %if.else.582 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.581: ; preds = %entry + br label %if.merge.583 -if.else.536: ; preds = %entry +if.else.582: ; 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.828, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.827, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.583 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.826, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.922, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -8737,20 +9642,20 @@ entry: 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.538, label %if.else.539 + br i1 %icmp, label %if.then.584, label %if.else.585 -if.then.538: ; preds = %entry - br label %if.merge.540 +if.then.584: ; preds = %entry + br label %if.merge.586 -if.else.539: ; preds = %entry +if.else.585: ; 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.831, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.830, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.540 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.926, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.586 -if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.829, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] +if.merge.586: ; preds = %if.else.585, %if.then.584 + %bp = phi { ptr, i64 } [ { ptr @str.925, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] ret { ptr, i64 } %bp } @@ -8765,20 +9670,20 @@ entry: 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.541, label %if.else.542 + br i1 %icmp, label %if.then.587, label %if.else.588 -if.then.541: ; preds = %entry - br label %if.merge.543 +if.then.587: ; preds = %entry + br label %if.merge.589 -if.else.542: ; preds = %entry +if.else.588: ; 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.834, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.833, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.543 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.589 -if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.832, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] +if.merge.589: ; preds = %if.else.588, %if.then.587 + %bp = phi { ptr, i64 } [ { ptr @str.928, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] ret { ptr, i64 } %bp } @@ -8793,20 +9698,20 @@ entry: 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.544, label %if.else.545 + br i1 %icmp, label %if.then.590, label %if.else.591 -if.then.544: ; preds = %entry - br label %if.merge.546 +if.then.590: ; preds = %entry + br label %if.merge.592 -if.else.545: ; preds = %entry +if.else.591: ; 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.837, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.836, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.546 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.932, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.592 -if.merge.546: ; preds = %if.else.545, %if.then.544 - %bp = phi { ptr, i64 } [ { ptr @str.835, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] +if.merge.592: ; preds = %if.else.591, %if.then.590 + %bp = phi { ptr, i64 } [ { ptr @str.931, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] ret { ptr, i64 } %bp } @@ -8821,20 +9726,20 @@ entry: 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.547, label %if.else.548 + br i1 %icmp, label %if.then.593, label %if.else.594 -if.then.547: ; preds = %entry - br label %if.merge.549 +if.then.593: ; preds = %entry + br label %if.merge.595 -if.else.548: ; preds = %entry +if.else.594: ; 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.840, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.839, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.549 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.935, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.595 -if.merge.549: ; preds = %if.else.548, %if.then.547 - %bp = phi { ptr, i64 } [ { ptr @str.838, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] +if.merge.595: ; preds = %if.else.594, %if.then.593 + %bp = phi { ptr, i64 } [ { ptr @str.934, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] ret { ptr, i64 } %bp } @@ -8849,20 +9754,20 @@ entry: 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.550, label %if.else.551 + br i1 %icmp, label %if.then.596, label %if.else.597 -if.then.550: ; preds = %entry - br label %if.merge.552 +if.then.596: ; preds = %entry + br label %if.merge.598 -if.else.551: ; preds = %entry +if.else.597: ; 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.843, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.552 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.938, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.598 -if.merge.552: ; preds = %if.else.551, %if.then.550 - %bp = phi { ptr, i64 } [ { ptr @str.841, i64 4 }, %if.then.550 ], [ %callN, %if.else.551 ] +if.merge.598: ; preds = %if.else.597, %if.then.596 + %bp = phi { ptr, i64 } [ { ptr @str.937, i64 4 }, %if.then.596 ], [ %callN, %if.else.597 ] ret { ptr, i64 } %bp } @@ -8877,20 +9782,20 @@ entry: 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.553, label %if.else.554 + br i1 %icmp, label %if.then.599, label %if.else.600 -if.then.553: ; preds = %entry - br label %if.merge.555 +if.then.599: ; preds = %entry + br label %if.merge.601 -if.else.554: ; preds = %entry +if.else.600: ; 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.846, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.555 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.942, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.941, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.601 -if.merge.555: ; preds = %if.else.554, %if.then.553 - %bp = phi { ptr, i64 } [ { ptr @str.844, i64 4 }, %if.then.553 ], [ %callN, %if.else.554 ] +if.merge.601: ; preds = %if.else.600, %if.then.599 + %bp = phi { ptr, i64 } [ { ptr @str.940, i64 4 }, %if.then.599 ], [ %callN, %if.else.600 ] ret { ptr, i64 } %bp } @@ -8905,20 +9810,20 @@ entry: 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.556, label %if.else.557 + br i1 %icmp, label %if.then.602, label %if.else.603 -if.then.556: ; preds = %entry - br label %if.merge.558 +if.then.602: ; preds = %entry + br label %if.merge.604 -if.else.557: ; preds = %entry +if.else.603: ; 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.849, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.558 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.944, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.604 -if.merge.558: ; preds = %if.else.557, %if.then.556 - %bp = phi { ptr, i64 } [ { ptr @str.847, i64 4 }, %if.then.556 ], [ %callN, %if.else.557 ] +if.merge.604: ; preds = %if.else.603, %if.then.602 + %bp = phi { ptr, i64 } [ { ptr @str.943, i64 4 }, %if.then.602 ], [ %callN, %if.else.603 ] ret { ptr, i64 } %bp } @@ -8933,20 +9838,20 @@ entry: 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.559, label %if.else.560 + br i1 %icmp, label %if.then.605, label %if.else.606 -if.then.559: ; preds = %entry - br label %if.merge.561 +if.then.605: ; preds = %entry + br label %if.merge.607 -if.else.560: ; preds = %entry +if.else.606: ; 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.852, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.561 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.948, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.947, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.607 -if.merge.561: ; preds = %if.else.560, %if.then.559 - %bp = phi { ptr, i64 } [ { ptr @str.850, i64 4 }, %if.then.559 ], [ %callN, %if.else.560 ] +if.merge.607: ; preds = %if.else.606, %if.then.605 + %bp = phi { ptr, i64 } [ { ptr @str.946, i64 4 }, %if.then.605 ], [ %callN, %if.else.606 ] ret { ptr, i64 } %bp } @@ -8961,20 +9866,20 @@ entry: 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.562, label %if.else.563 + br i1 %icmp, label %if.then.608, label %if.else.609 -if.then.562: ; preds = %entry - br label %if.merge.564 +if.then.608: ; preds = %entry + br label %if.merge.610 -if.else.563: ; preds = %entry +if.else.609: ; 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.855, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.564 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.951, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.950, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.610 -if.merge.564: ; preds = %if.else.563, %if.then.562 - %bp = phi { ptr, i64 } [ { ptr @str.853, i64 4 }, %if.then.562 ], [ %callN, %if.else.563 ] +if.merge.610: ; preds = %if.else.609, %if.then.608 + %bp = phi { ptr, i64 } [ { ptr @str.949, i64 4 }, %if.then.608 ], [ %callN, %if.else.609 ] ret { ptr, i64 } %bp } @@ -8989,20 +9894,20 @@ entry: 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.565, label %if.else.566 + br i1 %icmp, label %if.then.611, label %if.else.612 -if.then.565: ; preds = %entry - br label %if.merge.567 +if.then.611: ; preds = %entry + br label %if.merge.613 -if.else.566: ; preds = %entry +if.else.612: ; 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.858, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.857, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.567 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.954, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.953, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.613 -if.merge.567: ; preds = %if.else.566, %if.then.565 - %bp = phi { ptr, i64 } [ { ptr @str.856, i64 4 }, %if.then.565 ], [ %callN, %if.else.566 ] +if.merge.613: ; preds = %if.else.612, %if.then.611 + %bp = phi { ptr, i64 } [ { ptr @str.952, i64 4 }, %if.then.611 ], [ %callN, %if.else.612 ] ret { ptr, i64 } %bp } @@ -9015,12 +9920,12 @@ entry: %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.575, label %if.merge.576 + br i1 %lnot, label %if.then.621, label %if.merge.622 -if.then.575: ; preds = %entry - ret { ptr, i64 } { ptr @str.859, i64 4 } +if.then.621: ; preds = %entry + ret { ptr, i64 } { ptr @str.955, i64 4 } -if.merge.576: ; preds = %entry +if.merge.622: ; 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 @@ -9039,12 +9944,12 @@ entry: %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.577, label %if.merge.578 + br i1 %lnot, label %if.then.623, label %if.merge.624 -if.then.577: ; preds = %entry - ret { ptr, i64 } { ptr @str.860, i64 4 } +if.then.623: ; preds = %entry + ret { ptr, i64 } { ptr @str.956, i64 4 } -if.merge.578: ; preds = %entry +if.merge.624: ; 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 @@ -9062,12 +9967,12 @@ entry: %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.579, label %if.merge.580 + br i1 %lnot, label %if.then.625, label %if.merge.626 -if.then.579: ; preds = %entry - ret { ptr, i64 } { ptr @str.861, i64 4 } +if.then.625: ; preds = %entry + ret { ptr, i64 } { ptr @str.957, i64 4 } -if.merge.580: ; preds = %entry +if.merge.626: ; 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 @@ -9084,12 +9989,12 @@ entry: %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.581, label %if.merge.582 + br i1 %lnot, label %if.then.627, label %if.merge.628 -if.then.581: ; preds = %entry - ret { ptr, i64 } { ptr @str.862, i64 4 } +if.then.627: ; preds = %entry + ret { ptr, i64 } { ptr @str.958, i64 4 } -if.merge.582: ; preds = %entry +if.merge.628: ; 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 @@ -9108,12 +10013,12 @@ entry: %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.583, label %if.merge.584 + br i1 %lnot, label %if.then.629, label %if.merge.630 -if.then.583: ; preds = %entry - ret { ptr, i64 } { ptr @str.863, i64 4 } +if.then.629: ; preds = %entry + ret { ptr, i64 } { ptr @str.959, i64 4 } -if.merge.584: ; preds = %entry +if.merge.630: ; 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 @@ -9219,15 +10124,15 @@ define internal void @__sx_objc_selector_init() { entry: %sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_) store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_init, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.864) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.960) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setWidth_, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.865) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.961) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setHeight_, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.866) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.962) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_width, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.867) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.963) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_height, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.868) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.964) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_area, align 8 ret void } @@ -9239,25 +10144,25 @@ declare ptr @class_getInstanceVariable(ptr, ptr) define internal void @__sx_objc_defined_class_init() { entry: %super_cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_) - %cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.869, i64 0) + %cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.965, i64 0) %0 = call i8 @class_addIvar(ptr %cls, ptr @OBJC_IVAR_NAME_, i64 8, i8 3, ptr @OBJC_IVAR_TYPE_) %metacls = call ptr @object_getClass(ptr %cls) - %sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.870) + %sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.966) %1 = call i1 @class_addMethod(ptr %cls, ptr %sel, ptr @__SxBox_width_imp, ptr @OBJC_METH_VAR_TYPE_) - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.871) - %2 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setWidth_imp, ptr @OBJC_METH_VAR_TYPE_.872) - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.873) - %3 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_height_imp, ptr @OBJC_METH_VAR_TYPE_.874) - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.875) - %4 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setHeight_imp, ptr @OBJC_METH_VAR_TYPE_.876) - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.877) - %5 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_area_imp, ptr @OBJC_METH_VAR_TYPE_.878) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.967) + %2 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setWidth_imp, ptr @OBJC_METH_VAR_TYPE_.968) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.969) + %3 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_height_imp, ptr @OBJC_METH_VAR_TYPE_.970) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.971) + %4 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setHeight_imp, ptr @OBJC_METH_VAR_TYPE_.972) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.973) + %5 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_area_imp, ptr @OBJC_METH_VAR_TYPE_.974) call void @objc_registerClassPair(ptr %cls) store ptr %cls, ptr @__SxBox_class, align 8 - %sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.879) - %6 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxBox_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.880) - %sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.881) - %7 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxBox_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.882) + %sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.975) + %6 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxBox_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.976) + %sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.977) + %7 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxBox_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.978) %iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_) store ptr %iv, ptr @__SxBox_state_ivar, align 8 ret void @@ -9265,7 +10170,7 @@ entry: define internal void @__sx_objc_class_init() { entry: - %cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_.883) + %cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_.979) store ptr %cls, ptr @OBJC_CLASSLIST_REFERENCES_SxBox, align 8 ret void } diff --git a/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir b/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir index b7f2c37..f04b586 100644 --- a/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir +++ b/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 diff --git a/examples/expected/1332-ffi-objc-call-06-sret-return.ir b/examples/expected/1332-ffi-objc-call-06-sret-return.ir index 03a16fa..4ba914e 100644 --- a/examples/expected/1332-ffi-objc-call-06-sret-return.ir +++ b/examples/expected/1332-ffi-objc-call-06-sret-return.ir @@ -8,7 +8,7 @@ @str.117 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.118 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.119 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [194 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] +@__sx_type_is_unsigned = private constant [212 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.120 = private constant [11 x i8] c"WouldBlock\00" @tag.str.121 = private constant [7 x i8] c"Closed\00" @@ -29,474 +29,474 @@ @tag.str.136 = private constant [5 x i8] c"Init\00" @tag.str.137 = private constant [9 x i8] c"Register\00" @tag.str.138 = private constant [5 x i8] c"Wait\00" -@tag_names = private constant [20 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.120, i64 10 }, { ptr, i64 } { ptr @tag.str.121, i64 6 }, { ptr, i64 } { ptr @tag.str.122, i64 5 }, { ptr, i64 } { ptr @tag.str.123, i64 8 }, { ptr, i64 } { ptr @tag.str.124, i64 2 }, { ptr, i64 } { ptr @tag.str.125, i64 15 }, { ptr, i64 } { ptr @tag.str.126, i64 13 }, { ptr, i64 } { ptr @tag.str.127, i64 9 }, { ptr, i64 } { ptr @tag.str.128, i64 9 }, { ptr, i64 } { ptr @tag.str.129, i64 15 }, { ptr, i64 } { ptr @tag.str.130, i64 14 }, { ptr, i64 } { ptr @tag.str.131, i64 14 }, { ptr, i64 } { ptr @tag.str.132, i64 11 }, { ptr, i64 } { ptr @tag.str.133, i64 12 }, { ptr, i64 } { ptr @tag.str.134, i64 15 }, { ptr, i64 } { ptr @tag.str.135, i64 12 }, { ptr, i64 } { ptr @tag.str.136, i64 4 }, { ptr, i64 } { ptr @tag.str.137, i64 8 }, { ptr, i64 } { ptr @tag.str.138, i64 4 }] +@tag.str.139 = private constant [5 x i8] c"Bind\00" +@tag.str.140 = private constant [5 x i8] c"Loop\00" +@tag_names = private constant [22 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.120, i64 10 }, { ptr, i64 } { ptr @tag.str.121, i64 6 }, { ptr, i64 } { ptr @tag.str.122, i64 5 }, { ptr, i64 } { ptr @tag.str.123, i64 8 }, { ptr, i64 } { ptr @tag.str.124, i64 2 }, { ptr, i64 } { ptr @tag.str.125, i64 15 }, { ptr, i64 } { ptr @tag.str.126, i64 13 }, { ptr, i64 } { ptr @tag.str.127, i64 9 }, { ptr, i64 } { ptr @tag.str.128, i64 9 }, { ptr, i64 } { ptr @tag.str.129, i64 15 }, { ptr, i64 } { ptr @tag.str.130, i64 14 }, { ptr, i64 } { ptr @tag.str.131, i64 14 }, { ptr, i64 } { ptr @tag.str.132, i64 11 }, { ptr, i64 } { ptr @tag.str.133, i64 12 }, { ptr, i64 } { ptr @tag.str.134, i64 15 }, { ptr, i64 } { ptr @tag.str.135, i64 12 }, { ptr, i64 } { ptr @tag.str.136, i64 4 }, { ptr, i64 } { ptr @tag.str.137, i64 8 }, { ptr, i64 } { ptr @tag.str.138, i64 4 }, { ptr, i64 } { ptr @tag.str.139, i64 4 }, { ptr, i64 } { ptr @tag.str.140, i64 4 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.139 = private constant [5 x i8] c"bool\00" -@tn.str.140 = private constant [3 x i8] c"i8\00" -@tn.str.141 = private constant [4 x i8] c"i16\00" -@tn.str.142 = private constant [4 x i8] c"i32\00" -@tn.str.143 = private constant [4 x i8] c"i64\00" -@tn.str.144 = private constant [3 x i8] c"u8\00" -@tn.str.145 = private constant [4 x i8] c"u16\00" -@tn.str.146 = private constant [4 x i8] c"u32\00" -@tn.str.147 = private constant [4 x i8] c"u64\00" -@tn.str.148 = private constant [4 x i8] c"f32\00" -@tn.str.149 = private constant [4 x i8] c"f64\00" -@tn.str.150 = private constant [7 x i8] c"string\00" -@tn.str.151 = private constant [4 x i8] c"Any\00" -@tn.str.152 = private constant [9 x i8] c"noreturn\00" -@tn.str.153 = private constant [6 x i8] c"isize\00" -@tn.str.154 = private constant [6 x i8] c"usize\00" -@tn.str.155 = private constant [5 x i8] c"void\00" -@tn.str.156 = private constant [8 x i8] c"cstring\00" -@tn.str.157 = private constant [6 x i8] c"*void\00" -@tn.str.158 = private constant [16 x i8] c"Source_Location\00" -@tn.str.159 = private constant [10 x i8] c"Allocator\00" -@tn.str.160 = private constant [8 x i8] c"Context\00" -@tn.str.161 = private constant [7 x i8] c"[4]i64\00" -@tn.str.162 = private constant [9 x i8] c"[]string\00" -@tn.str.163 = private constant [11 x i8] c"CAllocator\00" -@tn.str.164 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.165 = private constant [4 x i8] c"GPA\00" -@tn.str.166 = private constant [5 x i8] c"*GPA\00" -@tn.str.167 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.168 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.169 = private constant [6 x i8] c"Arena\00" -@tn.str.170 = private constant [7 x i8] c"*Arena\00" -@tn.str.171 = private constant [6 x i8] c"[*]u8\00" -@tn.str.172 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.173 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.174 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.175 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.176 = private constant [9 x i8] c"OpenMode\00" -@tn.str.177 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.178 = private constant [5 x i8] c"File\00" -@tn.str.179 = private constant [6 x i8] c"*File\00" -@tn.str.180 = private constant [6 x i8] c"?File\00" -@tn.str.181 = private constant [8 x i8] c"?string\00" -@tn.str.182 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.183 = private constant [9 x i8] c"?cstring\00" -@tn.str.184 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.185 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.186 = private constant [5 x i8] c"*i32\00" -@tn.str.187 = private constant [9 x i8] c"SockAddr\00" -@tn.str.188 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.189 = private constant [5 x i8] c"*u32\00" -@tn.str.190 = private constant [8 x i8] c"SockErr\00" -@tn.str.191 = private constant [15 x i8] c"(i32, SockErr)\00" -@tn.str.192 = private constant [15 x i8] c"(i64, SockErr)\00" -@tn.str.193 = private constant [10 x i8] c"JsonError\00" -@tn.str.194 = private constant [6 x i8] c"Array\00" -@tn.str.195 = private constant [7 x i8] c"Object\00" -@tn.str.196 = private constant [6 x i8] c"Value\00" -@tn.str.197 = private constant [7 x i8] c"Member\00" -@tn.str.198 = private constant [9 x i8] c"[*]Value\00" -@tn.str.199 = private constant [7 x i8] c"*Array\00" -@tn.str.200 = private constant [10 x i8] c"[*]Member\00" -@tn.str.201 = private constant [8 x i8] c"*Object\00" -@tn.str.202 = private constant [5 x i8] c"[]u8\00" -@tn.str.203 = private constant [5 x i8] c"Sink\00" -@tn.str.204 = private constant [6 x i8] c"*Sink\00" -@tn.str.205 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.206 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.207 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.208 = private constant [7 x i8] c"Parser\00" -@tn.str.209 = private constant [8 x i8] c"*Parser\00" -@tn.str.210 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.211 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.212 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.213 = private constant [13 x i8] c"Architecture\00" -@tn.str.214 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.215 = private constant [11 x i8] c"() -> bool\00" -@tn.str.216 = private constant [5 x i8] c"*i64\00" -@tn.str.217 = private constant [9 x i8] c"CliError\00" -@tn.str.218 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.219 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.220 = private constant [8 x i8] c"Command\00" -@tn.str.221 = private constant [10 x i8] c"FlagValue\00" -@tn.str.222 = private constant [5 x i8] c"Diag\00" -@tn.str.223 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.224 = private constant [7 x i8] c"Parsed\00" -@tn.str.225 = private constant [8 x i8] c"*Parsed\00" -@tn.str.226 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.227 = private constant [10 x i8] c"[]Command\00" -@tn.str.228 = private constant [6 x i8] c"*Diag\00" -@tn.str.229 = private constant [7 x i8] c"[8]i64\00" -@tn.str.230 = private constant [7 x i8] c"[64]u8\00" -@tn.str.231 = private constant [7 x i8] c"Sha256\00" -@tn.str.232 = private constant [8 x i8] c"*Sha256\00" -@tn.str.233 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.234 = private constant [8 x i8] c"[64]i64\00" -@tn.str.235 = private constant [9 x i8] c"Timespec\00" -@tn.str.236 = private constant [10 x i8] c"*Timespec\00" -@tn.str.237 = private constant [7 x i8] c"Kevent\00" -@tn.str.238 = private constant [11 x i8] c"KqTimespec\00" -@tn.str.239 = private constant [8 x i8] c"*Kevent\00" -@tn.str.240 = private constant [12 x i8] c"*KqTimespec\00" -@tn.str.241 = private constant [9 x i8] c"EventErr\00" -@tn.str.242 = private constant [6 x i8] c"Event\00" -@tn.str.243 = private constant [5 x i8] c"Loop\00" -@tn.str.244 = private constant [17 x i8] c"(Loop, EventErr)\00" -@tn.str.245 = private constant [6 x i8] c"*Loop\00" -@tn.str.246 = private constant [16 x i8] c"(i64, EventErr)\00" -@tn.str.247 = private constant [8 x i8] c"[]Event\00" -@tn.str.248 = private constant [9 x i8] c"NSString\00" -@tn.str.249 = private constant [10 x i8] c"*NSString\00" -@tn.str.250 = private constant [10 x i8] c"Closure()\00" -@tn.str.251 = private constant [7 x i8] c"Triple\00" -@tn.str.252 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.253 = private constant [7 x i8] c"**void\00" -@tn.str.254 = private constant [6 x i8] c"*bool\00" -@tn.str.255 = private constant [8 x i8] c"*string\00" -@tn.str.256 = private constant [6 x i8] c"[]Any\00" -@tn.str.257 = private constant [5 x i8] c"*Any\00" -@tn.str.258 = private constant [7 x i8] c"[1]Any\00" -@tn.str.259 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.260 = private constant [7 x i8] c"*[]Any\00" -@tn.str.261 = private constant [4 x i8] c"*u8\00" -@tn.str.262 = private constant [8 x i8] c"*Triple\00" -@tn.str.263 = private constant [7 x i8] c"[3]Any\00" -@tn.str.264 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.265 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.266 = private constant [5 x i8] c"*f64\00" -@tn.str.267 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.268 = private constant [11 x i8] c"*Allocator\00" -@tn.str.269 = private constant [9 x i8] c"*Context\00" -@tn.str.270 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.271 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.272 = private constant [8 x i8] c"*Member\00" -@tn.str.273 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.274 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.275 = private constant [9 x i8] c"*Command\00" -@tn.str.276 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.277 = private constant [7 x i8] c"*Event\00" -@tn.str.278 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.279 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.280 = private constant [7 x i8] c"*Value\00" -@tn.str.281 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.282 = private constant [14 x i8] c"*Architecture\00" -@tn.str.283 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.284 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.285 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.286 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.287 = private constant [10 x i8] c"*[]string\00" -@tn.str.288 = private constant [6 x i8] c"*[]u8\00" -@tn.str.289 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.290 = private constant [11 x i8] c"*[]Command\00" -@tn.str.291 = private constant [9 x i8] c"*[]Event\00" -@tn.str.292 = private constant [6 x i8] c"**GPA\00" -@tn.str.293 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.294 = private constant [8 x i8] c"**Arena\00" -@tn.str.295 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.296 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.297 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.298 = private constant [7 x i8] c"**File\00" -@tn.str.299 = private constant [6 x i8] c"**i32\00" -@tn.str.300 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.301 = private constant [6 x i8] c"**u32\00" -@tn.str.302 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.303 = private constant [8 x i8] c"**Array\00" -@tn.str.304 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.305 = private constant [9 x i8] c"**Object\00" -@tn.str.306 = private constant [7 x i8] c"**Sink\00" -@tn.str.307 = private constant [9 x i8] c"**Parser\00" -@tn.str.308 = private constant [6 x i8] c"**i64\00" -@tn.str.309 = private constant [9 x i8] c"**Parsed\00" -@tn.str.310 = private constant [7 x i8] c"**Diag\00" -@tn.str.311 = private constant [9 x i8] c"**Sha256\00" -@tn.str.312 = private constant [11 x i8] c"**Timespec\00" -@tn.str.313 = private constant [9 x i8] c"**Kevent\00" -@tn.str.314 = private constant [13 x i8] c"**KqTimespec\00" -@tn.str.315 = private constant [7 x i8] c"**Loop\00" -@tn.str.316 = private constant [11 x i8] c"**NSString\00" -@tn.str.317 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.318 = private constant [8 x i8] c"***void\00" -@tn.str.319 = private constant [7 x i8] c"**bool\00" -@tn.str.320 = private constant [9 x i8] c"**string\00" -@tn.str.321 = private constant [6 x i8] c"**Any\00" -@tn.str.322 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.323 = private constant [8 x i8] c"**[]Any\00" -@tn.str.324 = private constant [5 x i8] c"**u8\00" -@tn.str.325 = private constant [9 x i8] c"**Triple\00" -@tn.str.326 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.327 = private constant [7 x i8] c"*?File\00" -@tn.str.328 = private constant [9 x i8] c"*?string\00" -@tn.str.329 = private constant [10 x i8] c"*?cstring\00" -@tn.str.330 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.331 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [194 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.139, i64 4 }, { ptr, i64 } { ptr @tn.str.140, i64 2 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 3 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 2 }, { ptr, i64 } { ptr @tn.str.145, i64 3 }, { ptr, i64 } { ptr @tn.str.146, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.151, i64 3 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 5 }, { ptr, i64 } { ptr @tn.str.154, i64 5 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 7 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 15 }, { ptr, i64 } { ptr @tn.str.159, i64 9 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 8 }, { ptr, i64 } { ptr @tn.str.163, i64 10 }, { ptr, i64 } { ptr @tn.str.164, i64 11 }, { ptr, i64 } { ptr @tn.str.165, i64 3 }, { ptr, i64 } { ptr @tn.str.166, i64 4 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 11 }, { ptr, i64 } { ptr @tn.str.169, i64 5 }, { ptr, i64 } { ptr @tn.str.170, i64 6 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 17 }, { ptr, i64 } { ptr @tn.str.175, i64 18 }, { ptr, i64 } { ptr @tn.str.176, i64 8 }, { ptr, i64 } { ptr @tn.str.177, i64 8 }, { ptr, i64 } { ptr @tn.str.178, i64 4 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 7 }, { ptr, i64 } { ptr @tn.str.182, i64 10 }, { ptr, i64 } { ptr @tn.str.183, i64 8 }, { ptr, i64 } { ptr @tn.str.184, i64 13 }, { ptr, i64 } { ptr @tn.str.185, i64 14 }, { ptr, i64 } { ptr @tn.str.186, i64 4 }, { ptr, i64 } { ptr @tn.str.187, i64 8 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 14 }, { ptr, i64 } { ptr @tn.str.192, i64 14 }, { ptr, i64 } { ptr @tn.str.193, i64 9 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 8 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 9 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 4 }, { ptr, i64 } { ptr @tn.str.204, i64 5 }, { ptr, i64 } { ptr @tn.str.205, i64 16 }, { ptr, i64 } { ptr @tn.str.206, i64 14 }, { ptr, i64 } { ptr @tn.str.207, i64 21 }, { ptr, i64 } { ptr @tn.str.208, i64 6 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 24 }, { ptr, i64 } { ptr @tn.str.211, i64 23 }, { ptr, i64 } { ptr @tn.str.212, i64 15 }, { ptr, i64 } { ptr @tn.str.213, i64 12 }, { ptr, i64 } { ptr @tn.str.214, i64 12 }, { ptr, i64 } { ptr @tn.str.215, i64 10 }, { ptr, i64 } { ptr @tn.str.216, i64 4 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 4 }, { ptr, i64 } { ptr @tn.str.223, i64 13 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 18 }, { ptr, i64 } { ptr @tn.str.227, i64 9 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 7 }, { ptr, i64 } { ptr @tn.str.240, i64 11 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 4 }, { ptr, i64 } { ptr @tn.str.244, i64 16 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 15 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 9 }, { ptr, i64 } { ptr @tn.str.250, i64 9 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 12 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 5 }, { ptr, i64 } { ptr @tn.str.255, i64 7 }, { ptr, i64 } { ptr @tn.str.256, i64 5 }, { ptr, i64 } { ptr @tn.str.257, i64 4 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 3 }, { ptr, i64 } { ptr @tn.str.262, i64 7 }, { ptr, i64 } { ptr @tn.str.263, i64 6 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 7 }, { ptr, i64 } { ptr @tn.str.266, i64 4 }, { ptr, i64 } { ptr @tn.str.267, i64 16 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 11 }, { ptr, i64 } { ptr @tn.str.271, i64 14 }, { ptr, i64 } { ptr @tn.str.272, i64 7 }, { ptr, i64 } { ptr @tn.str.273, i64 13 }, { ptr, i64 } { ptr @tn.str.274, i64 9 }, { ptr, i64 } { ptr @tn.str.275, i64 8 }, { ptr, i64 } { ptr @tn.str.276, i64 10 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 9 }, { ptr, i64 } { ptr @tn.str.279, i64 9 }, { ptr, i64 } { ptr @tn.str.280, i64 6 }, { ptr, i64 } { ptr @tn.str.281, i64 16 }, { ptr, i64 } { ptr @tn.str.282, i64 13 }, { ptr, i64 } { ptr @tn.str.283, i64 14 }, { ptr, i64 } { ptr @tn.str.284, i64 7 }, { ptr, i64 } { ptr @tn.str.285, i64 7 }, { ptr, i64 } { ptr @tn.str.286, i64 8 }, { ptr, i64 } { ptr @tn.str.287, i64 9 }, { ptr, i64 } { ptr @tn.str.288, i64 5 }, { ptr, i64 } { ptr @tn.str.289, i64 11 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 5 }, { ptr, i64 } { ptr @tn.str.293, i64 12 }, { ptr, i64 } { ptr @tn.str.294, i64 7 }, { ptr, i64 } { ptr @tn.str.295, i64 6 }, { ptr, i64 } { ptr @tn.str.296, i64 10 }, { ptr, i64 } { ptr @tn.str.297, i64 19 }, { ptr, i64 } { ptr @tn.str.298, i64 6 }, { ptr, i64 } { ptr @tn.str.299, i64 5 }, { ptr, i64 } { ptr @tn.str.300, i64 10 }, { ptr, i64 } { ptr @tn.str.301, i64 5 }, { ptr, i64 } { ptr @tn.str.302, i64 9 }, { ptr, i64 } { ptr @tn.str.303, i64 7 }, { ptr, i64 } { ptr @tn.str.304, i64 10 }, { ptr, i64 } { ptr @tn.str.305, i64 8 }, { ptr, i64 } { ptr @tn.str.306, i64 6 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }, { ptr, i64 } { ptr @tn.str.308, i64 5 }, { ptr, i64 } { ptr @tn.str.309, i64 8 }, { ptr, i64 } { ptr @tn.str.310, i64 6 }, { ptr, i64 } { ptr @tn.str.311, i64 8 }, { ptr, i64 } { ptr @tn.str.312, i64 10 }, { ptr, i64 } { ptr @tn.str.313, i64 8 }, { ptr, i64 } { ptr @tn.str.314, i64 12 }, { ptr, i64 } { ptr @tn.str.315, i64 6 }, { ptr, i64 } { ptr @tn.str.316, i64 10 }, { ptr, i64 } { ptr @tn.str.317, i64 13 }, { ptr, i64 } { ptr @tn.str.318, i64 7 }, { ptr, i64 } { ptr @tn.str.319, i64 6 }, { ptr, i64 } { ptr @tn.str.320, i64 8 }, { ptr, i64 } { ptr @tn.str.321, i64 5 }, { ptr, i64 } { ptr @tn.str.322, i64 8 }, { ptr, i64 } { ptr @tn.str.323, i64 7 }, { ptr, i64 } { ptr @tn.str.324, i64 4 }, { ptr, i64 } { ptr @tn.str.325, i64 8 }, { ptr, i64 } { ptr @tn.str.326, i64 8 }, { ptr, i64 } { ptr @tn.str.327, i64 6 }, { ptr, i64 } { ptr @tn.str.328, i64 8 }, { ptr, i64 } { ptr @tn.str.329, i64 9 }, { ptr, i64 } { ptr @tn.str.330, i64 15 }, { ptr, i64 } { ptr @tn.str.331, i64 8 }] -@str.332 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.334 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.335 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.337 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.338 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.339 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.340 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.341 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.342 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.343 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.344 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.345 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.346 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.347 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.348 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.349 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.350 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.351 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.352 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.353 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1 -@str.354 = private unnamed_addr constant [14 x i8] c"SxTripleProbe\00", align 1 -@str.355 = private unnamed_addr constant [12 x i8] c"tripleValue\00", align 1 -@str.356 = private unnamed_addr constant [15 x i8] c"{Triple=qqq}@:\00", align 1 -@str.357 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 -@str.358 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.359 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 -@str.360 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 -@str.361 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.362 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 -@str.363 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.364 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.365 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.366 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@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 [6 x i8] c"*void\00" +@tn.str.160 = private constant [16 x i8] c"Source_Location\00" +@tn.str.161 = private constant [10 x i8] c"Allocator\00" +@tn.str.162 = private constant [8 x i8] c"Context\00" +@tn.str.163 = private constant [7 x i8] c"[4]i64\00" +@tn.str.164 = private constant [9 x i8] c"[]string\00" +@tn.str.165 = private constant [11 x i8] c"CAllocator\00" +@tn.str.166 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.167 = private constant [4 x i8] c"GPA\00" +@tn.str.168 = private constant [5 x i8] c"*GPA\00" +@tn.str.169 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.170 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.171 = private constant [6 x i8] c"Arena\00" +@tn.str.172 = private constant [7 x i8] c"*Arena\00" +@tn.str.173 = private constant [6 x i8] c"[*]u8\00" +@tn.str.174 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.175 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.176 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.177 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.178 = private constant [9 x i8] c"OpenMode\00" +@tn.str.179 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.180 = private constant [5 x i8] c"File\00" +@tn.str.181 = private constant [6 x i8] c"*File\00" +@tn.str.182 = private constant [6 x i8] c"?File\00" +@tn.str.183 = private constant [8 x i8] c"?string\00" +@tn.str.184 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.185 = private constant [9 x i8] c"?cstring\00" +@tn.str.186 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.187 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.188 = private constant [5 x i8] c"*i32\00" +@tn.str.189 = private constant [9 x i8] c"SockAddr\00" +@tn.str.190 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.191 = private constant [5 x i8] c"*u32\00" +@tn.str.192 = private constant [8 x i8] c"SockErr\00" +@tn.str.193 = private constant [15 x i8] c"(i32, SockErr)\00" +@tn.str.194 = private constant [15 x i8] c"(i64, SockErr)\00" +@tn.str.195 = private constant [10 x i8] c"JsonError\00" +@tn.str.196 = private constant [6 x i8] c"Array\00" +@tn.str.197 = private constant [7 x i8] c"Object\00" +@tn.str.198 = private constant [6 x i8] c"Value\00" +@tn.str.199 = private constant [7 x i8] c"Member\00" +@tn.str.200 = private constant [9 x i8] c"[*]Value\00" +@tn.str.201 = private constant [7 x i8] c"*Array\00" +@tn.str.202 = private constant [10 x i8] c"[*]Member\00" +@tn.str.203 = private constant [8 x i8] c"*Object\00" +@tn.str.204 = private constant [5 x i8] c"[]u8\00" +@tn.str.205 = private constant [5 x i8] c"Sink\00" +@tn.str.206 = private constant [6 x i8] c"*Sink\00" +@tn.str.207 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.208 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.209 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.210 = private constant [7 x i8] c"Parser\00" +@tn.str.211 = private constant [8 x i8] c"*Parser\00" +@tn.str.212 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.213 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.214 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.215 = private constant [13 x i8] c"Architecture\00" +@tn.str.216 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.217 = private constant [11 x i8] c"() -> bool\00" +@tn.str.218 = private constant [5 x i8] c"*i64\00" +@tn.str.219 = private constant [9 x i8] c"CliError\00" +@tn.str.220 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.221 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.222 = private constant [8 x i8] c"Command\00" +@tn.str.223 = private constant [10 x i8] c"FlagValue\00" +@tn.str.224 = private constant [5 x i8] c"Diag\00" +@tn.str.225 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.226 = private constant [7 x i8] c"Parsed\00" +@tn.str.227 = private constant [8 x i8] c"*Parsed\00" +@tn.str.228 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.229 = private constant [10 x i8] c"[]Command\00" +@tn.str.230 = private constant [6 x i8] c"*Diag\00" +@tn.str.231 = private constant [7 x i8] c"[8]i64\00" +@tn.str.232 = private constant [7 x i8] c"[64]u8\00" +@tn.str.233 = private constant [7 x i8] c"Sha256\00" +@tn.str.234 = private constant [8 x i8] c"*Sha256\00" +@tn.str.235 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.236 = private constant [8 x i8] c"[64]i64\00" +@tn.str.237 = private constant [9 x i8] c"Timespec\00" +@tn.str.238 = private constant [10 x i8] c"*Timespec\00" +@tn.str.239 = private constant [7 x i8] c"Kevent\00" +@tn.str.240 = private constant [11 x i8] c"KqTimespec\00" +@tn.str.241 = private constant [8 x i8] c"*Kevent\00" +@tn.str.242 = private constant [12 x i8] c"*KqTimespec\00" +@tn.str.243 = private constant [9 x i8] c"EventErr\00" +@tn.str.244 = private constant [6 x i8] c"Event\00" +@tn.str.245 = private constant [5 x i8] c"Loop\00" +@tn.str.246 = private constant [17 x i8] c"(Loop, EventErr)\00" +@tn.str.247 = private constant [6 x i8] c"*Loop\00" +@tn.str.248 = private constant [16 x i8] c"(i64, EventErr)\00" +@tn.str.249 = private constant [8 x i8] c"[]Event\00" +@tn.str.250 = private constant [8 x i8] c"HttpErr\00" +@tn.str.251 = private constant [7 x i8] c"Config\00" +@tn.str.252 = private constant [8 x i8] c"Request\00" +@tn.str.253 = private constant [9 x i8] c"Response\00" +@tn.str.254 = private constant [9 x i8] c"*Request\00" +@tn.str.255 = private constant [5 x i8] c"Conn\00" +@tn.str.256 = private constant [8 x i8] c"[*]Conn\00" +@tn.str.257 = private constant [10 x i8] c"*Response\00" +@tn.str.258 = private constant [22 x i8] c"(*Request, *Response)\00" +@tn.str.259 = private constant [7 x i8] c"Server\00" +@tn.str.260 = private constant [18 x i8] c"(Server, HttpErr)\00" +@tn.str.261 = private constant [8 x i8] c"*Server\00" +@tn.str.262 = private constant [9 x i8] c"NSString\00" +@tn.str.263 = private constant [10 x i8] c"*NSString\00" +@tn.str.264 = private constant [10 x i8] c"Closure()\00" +@tn.str.265 = private constant [7 x i8] c"Triple\00" +@tn.str.266 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.267 = private constant [7 x i8] c"**void\00" +@tn.str.268 = private constant [6 x i8] c"*bool\00" +@tn.str.269 = private constant [8 x i8] c"*string\00" +@tn.str.270 = private constant [6 x i8] c"[]Any\00" +@tn.str.271 = private constant [5 x i8] c"*Any\00" +@tn.str.272 = private constant [7 x i8] c"[1]Any\00" +@tn.str.273 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.274 = private constant [7 x i8] c"*[]Any\00" +@tn.str.275 = private constant [4 x i8] c"*u8\00" +@tn.str.276 = private constant [8 x i8] c"*Triple\00" +@tn.str.277 = private constant [7 x i8] c"[3]Any\00" +@tn.str.278 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.279 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.280 = private constant [5 x i8] c"*f64\00" +@tn.str.281 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.282 = private constant [11 x i8] c"*Allocator\00" +@tn.str.283 = private constant [9 x i8] c"*Context\00" +@tn.str.284 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.285 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.286 = private constant [8 x i8] c"*Member\00" +@tn.str.287 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.288 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.289 = private constant [9 x i8] c"*Command\00" +@tn.str.290 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.291 = private constant [7 x i8] c"*Event\00" +@tn.str.292 = private constant [8 x i8] c"*Config\00" +@tn.str.293 = private constant [6 x i8] c"*Conn\00" +@tn.str.294 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.295 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.296 = private constant [7 x i8] c"*Value\00" +@tn.str.297 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.298 = private constant [14 x i8] c"*Architecture\00" +@tn.str.299 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.300 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.301 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.302 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.303 = private constant [10 x i8] c"*[]string\00" +@tn.str.304 = private constant [6 x i8] c"*[]u8\00" +@tn.str.305 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.306 = private constant [11 x i8] c"*[]Command\00" +@tn.str.307 = private constant [9 x i8] c"*[]Event\00" +@tn.str.308 = private constant [6 x i8] c"**GPA\00" +@tn.str.309 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.310 = private constant [8 x i8] c"**Arena\00" +@tn.str.311 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.312 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.313 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.314 = private constant [7 x i8] c"**File\00" +@tn.str.315 = private constant [6 x i8] c"**i32\00" +@tn.str.316 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.317 = private constant [6 x i8] c"**u32\00" +@tn.str.318 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.319 = private constant [8 x i8] c"**Array\00" +@tn.str.320 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.321 = private constant [9 x i8] c"**Object\00" +@tn.str.322 = private constant [7 x i8] c"**Sink\00" +@tn.str.323 = private constant [9 x i8] c"**Parser\00" +@tn.str.324 = private constant [6 x i8] c"**i64\00" +@tn.str.325 = private constant [9 x i8] c"**Parsed\00" +@tn.str.326 = private constant [7 x i8] c"**Diag\00" +@tn.str.327 = private constant [9 x i8] c"**Sha256\00" +@tn.str.328 = private constant [11 x i8] c"**Timespec\00" +@tn.str.329 = private constant [9 x i8] c"**Kevent\00" +@tn.str.330 = private constant [13 x i8] c"**KqTimespec\00" +@tn.str.331 = private constant [7 x i8] c"**Loop\00" +@tn.str.332 = private constant [10 x i8] c"**Request\00" +@tn.str.333 = private constant [9 x i8] c"*[*]Conn\00" +@tn.str.334 = private constant [11 x i8] c"**Response\00" +@tn.str.335 = private constant [9 x i8] c"**Server\00" +@tn.str.336 = private constant [11 x i8] c"**NSString\00" +@tn.str.337 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.338 = private constant [8 x i8] c"***void\00" +@tn.str.339 = private constant [7 x i8] c"**bool\00" +@tn.str.340 = private constant [9 x i8] c"**string\00" +@tn.str.341 = private constant [6 x i8] c"**Any\00" +@tn.str.342 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.343 = private constant [8 x i8] c"**[]Any\00" +@tn.str.344 = private constant [5 x i8] c"**u8\00" +@tn.str.345 = private constant [9 x i8] c"**Triple\00" +@tn.str.346 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.347 = private constant [7 x i8] c"*?File\00" +@tn.str.348 = private constant [9 x i8] c"*?string\00" +@tn.str.349 = private constant [10 x i8] c"*?cstring\00" +@tn.str.350 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.351 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [212 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 5 }, { ptr, i64 } { ptr @tn.str.160, i64 15 }, { ptr, i64 } { ptr @tn.str.161, i64 9 }, { ptr, i64 } { ptr @tn.str.162, i64 7 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 8 }, { ptr, i64 } { ptr @tn.str.165, i64 10 }, { ptr, i64 } { ptr @tn.str.166, i64 11 }, { ptr, i64 } { ptr @tn.str.167, i64 3 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 10 }, { ptr, i64 } { ptr @tn.str.170, i64 11 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 6 }, { ptr, i64 } { ptr @tn.str.173, i64 5 }, { ptr, i64 } { ptr @tn.str.174, i64 8 }, { ptr, i64 } { ptr @tn.str.175, i64 9 }, { ptr, i64 } { ptr @tn.str.176, i64 17 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 8 }, { ptr, i64 } { ptr @tn.str.179, i64 8 }, { ptr, i64 } { ptr @tn.str.180, i64 4 }, { ptr, i64 } { ptr @tn.str.181, i64 5 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 10 }, { ptr, i64 } { ptr @tn.str.185, i64 8 }, { ptr, i64 } { ptr @tn.str.186, i64 13 }, { ptr, i64 } { ptr @tn.str.187, i64 14 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 8 }, { ptr, i64 } { ptr @tn.str.190, i64 9 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 14 }, { ptr, i64 } { ptr @tn.str.194, i64 14 }, { ptr, i64 } { ptr @tn.str.195, i64 9 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 9 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 4 }, { ptr, i64 } { ptr @tn.str.206, i64 5 }, { ptr, i64 } { ptr @tn.str.207, i64 16 }, { ptr, i64 } { ptr @tn.str.208, i64 14 }, { ptr, i64 } { ptr @tn.str.209, i64 21 }, { ptr, i64 } { ptr @tn.str.210, i64 6 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 24 }, { ptr, i64 } { ptr @tn.str.213, i64 23 }, { ptr, i64 } { ptr @tn.str.214, i64 15 }, { ptr, i64 } { ptr @tn.str.215, i64 12 }, { ptr, i64 } { ptr @tn.str.216, i64 12 }, { ptr, i64 } { ptr @tn.str.217, i64 10 }, { ptr, i64 } { ptr @tn.str.218, i64 4 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 8 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 9 }, { ptr, i64 } { ptr @tn.str.224, i64 4 }, { ptr, i64 } { ptr @tn.str.225, i64 13 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 18 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 9 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 7 }, { ptr, i64 } { ptr @tn.str.242, i64 11 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 4 }, { ptr, i64 } { ptr @tn.str.246, i64 16 }, { ptr, i64 } { ptr @tn.str.247, i64 5 }, { ptr, i64 } { ptr @tn.str.248, i64 15 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 4 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 21 }, { ptr, i64 } { ptr @tn.str.259, i64 6 }, { ptr, i64 } { ptr @tn.str.260, i64 17 }, { ptr, i64 } { ptr @tn.str.261, i64 7 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 12 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 5 }, { ptr, i64 } { ptr @tn.str.269, i64 7 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 4 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 7 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 3 }, { ptr, i64 } { ptr @tn.str.276, i64 7 }, { ptr, i64 } { ptr @tn.str.277, i64 6 }, { ptr, i64 } { ptr @tn.str.278, i64 7 }, { ptr, i64 } { ptr @tn.str.279, i64 7 }, { ptr, i64 } { ptr @tn.str.280, i64 4 }, { ptr, i64 } { ptr @tn.str.281, i64 16 }, { ptr, i64 } { ptr @tn.str.282, i64 10 }, { ptr, i64 } { ptr @tn.str.283, i64 8 }, { ptr, i64 } { ptr @tn.str.284, i64 11 }, { ptr, i64 } { ptr @tn.str.285, i64 14 }, { ptr, i64 } { ptr @tn.str.286, i64 7 }, { ptr, i64 } { ptr @tn.str.287, i64 13 }, { ptr, i64 } { ptr @tn.str.288, i64 9 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 10 }, { ptr, i64 } { ptr @tn.str.291, i64 6 }, { ptr, i64 } { ptr @tn.str.292, i64 7 }, { ptr, i64 } { ptr @tn.str.293, i64 5 }, { ptr, i64 } { ptr @tn.str.294, i64 9 }, { ptr, i64 } { ptr @tn.str.295, i64 9 }, { ptr, i64 } { ptr @tn.str.296, i64 6 }, { ptr, i64 } { ptr @tn.str.297, i64 16 }, { ptr, i64 } { ptr @tn.str.298, i64 13 }, { ptr, i64 } { ptr @tn.str.299, i64 14 }, { ptr, i64 } { ptr @tn.str.300, i64 7 }, { ptr, i64 } { ptr @tn.str.301, i64 7 }, { ptr, i64 } { ptr @tn.str.302, i64 8 }, { ptr, i64 } { ptr @tn.str.303, i64 9 }, { ptr, i64 } { ptr @tn.str.304, i64 5 }, { ptr, i64 } { ptr @tn.str.305, i64 11 }, { ptr, i64 } { ptr @tn.str.306, i64 10 }, { ptr, i64 } { ptr @tn.str.307, i64 8 }, { ptr, i64 } { ptr @tn.str.308, i64 5 }, { ptr, i64 } { ptr @tn.str.309, i64 12 }, { ptr, i64 } { ptr @tn.str.310, i64 7 }, { ptr, i64 } { ptr @tn.str.311, i64 6 }, { ptr, i64 } { ptr @tn.str.312, i64 10 }, { ptr, i64 } { ptr @tn.str.313, i64 19 }, { ptr, i64 } { ptr @tn.str.314, i64 6 }, { ptr, i64 } { ptr @tn.str.315, i64 5 }, { ptr, i64 } { ptr @tn.str.316, i64 10 }, { ptr, i64 } { ptr @tn.str.317, i64 5 }, { ptr, i64 } { ptr @tn.str.318, i64 9 }, { ptr, i64 } { ptr @tn.str.319, i64 7 }, { ptr, i64 } { ptr @tn.str.320, i64 10 }, { ptr, i64 } { ptr @tn.str.321, i64 8 }, { ptr, i64 } { ptr @tn.str.322, i64 6 }, { ptr, i64 } { ptr @tn.str.323, i64 8 }, { ptr, i64 } { ptr @tn.str.324, i64 5 }, { ptr, i64 } { ptr @tn.str.325, i64 8 }, { ptr, i64 } { ptr @tn.str.326, i64 6 }, { ptr, i64 } { ptr @tn.str.327, i64 8 }, { ptr, i64 } { ptr @tn.str.328, i64 10 }, { ptr, i64 } { ptr @tn.str.329, i64 8 }, { ptr, i64 } { ptr @tn.str.330, i64 12 }, { ptr, i64 } { ptr @tn.str.331, i64 6 }, { ptr, i64 } { ptr @tn.str.332, i64 9 }, { ptr, i64 } { ptr @tn.str.333, i64 8 }, { ptr, i64 } { ptr @tn.str.334, i64 10 }, { ptr, i64 } { ptr @tn.str.335, i64 8 }, { ptr, i64 } { ptr @tn.str.336, i64 10 }, { ptr, i64 } { ptr @tn.str.337, i64 13 }, { ptr, i64 } { ptr @tn.str.338, i64 7 }, { ptr, i64 } { ptr @tn.str.339, i64 6 }, { ptr, i64 } { ptr @tn.str.340, i64 8 }, { ptr, i64 } { ptr @tn.str.341, i64 5 }, { ptr, i64 } { ptr @tn.str.342, i64 8 }, { ptr, i64 } { ptr @tn.str.343, i64 7 }, { ptr, i64 } { ptr @tn.str.344, i64 4 }, { ptr, i64 } { ptr @tn.str.345, i64 8 }, { ptr, i64 } { ptr @tn.str.346, i64 8 }, { ptr, i64 } { ptr @tn.str.347, i64 6 }, { ptr, i64 } { ptr @tn.str.348, i64 8 }, { ptr, i64 } { ptr @tn.str.349, i64 9 }, { ptr, i64 } { ptr @tn.str.350, i64 15 }, { ptr, i64 } { ptr @tn.str.351, i64 8 }] +@str.352 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.353 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.354 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.355 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.356 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.357 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.358 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.359 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.360 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.361 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.362 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.363 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 +@str.364 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.365 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.366 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.367 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.368 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.369 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.370 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.371 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.372 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.373 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1 +@str.374 = private unnamed_addr constant [14 x i8] c"SxTripleProbe\00", align 1 +@str.375 = private unnamed_addr constant [12 x i8] c"tripleValue\00", align 1 +@str.376 = private unnamed_addr constant [15 x i8] c"{Triple=qqq}@:\00", align 1 +@str.377 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 +@str.378 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.379 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 +@str.380 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 +@str.381 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.382 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 +@str.383 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.384 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.385 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.386 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.367 = private constant [5 x i8] c"line\00" -@fld.str.368 = private constant [4 x i8] c"col\00" -@fld.str.369 = 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.367, i64 4 }, { ptr, i64 } { ptr @fld.str.368, i64 3 }, { ptr, i64 } { ptr @fld.str.369, i64 4 }] -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.372 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.373 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.374 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.375 = private constant [4 x i8] c"ctx\00" -@fld.str.376 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.377 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.378 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 3 }, { ptr, i64 } { ptr @fld.str.376, i64 11 }, { ptr, i64 } { ptr @fld.str.377, i64 13 }] -@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.380 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.381 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.382 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.383 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.384 = private constant [10 x i8] c"allocator\00" -@fld.str.385 = private constant [5 x i8] c"data\00" -@field_names.386 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.384, i64 9 }, { ptr, i64 } { ptr @fld.str.385, i64 4 }] -@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.388 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.389 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.390 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.391 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.392 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.394 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.395 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.396 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.397 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.398 = private constant [12 x i8] c"alloc_count\00" -@field_names.399 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 11 }] -@str.400 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.401 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.402 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.403 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.404 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.405 = private constant [5 x i8] c"next\00" -@fld.str.406 = private constant [4 x i8] c"cap\00" -@field_names.407 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 4 }, { ptr, i64 } { ptr @fld.str.406, i64 3 }] -@str.408 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.409 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 -@str.410 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.411 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.412 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.413 = private constant [6 x i8] c"first\00" -@fld.str.414 = private constant [10 x i8] c"end_index\00" -@fld.str.415 = private constant [7 x i8] c"parent\00" -@field_names.416 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.413, i64 5 }, { ptr, i64 } { ptr @fld.str.414, i64 9 }, { ptr, i64 } { ptr @fld.str.415, i64 6 }] -@str.417 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.418 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 -@str.419 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.420 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.421 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.422 = private constant [4 x i8] c"buf\00" -@fld.str.423 = private constant [4 x i8] c"len\00" -@fld.str.424 = private constant [4 x i8] c"pos\00" -@field_names.425 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 3 }, { ptr, i64 } { ptr @fld.str.423, i64 3 }, { ptr, i64 } { ptr @fld.str.424, i64 3 }] -@str.426 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.427 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 -@str.428 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.429 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.430 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.431 = private constant [7 x i8] c"parent\00" -@fld.str.432 = private constant [12 x i8] c"alloc_count\00" -@fld.str.433 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.434 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.435 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.431, i64 6 }, { ptr, i64 } { ptr @fld.str.432, i64 11 }, { ptr, i64 } { ptr @fld.str.433, i64 13 }, { ptr, i64 } { ptr @fld.str.434, i64 17 }] -@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [5 x i8] c"File\00", align 1 -@str.438 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.439 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.440 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.441 = private constant [3 x i8] c"fd\00" -@field_names.442 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 2 }] -@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.444 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 -@str.445 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.446 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.447 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.448 = private constant [5 x i8] c"file\00" -@fld.str.449 = private constant [5 x i8] c"line\00" -@fld.str.450 = private constant [4 x i8] c"col\00" -@fld.str.451 = private constant [5 x i8] c"func\00" -@fld.str.452 = private constant [10 x i8] c"line_text\00" -@field_names.453 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 4 }, { ptr, i64 } { ptr @fld.str.449, i64 4 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }, { ptr, i64 } { ptr @fld.str.451, i64 4 }, { ptr, i64 } { ptr @fld.str.452, i64 9 }] -@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.455 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 -@str.456 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.457 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.458 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.459 = private constant [10 x i8] c"exit_code\00" -@fld.str.460 = private constant [7 x i8] c"stdout\00" -@field_names.461 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 9 }, { ptr, i64 } { ptr @fld.str.460, i64 6 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.464 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.465 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.466 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.467 = private constant [8 x i8] c"sin_len\00" -@fld.str.468 = private constant [11 x i8] c"sin_family\00" -@fld.str.469 = private constant [9 x i8] c"sin_port\00" -@fld.str.470 = private constant [9 x i8] c"sin_addr\00" -@fld.str.471 = private constant [9 x i8] c"sin_zero\00" -@field_names.472 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 7 }, { ptr, i64 } { ptr @fld.str.468, i64 10 }, { ptr, i64 } { ptr @fld.str.469, i64 8 }, { ptr, i64 } { ptr @fld.str.470, i64 8 }, { ptr, i64 } { ptr @fld.str.471, i64 8 }] -@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.474 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.475 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.476 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.477 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.478 = private constant [6 x i8] c"items\00" -@fld.str.479 = private constant [4 x i8] c"len\00" -@fld.str.480 = private constant [4 x i8] c"cap\00" -@field_names.481 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 3 }, { ptr, i64 } { ptr @fld.str.480, i64 3 }] +@fld.str.387 = private constant [5 x i8] c"line\00" +@fld.str.388 = private constant [4 x i8] c"col\00" +@fld.str.389 = 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.387, i64 4 }, { ptr, i64 } { ptr @fld.str.388, i64 3 }, { ptr, i64 } { ptr @fld.str.389, i64 4 }] +@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.391 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.392 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.393 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.394 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.395 = private constant [4 x i8] c"ctx\00" +@fld.str.396 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.397 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.398 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 3 }, { ptr, i64 } { ptr @fld.str.396, i64 11 }, { ptr, i64 } { ptr @fld.str.397, i64 13 }] +@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.400 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.401 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.402 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.403 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.404 = private constant [10 x i8] c"allocator\00" +@fld.str.405 = private constant [5 x i8] c"data\00" +@field_names.406 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 9 }, { ptr, i64 } { ptr @fld.str.405, i64 4 }] +@str.407 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.408 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.409 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.410 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.411 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.412 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.414 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.415 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.416 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.417 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.418 = private constant [12 x i8] c"alloc_count\00" +@field_names.419 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 11 }] +@str.420 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.421 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 +@str.422 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.423 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.424 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.425 = private constant [5 x i8] c"next\00" +@fld.str.426 = private constant [4 x i8] c"cap\00" +@field_names.427 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }] +@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.429 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.430 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.431 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.432 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.433 = private constant [6 x i8] c"first\00" +@fld.str.434 = private constant [10 x i8] c"end_index\00" +@fld.str.435 = private constant [7 x i8] c"parent\00" +@field_names.436 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.433, i64 5 }, { ptr, i64 } { ptr @fld.str.434, i64 9 }, { ptr, i64 } { ptr @fld.str.435, i64 6 }] +@str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.438 = private unnamed_addr constant [9 x i8] c"BufAlloc\00", align 1 +@str.439 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.440 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.441 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.442 = private constant [4 x i8] c"buf\00" +@fld.str.443 = private constant [4 x i8] c"len\00" +@fld.str.444 = private constant [4 x i8] c"pos\00" +@field_names.445 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 3 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }] +@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.447 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\00", align 1 +@str.448 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.449 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.450 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.451 = private constant [7 x i8] c"parent\00" +@fld.str.452 = private constant [12 x i8] c"alloc_count\00" +@fld.str.453 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.454 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.455 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 6 }, { ptr, i64 } { ptr @fld.str.452, i64 11 }, { ptr, i64 } { ptr @fld.str.453, i64 13 }, { ptr, i64 } { ptr @fld.str.454, i64 17 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [5 x i8] c"File\00", align 1 +@str.458 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.459 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.460 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.461 = private constant [3 x i8] c"fd\00" +@field_names.462 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 2 }] +@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.464 = private unnamed_addr constant [11 x i8] c"TraceFrame\00", align 1 +@str.465 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.466 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.467 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.468 = private constant [5 x i8] c"file\00" +@fld.str.469 = private constant [5 x i8] c"line\00" +@fld.str.470 = private constant [4 x i8] c"col\00" +@fld.str.471 = private constant [5 x i8] c"func\00" +@fld.str.472 = private constant [10 x i8] c"line_text\00" +@field_names.473 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.468, i64 4 }, { ptr, i64 } { ptr @fld.str.469, i64 4 }, { ptr, i64 } { ptr @fld.str.470, i64 3 }, { ptr, i64 } { ptr @fld.str.471, i64 4 }, { ptr, i64 } { ptr @fld.str.472, i64 9 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [14 x i8] c"ProcessResult\00", align 1 +@str.476 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.477 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.478 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.479 = private constant [10 x i8] c"exit_code\00" +@fld.str.480 = private constant [7 x i8] c"stdout\00" +@field_names.481 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 9 }, { ptr, i64 } { ptr @fld.str.480, i64 6 }] @str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.483 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.483 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 @str.484 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.485 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.486 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.487 = private constant [6 x i8] c"items\00" -@fld.str.488 = private constant [4 x i8] c"len\00" -@fld.str.489 = private constant [4 x i8] c"cap\00" -@field_names.490 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 5 }, { ptr, i64 } { ptr @fld.str.488, i64 3 }, { ptr, i64 } { ptr @fld.str.489, i64 3 }] -@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.492 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 -@str.493 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.494 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.495 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.496 = private constant [4 x i8] c"key\00" -@fld.str.497 = private constant [4 x i8] c"val\00" -@field_names.498 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 3 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.501 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.503 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.504 = private constant [4 x i8] c"dst\00" -@fld.str.505 = private constant [4 x i8] c"pos\00" -@fld.str.506 = private constant [5 x i8] c"file\00" -@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 3 }, { ptr, i64 } { ptr @fld.str.506, i64 4 }] -@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.509 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.510 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.512 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.513 = private constant [4 x i8] c"src\00" -@fld.str.514 = private constant [4 x i8] c"pos\00" -@fld.str.515 = private constant [6 x i8] c"alloc\00" -@field_names.516 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 3 }, { ptr, i64 } { ptr @fld.str.514, i64 3 }, { ptr, i64 } { ptr @fld.str.515, i64 5 }] -@str.517 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.518 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.519 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.520 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.521 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.522 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.523 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.524 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.525 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.526 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.527 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.528 = private constant [5 x i8] c"name\00" -@fld.str.529 = private constant [12 x i8] c"takes_value\00" -@fld.str.530 = private constant [9 x i8] c"required\00" -@field_names.531 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.528, i64 4 }, { ptr, i64 } { ptr @fld.str.529, i64 11 }, { ptr, i64 } { ptr @fld.str.530, i64 8 }] -@str.532 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.533 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 -@str.534 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.535 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.536 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.537 = private constant [6 x i8] c"group\00" -@fld.str.538 = private constant [8 x i8] c"command\00" -@fld.str.539 = private constant [6 x i8] c"flags\00" -@field_names.540 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 5 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 5 }] -@str.541 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.542 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 -@str.543 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.544 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.545 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.546 = private constant [4 x i8] c"set\00" -@fld.str.547 = private constant [6 x i8] c"value\00" -@field_names.548 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 3 }, { ptr, i64 } { ptr @fld.str.547, i64 5 }] -@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.550 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.551 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.552 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.553 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.554 = private constant [6 x i8] c"index\00" -@fld.str.555 = private constant [6 x i8] c"token\00" -@field_names.556 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.554, i64 5 }, { ptr, i64 } { ptr @fld.str.555, i64 5 }] -@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.559 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.560 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.561 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.562 = private constant [6 x i8] c"group\00" -@fld.str.563 = private constant [8 x i8] c"command\00" -@fld.str.564 = private constant [10 x i8] c"cmd_index\00" -@fld.str.565 = private constant [5 x i8] c"json\00" -@fld.str.566 = private constant [5 x i8] c"rest\00" -@fld.str.567 = private constant [5 x i8] c"spec\00" -@fld.str.568 = private constant [7 x i8] c"values\00" -@field_names.569 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 5 }, { ptr, i64 } { ptr @fld.str.563, i64 7 }, { ptr, i64 } { ptr @fld.str.564, i64 9 }, { ptr, i64 } { ptr @fld.str.565, i64 4 }, { ptr, i64 } { ptr @fld.str.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 4 }, { ptr, i64 } { ptr @fld.str.568, i64 6 }] -@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 -@str.572 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.573 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.574 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.575 = private constant [2 x i8] c"h\00" -@fld.str.576 = private constant [4 x i8] c"buf\00" -@fld.str.577 = private constant [8 x i8] c"buf_len\00" -@fld.str.578 = private constant [10 x i8] c"total_len\00" -@field_names.579 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 1 }, { ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 7 }, { ptr, i64 } { ptr @fld.str.578, i64 9 }] -@str.580 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.581 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 -@str.582 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.583 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.584 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.585 = private constant [4 x i8] c"sec\00" -@fld.str.586 = private constant [5 x i8] c"nsec\00" -@field_names.587 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.585, i64 3 }, { ptr, i64 } { ptr @fld.str.586, i64 4 }] -@str.588 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.589 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 -@str.590 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.591 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.592 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.593 = private constant [6 x i8] c"ident\00" -@fld.str.594 = private constant [7 x i8] c"filter\00" -@fld.str.595 = private constant [6 x i8] c"flags\00" -@fld.str.596 = private constant [7 x i8] c"fflags\00" -@fld.str.597 = private constant [5 x i8] c"data\00" -@fld.str.598 = private constant [6 x i8] c"udata\00" -@field_names.599 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 5 }, { ptr, i64 } { ptr @fld.str.594, i64 6 }, { ptr, i64 } { ptr @fld.str.595, i64 5 }, { ptr, i64 } { ptr @fld.str.596, i64 6 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }, { ptr, i64 } { ptr @fld.str.598, i64 5 }] +@fld.str.487 = private constant [8 x i8] c"sin_len\00" +@fld.str.488 = private constant [11 x i8] c"sin_family\00" +@fld.str.489 = private constant [9 x i8] c"sin_port\00" +@fld.str.490 = private constant [9 x i8] c"sin_addr\00" +@fld.str.491 = private constant [9 x i8] c"sin_zero\00" +@field_names.492 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 7 }, { ptr, i64 } { ptr @fld.str.488, i64 10 }, { ptr, i64 } { ptr @fld.str.489, i64 8 }, { ptr, i64 } { ptr @fld.str.490, i64 8 }, { ptr, i64 } { ptr @fld.str.491, i64 8 }] +@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.494 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@str.495 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.496 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.497 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.498 = private constant [6 x i8] c"items\00" +@fld.str.499 = private constant [4 x i8] c"len\00" +@fld.str.500 = private constant [4 x i8] c"cap\00" +@field_names.501 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 5 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }, { ptr, i64 } { ptr @fld.str.500, i64 3 }] +@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.503 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 +@str.504 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.505 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.506 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.507 = private constant [6 x i8] c"items\00" +@fld.str.508 = private constant [4 x i8] c"len\00" +@fld.str.509 = private constant [4 x i8] c"cap\00" +@field_names.510 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 5 }, { ptr, i64 } { ptr @fld.str.508, i64 3 }, { ptr, i64 } { ptr @fld.str.509, i64 3 }] +@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.512 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.513 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.515 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.516 = private constant [4 x i8] c"key\00" +@fld.str.517 = private constant [4 x i8] c"val\00" +@field_names.518 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.521 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.522 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.523 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.524 = private constant [4 x i8] c"dst\00" +@fld.str.525 = private constant [4 x i8] c"pos\00" +@fld.str.526 = private constant [5 x i8] c"file\00" +@field_names.527 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 3 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 4 }] +@str.528 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.529 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.530 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.531 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.532 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.533 = private constant [4 x i8] c"src\00" +@fld.str.534 = private constant [4 x i8] c"pos\00" +@fld.str.535 = private constant [6 x i8] c"alloc\00" +@field_names.536 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 5 }] +@str.537 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.538 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.539 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.540 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.541 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.542 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.543 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.544 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.545 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.546 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.547 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.548 = private constant [5 x i8] c"name\00" +@fld.str.549 = private constant [12 x i8] c"takes_value\00" +@fld.str.550 = private constant [9 x i8] c"required\00" +@field_names.551 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 4 }, { ptr, i64 } { ptr @fld.str.549, i64 11 }, { ptr, i64 } { ptr @fld.str.550, i64 8 }] +@str.552 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.553 = private unnamed_addr constant [8 x i8] c"Command\00", align 1 +@str.554 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.555 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.556 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.557 = private constant [6 x i8] c"group\00" +@fld.str.558 = private constant [8 x i8] c"command\00" +@fld.str.559 = private constant [6 x i8] c"flags\00" +@field_names.560 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.557, i64 5 }, { ptr, i64 } { ptr @fld.str.558, i64 7 }, { ptr, i64 } { ptr @fld.str.559, i64 5 }] +@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.562 = private unnamed_addr constant [10 x i8] c"FlagValue\00", align 1 +@str.563 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.564 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.565 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.566 = private constant [4 x i8] c"set\00" +@fld.str.567 = private constant [6 x i8] c"value\00" +@field_names.568 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }] +@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.570 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.572 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.573 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.574 = private constant [6 x i8] c"index\00" +@fld.str.575 = private constant [6 x i8] c"token\00" +@field_names.576 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 5 }, { ptr, i64 } { ptr @fld.str.575, i64 5 }] +@str.577 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.578 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.579 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.580 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.581 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.582 = private constant [6 x i8] c"group\00" +@fld.str.583 = private constant [8 x i8] c"command\00" +@fld.str.584 = private constant [10 x i8] c"cmd_index\00" +@fld.str.585 = private constant [5 x i8] c"json\00" +@fld.str.586 = private constant [5 x i8] c"rest\00" +@fld.str.587 = private constant [5 x i8] c"spec\00" +@fld.str.588 = private constant [7 x i8] c"values\00" +@field_names.589 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 7 }, { ptr, i64 } { ptr @fld.str.584, i64 9 }, { ptr, i64 } { ptr @fld.str.585, i64 4 }, { ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 4 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }] +@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.591 = private unnamed_addr constant [7 x i8] c"Sha256\00", align 1 +@str.592 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.593 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.594 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.595 = private constant [2 x i8] c"h\00" +@fld.str.596 = private constant [4 x i8] c"buf\00" +@fld.str.597 = private constant [8 x i8] c"buf_len\00" +@fld.str.598 = private constant [10 x i8] c"total_len\00" +@field_names.599 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 1 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 7 }, { ptr, i64 } { ptr @fld.str.598, i64 9 }] @str.600 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.601 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.601 = private unnamed_addr constant [9 x i8] c"Timespec\00", align 1 @str.602 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.603 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.604 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -504,241 +504,337 @@ @fld.str.606 = private constant [5 x i8] c"nsec\00" @field_names.607 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.605, i64 3 }, { ptr, i64 } { ptr @fld.str.606, i64 4 }] @str.608 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.609 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 +@str.609 = private unnamed_addr constant [7 x i8] c"Kevent\00", align 1 @str.610 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.611 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.612 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.613 = private constant [3 x i8] c"fd\00" -@fld.str.614 = private constant [6 x i8] c"udata\00" -@fld.str.615 = private constant [9 x i8] c"readable\00" -@fld.str.616 = private constant [9 x i8] c"writable\00" -@fld.str.617 = private constant [4 x i8] c"eof\00" -@fld.str.618 = private constant [4 x i8] c"err\00" -@fld.str.619 = private constant [7 x i8] c"nbytes\00" -@field_names.620 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 2 }, { ptr, i64 } { ptr @fld.str.614, i64 5 }, { ptr, i64 } { ptr @fld.str.615, i64 8 }, { ptr, i64 } { ptr @fld.str.616, i64 8 }, { ptr, i64 } { ptr @fld.str.617, i64 3 }, { ptr, i64 } { ptr @fld.str.618, i64 3 }, { ptr, i64 } { ptr @fld.str.619, i64 6 }] -@str.621 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.622 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 -@str.623 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.624 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.625 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.626 = private constant [3 x i8] c"kq\00" -@field_names.627 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.626, i64 2 }] +@fld.str.613 = private constant [6 x i8] c"ident\00" +@fld.str.614 = private constant [7 x i8] c"filter\00" +@fld.str.615 = private constant [6 x i8] c"flags\00" +@fld.str.616 = private constant [7 x i8] c"fflags\00" +@fld.str.617 = private constant [5 x i8] c"data\00" +@fld.str.618 = private constant [6 x i8] c"udata\00" +@field_names.619 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 5 }, { ptr, i64 } { ptr @fld.str.614, i64 6 }, { ptr, i64 } { ptr @fld.str.615, i64 5 }, { ptr, i64 } { ptr @fld.str.616, i64 6 }, { ptr, i64 } { ptr @fld.str.617, i64 4 }, { ptr, i64 } { ptr @fld.str.618, i64 5 }] +@str.620 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.621 = private unnamed_addr constant [11 x i8] c"KqTimespec\00", align 1 +@str.622 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.623 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.624 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.625 = private constant [4 x i8] c"sec\00" +@fld.str.626 = private constant [5 x i8] c"nsec\00" +@field_names.627 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.625, i64 3 }, { ptr, i64 } { ptr @fld.str.626, i64 4 }] @str.628 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.629 = private unnamed_addr constant [9 x i8] c"NSString\00", align 1 +@str.629 = private unnamed_addr constant [6 x i8] c"Event\00", align 1 @str.630 = private unnamed_addr constant [2 x i8] c"{\00", align 1 @str.631 = private unnamed_addr constant [2 x i8] c"}\00", align 1 @str.632 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.633 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.634 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.635 = private unnamed_addr constant [7 x i8] c"Triple\00", align 1 -@str.636 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.637 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.638 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.639 = private constant [2 x i8] c"a\00" -@fld.str.640 = private constant [2 x i8] c"b\00" -@fld.str.641 = private constant [2 x i8] c"c\00" -@field_names.642 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.639, i64 1 }, { ptr, i64 } { ptr @fld.str.640, i64 1 }, { ptr, i64 } { ptr @fld.str.641, i64 1 }] -@str.643 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.644 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.645 = private constant [5 x i8] c"read\00" -@fld.str.646 = private constant [6 x i8] c"write\00" -@fld.str.647 = private constant [7 x i8] c"append\00" -@fld.str.648 = private constant [11 x i8] c"read_write\00" -@field_names.649 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.645, i64 4 }, { ptr, i64 } { ptr @fld.str.646, i64 5 }, { ptr, i64 } { ptr @fld.str.647, i64 6 }, { ptr, i64 } { ptr @fld.str.648, i64 10 }] -@str.650 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.651 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.652 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.653 = private constant [4 x i8] c"set\00" -@fld.str.654 = private constant [8 x i8] c"current\00" -@fld.str.655 = private constant [4 x i8] c"end\00" -@field_names.656 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.653, i64 3 }, { ptr, i64 } { ptr @fld.str.654, i64 7 }, { ptr, i64 } { ptr @fld.str.655, i64 3 }] -@str.657 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.658 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.659 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.660 = private constant [6 x i8] c"null_\00" -@fld.str.661 = private constant [6 x i8] c"bool_\00" -@fld.str.662 = private constant [5 x i8] c"int_\00" -@fld.str.663 = private constant [4 x i8] c"str\00" -@fld.str.664 = private constant [6 x i8] c"array\00" -@fld.str.665 = private constant [7 x i8] c"object\00" -@field_names.666 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.660, i64 5 }, { ptr, i64 } { ptr @fld.str.661, i64 5 }, { ptr, i64 } { ptr @fld.str.662, i64 4 }, { ptr, i64 } { ptr @fld.str.663, i64 3 }, { ptr, i64 } { ptr @fld.str.664, i64 5 }, { ptr, i64 } { ptr @fld.str.665, i64 6 }] -@str.667 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.668 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.669 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.670 = private constant [6 x i8] c"macos\00" -@fld.str.671 = private constant [6 x i8] c"linux\00" -@fld.str.672 = private constant [8 x i8] c"windows\00" -@fld.str.673 = private constant [5 x i8] c"wasm\00" -@fld.str.674 = private constant [4 x i8] c"ios\00" -@fld.str.675 = private constant [8 x i8] c"android\00" -@fld.str.676 = private constant [8 x i8] c"unknown\00" -@field_names.677 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 5 }, { ptr, i64 } { ptr @fld.str.671, i64 5 }, { ptr, i64 } { ptr @fld.str.672, i64 7 }, { ptr, i64 } { ptr @fld.str.673, i64 4 }, { ptr, i64 } { ptr @fld.str.674, i64 3 }, { ptr, i64 } { ptr @fld.str.675, i64 7 }, { ptr, i64 } { ptr @fld.str.676, i64 7 }] -@str.678 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.679 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.680 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.681 = private constant [8 x i8] c"aarch64\00" -@fld.str.682 = private constant [7 x i8] c"x86_64\00" -@fld.str.683 = private constant [7 x i8] c"wasm32\00" -@fld.str.684 = private constant [7 x i8] c"wasm64\00" -@fld.str.685 = private constant [8 x i8] c"unknown\00" -@field_names.686 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.681, i64 7 }, { ptr, i64 } { ptr @fld.str.682, i64 6 }, { ptr, i64 } { ptr @fld.str.683, i64 6 }, { ptr, i64 } { ptr @fld.str.684, i64 6 }, { ptr, i64 } { ptr @fld.str.685, i64 7 }] -@str.687 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.688 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.689 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.690 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.691 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.692 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.693 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.694 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.695 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.696 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.697 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.700 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.701 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.702 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.703 = private unnamed_addr constant [3 x i8] c", \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 -@str.707 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.708 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.709 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.710 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.711 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.712 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.713 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.714 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.715 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.716 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.717 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.718 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.719 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.720 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.721 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.722 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.723 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.724 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.725 = private unnamed_addr constant [2 x i8] c"[\00", align 1 -@str.726 = private unnamed_addr constant [2 x i8] c"]\00", align 1 -@str.727 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.728 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.729 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.730 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.731 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.732 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 -@str.733 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.734 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.735 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 -@str.736 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.738 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 -@str.739 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.740 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.741 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 -@str.742 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.743 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.744 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 -@str.745 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.746 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.747 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 -@str.748 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.749 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.750 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 -@str.751 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.752 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.753 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 -@str.754 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.755 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 -@str.757 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.758 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.759 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 -@str.760 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.762 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 -@str.763 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.764 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.765 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 -@str.766 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.767 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.768 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 -@str.769 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.770 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.771 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 -@str.772 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.773 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.774 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 -@str.775 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.776 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.777 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 -@str.778 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.780 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 -@str.781 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.782 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.783 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 -@str.784 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.785 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.786 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 -@str.787 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.788 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.789 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 -@str.790 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.791 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.792 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 -@str.793 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.794 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.795 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 -@str.796 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.797 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.798 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 -@str.799 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.800 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.801 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 -@str.802 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.803 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.804 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 -@str.805 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.806 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.807 = private unnamed_addr constant [10 x i8] c"*NSString\00", align 1 -@str.808 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 -@str.809 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.810 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 -@str.811 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@fld.str.633 = private constant [3 x i8] c"fd\00" +@fld.str.634 = private constant [6 x i8] c"udata\00" +@fld.str.635 = private constant [9 x i8] c"readable\00" +@fld.str.636 = private constant [9 x i8] c"writable\00" +@fld.str.637 = private constant [4 x i8] c"eof\00" +@fld.str.638 = private constant [4 x i8] c"err\00" +@fld.str.639 = private constant [7 x i8] c"nbytes\00" +@field_names.640 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.633, i64 2 }, { ptr, i64 } { ptr @fld.str.634, i64 5 }, { ptr, i64 } { ptr @fld.str.635, i64 8 }, { ptr, i64 } { ptr @fld.str.636, i64 8 }, { ptr, i64 } { ptr @fld.str.637, i64 3 }, { ptr, i64 } { ptr @fld.str.638, i64 3 }, { ptr, i64 } { ptr @fld.str.639, i64 6 }] +@str.641 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.642 = private unnamed_addr constant [5 x i8] c"Loop\00", align 1 +@str.643 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.644 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.645 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.646 = private constant [3 x i8] c"kq\00" +@field_names.647 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.646, i64 2 }] +@str.648 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.649 = private unnamed_addr constant [7 x i8] c"Config\00", align 1 +@str.650 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.651 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.652 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.653 = private constant [5 x i8] c"port\00" +@fld.str.654 = private constant [8 x i8] c"backlog\00" +@fld.str.655 = private constant [9 x i8] c"max_conn\00" +@fld.str.656 = private constant [13 x i8] c"read_buf_cap\00" +@fld.str.657 = private constant [19 x i8] c"timeout_request_ms\00" +@fld.str.658 = private constant [21 x i8] c"timeout_keepalive_ms\00" +@fld.str.659 = private constant [14 x i8] c"request_count\00" +@field_names.660 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.653, i64 4 }, { ptr, i64 } { ptr @fld.str.654, i64 7 }, { ptr, i64 } { ptr @fld.str.655, i64 8 }, { ptr, i64 } { ptr @fld.str.656, i64 12 }, { ptr, i64 } { ptr @fld.str.657, i64 18 }, { ptr, i64 } { ptr @fld.str.658, i64 20 }, { ptr, i64 } { ptr @fld.str.659, i64 13 }] +@str.661 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.662 = private unnamed_addr constant [8 x i8] c"Request\00", align 1 +@str.663 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.664 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.665 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.666 = private constant [7 x i8] c"method\00" +@fld.str.667 = private constant [5 x i8] c"path\00" +@fld.str.668 = private constant [8 x i8] c"version\00" +@fld.str.669 = private constant [12 x i8] c"headers_raw\00" +@fld.str.670 = private constant [5 x i8] c"body\00" +@fld.str.671 = private constant [11 x i8] c"keep_alive\00" +@field_names.672 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.666, i64 6 }, { ptr, i64 } { ptr @fld.str.667, i64 4 }, { ptr, i64 } { ptr @fld.str.668, i64 7 }, { ptr, i64 } { ptr @fld.str.669, i64 11 }, { ptr, i64 } { ptr @fld.str.670, i64 4 }, { ptr, i64 } { ptr @fld.str.671, i64 10 }] +@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.674 = private unnamed_addr constant [9 x i8] c"Response\00", align 1 +@str.675 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.676 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.677 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.678 = private constant [7 x i8] c"status\00" +@fld.str.679 = private constant [13 x i8] c"content_type\00" +@fld.str.680 = private constant [14 x i8] c"extra_headers\00" +@fld.str.681 = private constant [5 x i8] c"body\00" +@field_names.682 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 6 }, { ptr, i64 } { ptr @fld.str.679, i64 12 }, { ptr, i64 } { ptr @fld.str.680, i64 13 }, { ptr, i64 } { ptr @fld.str.681, i64 4 }] +@str.683 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.684 = private unnamed_addr constant [5 x i8] c"Conn\00", align 1 +@str.685 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.686 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.687 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.688 = private constant [3 x i8] c"fd\00" +@fld.str.689 = private constant [6 x i8] c"state\00" +@fld.str.690 = private constant [9 x i8] c"read_buf\00" +@fld.str.691 = private constant [9 x i8] c"read_len\00" +@fld.str.692 = private constant [8 x i8] c"out_buf\00" +@fld.str.693 = private constant [8 x i8] c"out_len\00" +@fld.str.694 = private constant [9 x i8] c"out_sent\00" +@fld.str.695 = private constant [9 x i8] c"deadline\00" +@fld.str.696 = private constant [7 x i8] c"served\00" +@fld.str.697 = private constant [12 x i8] c"close_after\00" +@fld.str.698 = private constant [12 x i8] c"write_armed\00" +@field_names.699 = private constant [11 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.688, i64 2 }, { ptr, i64 } { ptr @fld.str.689, i64 5 }, { ptr, i64 } { ptr @fld.str.690, i64 8 }, { ptr, i64 } { ptr @fld.str.691, i64 8 }, { ptr, i64 } { ptr @fld.str.692, i64 7 }, { ptr, i64 } { ptr @fld.str.693, i64 7 }, { ptr, i64 } { ptr @fld.str.694, i64 8 }, { ptr, i64 } { ptr @fld.str.695, i64 8 }, { ptr, i64 } { ptr @fld.str.696, i64 6 }, { ptr, i64 } { ptr @fld.str.697, i64 11 }, { ptr, i64 } { ptr @fld.str.698, i64 11 }] +@str.700 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.701 = private unnamed_addr constant [7 x i8] c"Server\00", align 1 +@str.702 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.703 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.704 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.705 = private constant [4 x i8] c"cfg\00" +@fld.str.706 = private constant [5 x i8] c"loop\00" +@fld.str.707 = private constant [4 x i8] c"lfd\00" +@fld.str.708 = private constant [6 x i8] c"conns\00" +@fld.str.709 = private constant [10 x i8] c"own_alloc\00" +@fld.str.710 = private constant [8 x i8] c"handler\00" +@field_names.711 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.705, i64 3 }, { ptr, i64 } { ptr @fld.str.706, i64 4 }, { ptr, i64 } { ptr @fld.str.707, i64 3 }, { ptr, i64 } { ptr @fld.str.708, i64 5 }, { ptr, i64 } { ptr @fld.str.709, i64 9 }, { ptr, i64 } { ptr @fld.str.710, i64 7 }] +@str.712 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.713 = private unnamed_addr constant [9 x i8] c"NSString\00", align 1 +@str.714 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.715 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.716 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.717 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.718 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.719 = private unnamed_addr constant [7 x i8] c"Triple\00", align 1 +@str.720 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.721 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.722 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.723 = private constant [2 x i8] c"a\00" +@fld.str.724 = private constant [2 x i8] c"b\00" +@fld.str.725 = private constant [2 x i8] c"c\00" +@field_names.726 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.723, i64 1 }, { ptr, i64 } { ptr @fld.str.724, i64 1 }, { ptr, i64 } { ptr @fld.str.725, i64 1 }] +@str.727 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.728 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.729 = private constant [5 x i8] c"read\00" +@fld.str.730 = private constant [6 x i8] c"write\00" +@fld.str.731 = private constant [7 x i8] c"append\00" +@fld.str.732 = private constant [11 x i8] c"read_write\00" +@field_names.733 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.729, i64 4 }, { ptr, i64 } { ptr @fld.str.730, i64 5 }, { ptr, i64 } { ptr @fld.str.731, i64 6 }, { ptr, i64 } { ptr @fld.str.732, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.737 = private constant [4 x i8] c"set\00" +@fld.str.738 = private constant [8 x i8] c"current\00" +@fld.str.739 = private constant [4 x i8] c"end\00" +@field_names.740 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.737, i64 3 }, { ptr, i64 } { ptr @fld.str.738, i64 7 }, { ptr, i64 } { ptr @fld.str.739, i64 3 }] +@str.741 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.742 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.743 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.744 = private constant [6 x i8] c"null_\00" +@fld.str.745 = private constant [6 x i8] c"bool_\00" +@fld.str.746 = private constant [5 x i8] c"int_\00" +@fld.str.747 = private constant [4 x i8] c"str\00" +@fld.str.748 = private constant [6 x i8] c"array\00" +@fld.str.749 = private constant [7 x i8] c"object\00" +@field_names.750 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.744, i64 5 }, { ptr, i64 } { ptr @fld.str.745, i64 5 }, { ptr, i64 } { ptr @fld.str.746, i64 4 }, { ptr, i64 } { ptr @fld.str.747, i64 3 }, { ptr, i64 } { ptr @fld.str.748, i64 5 }, { ptr, i64 } { ptr @fld.str.749, i64 6 }] +@str.751 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.752 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.753 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.754 = private constant [6 x i8] c"macos\00" +@fld.str.755 = private constant [6 x i8] c"linux\00" +@fld.str.756 = private constant [8 x i8] c"windows\00" +@fld.str.757 = private constant [5 x i8] c"wasm\00" +@fld.str.758 = private constant [4 x i8] c"ios\00" +@fld.str.759 = private constant [8 x i8] c"android\00" +@fld.str.760 = private constant [8 x i8] c"unknown\00" +@field_names.761 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.754, i64 5 }, { ptr, i64 } { ptr @fld.str.755, i64 5 }, { ptr, i64 } { ptr @fld.str.756, i64 7 }, { ptr, i64 } { ptr @fld.str.757, i64 4 }, { ptr, i64 } { ptr @fld.str.758, i64 3 }, { ptr, i64 } { ptr @fld.str.759, i64 7 }, { ptr, i64 } { ptr @fld.str.760, i64 7 }] +@str.762 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.763 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.764 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.765 = private constant [8 x i8] c"aarch64\00" +@fld.str.766 = private constant [7 x i8] c"x86_64\00" +@fld.str.767 = private constant [7 x i8] c"wasm32\00" +@fld.str.768 = private constant [7 x i8] c"wasm64\00" +@fld.str.769 = private constant [8 x i8] c"unknown\00" +@field_names.770 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.765, i64 7 }, { ptr, i64 } { ptr @fld.str.766, i64 6 }, { ptr, i64 } { ptr @fld.str.767, i64 6 }, { ptr, i64 } { ptr @fld.str.768, i64 6 }, { ptr, i64 } { ptr @fld.str.769, i64 7 }] +@str.771 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.772 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.773 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.774 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.775 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.776 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.777 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.778 = private unnamed_addr constant [3 x i8] c", \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 +@str.782 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.783 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.784 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.785 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.786 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.787 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.788 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.789 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.790 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.791 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.792 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.793 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.794 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.795 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.796 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.799 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.800 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.801 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.802 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.803 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.804 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.805 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.806 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.807 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.808 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.809 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.810 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.811 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.812 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.813 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.813 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.814 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.815 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.816 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.816 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.817 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.818 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.819 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.819 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.820 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.821 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.822 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.822 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.823 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.824 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.825 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.825 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.826 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.827 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.828 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.828 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.829 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.830 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.831 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.831 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.832 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.833 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.834 = private unnamed_addr constant [8 x i8] c"*Triple\00", align 1 +@str.834 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.835 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.836 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.837 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.837 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.838 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.839 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.840 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.841 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.840 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 +@str.841 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.842 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.843 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.843 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 +@str.844 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.845 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.846 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 +@str.847 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.848 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.849 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.850 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.851 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.852 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.853 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.854 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.855 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.856 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.857 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.858 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.859 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.860 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.861 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.862 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.863 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.864 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.865 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.866 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.867 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.868 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.869 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.870 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.871 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.872 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.873 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.874 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.875 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.876 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.877 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.878 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.879 = private unnamed_addr constant [10 x i8] c"*Timespec\00", align 1 +@str.880 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.881 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.882 = private unnamed_addr constant [8 x i8] c"*Kevent\00", align 1 +@str.883 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.884 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.885 = private unnamed_addr constant [12 x i8] c"*KqTimespec\00", align 1 +@str.886 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.887 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.888 = private unnamed_addr constant [6 x i8] c"*Loop\00", align 1 +@str.889 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.890 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.891 = private unnamed_addr constant [9 x i8] c"*Request\00", align 1 +@str.892 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.893 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.894 = private unnamed_addr constant [8 x i8] c"[*]Conn\00", align 1 +@str.895 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.896 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.897 = private unnamed_addr constant [10 x i8] c"*Response\00", align 1 +@str.898 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.899 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.900 = private unnamed_addr constant [8 x i8] c"*Server\00", align 1 +@str.901 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.902 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.903 = private unnamed_addr constant [10 x i8] c"*NSString\00", align 1 +@str.904 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.905 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.906 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.907 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.908 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.909 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.910 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.911 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.912 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.913 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.914 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.915 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.916 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.917 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.918 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.919 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.920 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.921 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.922 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.923 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.924 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.925 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.926 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.927 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.928 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.929 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.930 = private unnamed_addr constant [8 x i8] c"*Triple\00", align 1 +@str.931 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.932 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.933 = private unnamed_addr constant [8 x i8] c"*[3]Any\00", align 1 +@str.934 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.935 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.936 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.938 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.939 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @OBJC_METH_VAR_NAME_ = private unnamed_addr constant [12 x i8] c"tripleValue\00" @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }] @@ -1178,38 +1274,38 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 %loadN, ptr %allocaN, align 8 - br label %while.hdr.431 + br label %while.hdr.465 -while.hdr.431: ; preds = %if.merge.436, %entry +while.hdr.465: ; preds = %if.merge.470, %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.432, label %while.exit.433 + br i1 %icmp, label %while.body.466, label %while.exit.467 -while.body.432: ; preds = %while.hdr.431 +while.body.466: ; preds = %while.hdr.465 %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.434, label %if.else.435 + br i1 %icmpN, label %if.then.468, label %if.else.469 -while.exit.433: ; preds = %while.hdr.431 +while.exit.467: ; preds = %while.hdr.465 ret void -if.then.434: ; preds = %while.body.432 +if.then.468: ; preds = %while.body.466 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 48 - br label %if.merge.436 + br label %if.merge.470 -if.else.435: ; preds = %while.body.432 +if.else.469: ; preds = %while.body.466 %loadN = load i64, ptr %allocaN, align 8 %sub = sub i64 %loadN, 10 %addN = add i64 %sub, 97 - br label %if.merge.436 + br label %if.merge.470 -if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi i64 [ %addN, %if.then.434 ], [ %addN, %if.else.435 ] +if.merge.470: ; preds = %if.else.469, %if.then.468 + %bp = phi i64 [ %addN, %if.then.468 ], [ %addN, %if.else.469 ] %loadN = load i64, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %igp.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1222,7 +1318,7 @@ if.merge.436: ; preds = %if.else.435, %if.th %loadN = load i64, ptr %allocaN, align 8 %subN = sub i64 %loadN, 1 store i64 %subN, ptr %allocaN, align 8 - br label %while.hdr.431 + br label %while.hdr.465 } ; Function Attrs: nounwind @@ -1335,12 +1431,12 @@ entry: 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.429, label %if.merge.430 + br i1 %icmp, label %if.then.463, label %if.merge.464 -if.then.429: ; preds = %entry +if.then.463: ; preds = %entry ret { ptr, i64 } { ptr @str.117, i64 1 } -if.merge.430: ; preds = %entry +if.merge.464: ; 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 @@ -1363,14 +1459,14 @@ if.merge.430: ; preds = %entry %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.437 + br label %while.hdr.471 -while.hdr.437: ; preds = %if.merge.441, %if.merge.430 +while.hdr.471: ; preds = %if.merge.475, %if.merge.464 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp slt i64 %loadN, 15 - br i1 %icmpN, label %while.body.438, label %while.exit.439 + br i1 %icmpN, label %while.body.472, label %while.exit.473 -while.body.438: ; preds = %while.hdr.437 +while.body.472: ; preds = %while.hdr.471 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %ig.data = extractvalue { ptr, i64 } %loadN, 0 @@ -1378,9 +1474,9 @@ while.body.438: ; preds = %while.hdr.437 %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.440, label %if.merge.441 + br i1 %icmpN, label %if.then.474, label %if.merge.475 -while.exit.439: ; preds = %if.then.440, %while.hdr.437 +while.exit.473: ; preds = %if.then.474, %while.hdr.471 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -1388,14 +1484,14 @@ while.exit.439: ; preds = %if.then.440, %while %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 %loadN, i64 %sub) ret { ptr, i64 } %callN -if.then.440: ; preds = %while.body.438 - br label %while.exit.439 +if.then.474: ; preds = %while.body.472 + br label %while.exit.473 -if.merge.441: ; preds = %while.body.438 +if.merge.475: ; preds = %while.body.472 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.437 + br label %while.hdr.471 } ; Function Attrs: nounwind @@ -1543,8 +1639,13 @@ entry: i64 100, label %match.arm.43 i64 104, label %match.arm.43 i64 105, label %match.arm.43 - i64 110, label %match.arm.43 + i64 111, label %match.arm.43 + i64 112, label %match.arm.43 i64 113, label %match.arm.43 + i64 115, label %match.arm.43 + i64 119, label %match.arm.43 + i64 122, label %match.arm.43 + i64 125, label %match.arm.43 i64 38, label %match.arm.44 i64 39, label %match.arm.44 i64 58, label %match.arm.44 @@ -1555,19 +1656,20 @@ entry: i64 68, label %match.arm.45 i64 79, label %match.arm.45 i64 103, label %match.arm.45 + i64 110, label %match.arm.45 i64 23, label %match.arm.47 i64 85, label %match.arm.47 i64 91, label %match.arm.47 i64 92, label %match.arm.47 i64 96, label %match.arm.47 - i64 120, label %match.arm.47 - i64 125, label %match.arm.47 + i64 132, label %match.arm.47 + i64 137, label %match.arm.47 i64 24, label %match.arm.48 i64 64, label %match.arm.48 i64 81, label %match.arm.48 i64 89, label %match.arm.48 i64 109, label %match.arm.48 - i64 118, label %match.arm.48 + i64 130, label %match.arm.48 i64 19, label %match.arm.49 i64 26, label %match.arm.49 i64 28, label %match.arm.49 @@ -1594,17 +1696,21 @@ entry: i64 101, label %match.arm.49 i64 102, label %match.arm.49 i64 107, label %match.arm.49 - i64 111, label %match.arm.49 i64 114, label %match.arm.49 - i64 115, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 119, label %match.arm.49 i64 121, label %match.arm.49 - i64 122, label %match.arm.49 i64 123, label %match.arm.49 - i64 124, label %match.arm.49 i64 126, label %match.arm.49 + i64 127, label %match.arm.49 + i64 128, label %match.arm.49 + i64 129, label %match.arm.49 + i64 131, label %match.arm.49 + i64 133, label %match.arm.49 + i64 134, label %match.arm.49 + i64 135, label %match.arm.49 + i64 136, label %match.arm.49 + i64 138, label %match.arm.49 i64 42, label %match.arm.50 i64 43, label %match.arm.50 i64 45, label %match.arm.50 @@ -1613,7 +1719,7 @@ entry: i64 13, label %match.arm.51 ] -match.merge.37: ; preds = %dispatch.merge.550, %dispatch.merge.387, %dispatch.merge.349, %dispatch.merge.305, %dispatch.merge.288, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 +match.merge.37: ; preds = %dispatch.merge.596, %dispatch.merge.417, %dispatch.merge.379, %dispatch.merge.335, %dispatch.merge.318, %dispatch.merge.94, %float.merge.83, %if.merge.55, %match.unr.52, %match.arm.51, %match.arm.45, %match.arm.41, %match.arm.40, %match.arm.38 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -1627,7 +1733,7 @@ match.arm.39: ; preds = %entry, %entry, %ent %refl.val = extractvalue { i64, i64 } %loadN, 1 %refl.istype = icmp eq i64 %refl.tag, 13 %refl.tid = select i1 %refl.istype, i64 %refl.val, i64 %refl.tag - %tiu.gep = getelementptr inbounds [194 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [212 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid %tiu.load = load i1, ptr %tiu.gep, align 1 br i1 %tiu.load, label %if.then.53, label %if.else.54 @@ -1655,7 +1761,7 @@ match.arm.42: ; preds = %entry, %entry %icmp = icmp eq i64 %sgN, 10 br i1 %icmp, label %fN.unbox.81, label %fN.unbox.82 -match.arm.43: ; 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 +match.arm.43: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 @@ -1690,30 +1796,35 @@ match.arm.43: ; preds = %entry, %entry, %ent i64 100, label %dispatch.case.123 i64 104, label %dispatch.case.124 i64 105, label %dispatch.case.125 - i64 110, label %dispatch.case.126 - i64 113, label %dispatch.case.127 + i64 111, label %dispatch.case.126 + i64 112, label %dispatch.case.127 + i64 113, label %dispatch.case.128 + i64 115, label %dispatch.case.129 + i64 119, label %dispatch.case.130 + i64 122, label %dispatch.case.131 + i64 125, label %dispatch.case.132 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw20, label %dispatch.default.289 [ - i64 38, label %dispatch.case.290 - i64 39, label %dispatch.case.291 - i64 58, label %dispatch.case.292 - i64 74, label %dispatch.case.293 - i64 75, label %dispatch.case.294 + switch i64 %ua.raw20, label %dispatch.default.319 [ + i64 38, label %dispatch.case.320 + i64 39, label %dispatch.case.321 + i64 58, label %dispatch.case.322 + i64 74, label %dispatch.case.323 + i64 75, label %dispatch.case.324 ] -match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry +match.arm.45: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %alloca, align 8 %ua.raw25 = extractvalue { i64, i64 } %loadN, 1 %trN = trunc i64 %ua.raw25 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 [20 x { ptr, i64 }], ptr @tag_names, i64 0, i64 %etn.idx + %etn.gep = getelementptr inbounds [22 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.37 @@ -1725,83 +1836,87 @@ match.arm.47: ; preds = %entry, %entry, %ent %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw29, label %dispatch.default.306 [ - i64 23, label %dispatch.case.307 - i64 85, label %dispatch.case.308 - i64 91, label %dispatch.case.309 - i64 92, label %dispatch.case.310 - i64 96, label %dispatch.case.311 - i64 120, label %dispatch.case.312 - i64 125, label %dispatch.case.313 + switch i64 %ua.raw29, label %dispatch.default.336 [ + i64 23, label %dispatch.case.337 + i64 85, label %dispatch.case.338 + i64 91, label %dispatch.case.339 + i64 92, label %dispatch.case.340 + i64 96, label %dispatch.case.341 + i64 132, label %dispatch.case.342 + i64 137, label %dispatch.case.343 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw33, label %dispatch.default.350 [ - i64 24, label %dispatch.case.351 - i64 64, label %dispatch.case.352 - i64 81, label %dispatch.case.353 - i64 89, label %dispatch.case.354 - i64 109, label %dispatch.case.355 - i64 118, label %dispatch.case.356 + switch i64 %ua.raw33, label %dispatch.default.380 [ + i64 24, label %dispatch.case.381 + i64 64, label %dispatch.case.382 + i64 81, label %dispatch.case.383 + i64 89, label %dispatch.case.384 + i64 109, label %dispatch.case.385 + i64 130, label %dispatch.case.386 ] -match.arm.49: ; 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 +match.arm.49: ; 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 %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw37, label %dispatch.default.388 [ - i64 19, label %dispatch.case.389 - i64 26, label %dispatch.case.390 - i64 28, label %dispatch.case.391 - i64 30, label %dispatch.case.392 - i64 32, label %dispatch.case.393 - i64 33, label %dispatch.case.394 - i64 35, label %dispatch.case.395 - i64 37, label %dispatch.case.396 - i64 41, label %dispatch.case.397 - i64 48, label %dispatch.case.398 - i64 50, label %dispatch.case.399 - i64 51, label %dispatch.case.400 - i64 60, label %dispatch.case.401 - i64 61, label %dispatch.case.402 - i64 62, label %dispatch.case.403 - i64 63, label %dispatch.case.404 - i64 66, label %dispatch.case.405 - i64 71, label %dispatch.case.406 - i64 78, label %dispatch.case.407 - i64 87, label %dispatch.case.408 - i64 90, label %dispatch.case.409 - i64 94, label %dispatch.case.410 - i64 98, label %dispatch.case.411 - i64 101, label %dispatch.case.412 - i64 102, label %dispatch.case.413 - i64 107, label %dispatch.case.414 - i64 111, label %dispatch.case.415 - i64 114, label %dispatch.case.416 - i64 115, label %dispatch.case.417 - i64 116, label %dispatch.case.418 - i64 117, label %dispatch.case.419 - i64 119, label %dispatch.case.420 - i64 121, label %dispatch.case.421 - i64 122, label %dispatch.case.422 - i64 123, label %dispatch.case.423 - i64 124, label %dispatch.case.424 - i64 126, label %dispatch.case.425 + switch i64 %ua.raw37, label %dispatch.default.418 [ + i64 19, label %dispatch.case.419 + i64 26, label %dispatch.case.420 + i64 28, label %dispatch.case.421 + i64 30, label %dispatch.case.422 + i64 32, label %dispatch.case.423 + i64 33, label %dispatch.case.424 + i64 35, label %dispatch.case.425 + i64 37, label %dispatch.case.426 + i64 41, label %dispatch.case.427 + i64 48, label %dispatch.case.428 + i64 50, label %dispatch.case.429 + i64 51, label %dispatch.case.430 + i64 60, label %dispatch.case.431 + i64 61, label %dispatch.case.432 + i64 62, label %dispatch.case.433 + i64 63, label %dispatch.case.434 + i64 66, label %dispatch.case.435 + i64 71, label %dispatch.case.436 + i64 78, label %dispatch.case.437 + i64 87, label %dispatch.case.438 + i64 90, label %dispatch.case.439 + i64 94, label %dispatch.case.440 + i64 98, label %dispatch.case.441 + i64 101, label %dispatch.case.442 + i64 102, label %dispatch.case.443 + i64 107, label %dispatch.case.444 + i64 114, label %dispatch.case.445 + i64 116, label %dispatch.case.446 + i64 117, label %dispatch.case.447 + i64 121, label %dispatch.case.448 + i64 123, label %dispatch.case.449 + i64 126, label %dispatch.case.450 + i64 127, label %dispatch.case.451 + i64 128, label %dispatch.case.452 + i64 129, label %dispatch.case.453 + i64 131, label %dispatch.case.454 + i64 133, label %dispatch.case.455 + i64 134, label %dispatch.case.456 + i64 135, label %dispatch.case.457 + i64 136, label %dispatch.case.458 + i64 138, label %dispatch.case.459 ] match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry %loadN = load { i64, i64 }, ptr %allocaN, align 8 %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 - switch i64 %ua.raw41, label %dispatch.default.551 [ - i64 42, label %dispatch.case.552 - i64 43, label %dispatch.case.553 - i64 45, label %dispatch.case.554 - i64 47, label %dispatch.case.555 - i64 95, label %dispatch.case.556 + switch i64 %ua.raw41, label %dispatch.default.597 [ + i64 42, label %dispatch.case.598 + i64 43, label %dispatch.case.599 + i64 45, label %dispatch.case.600 + i64 47, label %dispatch.case.601 + i64 95, label %dispatch.case.602 ] match.arm.51: ; preds = %entry @@ -1810,7 +1925,7 @@ match.arm.51: ; preds = %entry %refl.val46 = extractvalue { i64, i64 } %loadN, 1 %refl.istype47 = icmp eq i64 %refl.tag45, 13 %refl.tid48 = select i1 %refl.istype47, i64 %refl.val46, i64 %refl.tag45 - %tn.gep = getelementptr inbounds [194 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [212 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 %tn.load = load { ptr, i64 }, ptr %tn.gep, align 8 store { ptr, i64 } %tn.load, ptr %allocaN, align 8 br label %match.merge.37 @@ -1855,13 +1970,13 @@ float.merge.83: ; preds = %fN.unbox.82, %fN.un store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.merge.94: ; preds = %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 +dispatch.merge.94: ; preds = %dispatch.case.132, %dispatch.case.131, %dispatch.case.130, %dispatch.case.129, %dispatch.case.128, %dispatch.case.127, %dispatch.case.126, %dispatch.case.125, %dispatch.case.124, %dispatch.case.123, %dispatch.case.122, %dispatch.case.121, %dispatch.case.120, %dispatch.case.119, %dispatch.case.118, %dispatch.case.117, %dispatch.case.116, %dispatch.case.115, %dispatch.case.114, %dispatch.case.113, %dispatch.case.112, %dispatch.case.111, %dispatch.case.110, %dispatch.case.109, %dispatch.case.108, %dispatch.case.107, %dispatch.case.106, %dispatch.case.105, %dispatch.case.104, %dispatch.case.103, %dispatch.case.102, %dispatch.case.101, %dispatch.case.100, %dispatch.case.99, %dispatch.case.98, %dispatch.case.97, %dispatch.case.96, %dispatch.default.95 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.332, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.352, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2107,497 +2222,565 @@ dispatch.case.125: ; preds = %match.arm.43 dispatch.case.126: ; preds = %match.arm.43 %ua.raw180 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr181 = inttoptr i64 %ua.raw180 to ptr - %ua.load182 = load {}, ptr %ua.ptr181, align 1 - %callN = call { ptr, i64 } @struct_to_string__NSString(ptr %0, {} %ua.load182) + %ua.load182 = load { i64, i32, i64, i64, i64, i64, i64 }, ptr %ua.ptr181, align 8 + %callN = call { ptr, i64 } @struct_to_string__Config(ptr %0, { i64, i32, i64, i64, i64, i64, i64 } %ua.load182) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.127: ; preds = %match.arm.43 %ua.raw184 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr185 = inttoptr i64 %ua.raw184 to ptr - %ua.load186 = load { i64, i64, i64 }, ptr %ua.ptr185, align 8 - %callN = call { ptr, i64 } @struct_to_string__Triple(ptr %0, { i64, i64, i64 } %ua.load186) + %ua.load186 = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 }, ptr %ua.ptr185, align 8 + %callN = call { ptr, i64 } @struct_to_string__Request(ptr %0, { { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, { ptr, i64 }, i1 } %ua.load186) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.94 -dispatch.merge.288: ; preds = %dispatch.case.294, %dispatch.case.293, %dispatch.case.292, %dispatch.case.291, %dispatch.case.290, %dispatch.default.289 +dispatch.case.128: ; preds = %match.arm.43 + %ua.raw188 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr189 = inttoptr i64 %ua.raw188 to ptr + %ua.load190 = load { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %ua.ptr189, align 8 + %callN = call { ptr, i64 } @struct_to_string__Response(ptr %0, { i64, { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %ua.load190) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.129: ; preds = %match.arm.43 + %ua.raw192 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr193 = inttoptr i64 %ua.raw192 to ptr + %ua.load194 = load { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, ptr %ua.ptr193, align 8 + %callN = call { ptr, i64 } @struct_to_string__Conn(ptr %0, { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %ua.load194) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.130: ; preds = %match.arm.43 + %ua.raw196 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr197 = inttoptr i64 %ua.raw196 to ptr + %ua.load198 = load { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, ptr %ua.ptr197, align 8 + %callN = call { ptr, i64 } @struct_to_string__Server(ptr %0, { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %ua.load198) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.131: ; preds = %match.arm.43 + %ua.raw200 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr201 = inttoptr i64 %ua.raw200 to ptr + %ua.load202 = load {}, ptr %ua.ptr201, align 1 + %callN = call { ptr, i64 } @struct_to_string__NSString(ptr %0, {} %ua.load202) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.case.132: ; preds = %match.arm.43 + %ua.raw204 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr205 = inttoptr i64 %ua.raw204 to ptr + %ua.load206 = load { i64, i64, i64 }, ptr %ua.ptr205, align 8 + %callN = call { ptr, i64 } @struct_to_string__Triple(ptr %0, { i64, i64, i64 } %ua.load206) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.94 + +dispatch.merge.318: ; preds = %dispatch.case.324, %dispatch.case.323, %dispatch.case.322, %dispatch.case.321, %dispatch.case.320, %dispatch.default.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.289: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.333, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.288 +dispatch.default.319: ; preds = %match.arm.44 + store { ptr, i64 } { ptr @str.353, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.318 -dispatch.case.290: ; preds = %match.arm.44 - %ua.raw189 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw189) +dispatch.case.320: ; preds = %match.arm.44 + %ua.raw209 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OpenMode(ptr %0, i64 %ua.raw209) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.291: ; preds = %match.arm.44 - %ua.raw191 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw191) +dispatch.case.321: ; preds = %match.arm.44 + %ua.raw211 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__SeekFrom(ptr %0, i64 %ua.raw211) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.292: ; preds = %match.arm.44 - %ua.raw193 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr194 = inttoptr i64 %ua.raw193 to ptr - %ua.load195 = load { i64, [24 x i8] }, ptr %ua.ptr194, align 8 - %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load195) +dispatch.case.322: ; preds = %match.arm.44 + %ua.raw213 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr214 = inttoptr i64 %ua.raw213 to ptr + %ua.load215 = load { i64, [24 x i8] }, ptr %ua.ptr214, align 8 + %callN = call { ptr, i64 } @enum_to_string__Value(ptr %0, { i64, [24 x i8] } %ua.load215) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.293: ; preds = %match.arm.44 - %ua.raw197 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw197) +dispatch.case.323: ; preds = %match.arm.44 + %ua.raw217 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__OperatingSystem(ptr %0, i64 %ua.raw217) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.case.294: ; preds = %match.arm.44 - %ua.raw199 = extractvalue { i64, i64 } %loadN, 1 - %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw199) +dispatch.case.324: ; preds = %match.arm.44 + %ua.raw219 = extractvalue { i64, i64 } %loadN, 1 + %callN = call { ptr, i64 } @enum_to_string__Architecture(ptr %0, i64 %ua.raw219) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.288 + br label %dispatch.merge.318 -dispatch.merge.305: ; preds = %dispatch.case.313, %dispatch.case.312, %dispatch.case.311, %dispatch.case.310, %dispatch.case.309, %dispatch.case.308, %dispatch.case.307, %dispatch.default.306 +dispatch.merge.335: ; preds = %dispatch.case.343, %dispatch.case.342, %dispatch.case.341, %dispatch.case.340, %dispatch.case.339, %dispatch.case.338, %dispatch.case.337, %dispatch.default.336 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.306: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.334, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.305 +dispatch.default.336: ; preds = %match.arm.47 + store { ptr, i64 } { ptr @str.354, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.335 -dispatch.case.307: ; preds = %match.arm.47 - %ua.raw202 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr203 = inttoptr i64 %ua.raw202 to ptr - %ua.load204 = load [4 x i64], ptr %ua.ptr203, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load204) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.308: ; preds = %match.arm.47 - %ua.raw206 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr207 = inttoptr i64 %ua.raw206 to ptr - %ua.load208 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr207, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load208) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.309: ; preds = %match.arm.47 - %ua.raw210 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr211 = inttoptr i64 %ua.raw210 to ptr - %ua.load212 = load [8 x i64], ptr %ua.ptr211, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load212) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.310: ; preds = %match.arm.47 - %ua.raw214 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr215 = inttoptr i64 %ua.raw214 to ptr - %ua.load216 = load [64 x i8], ptr %ua.ptr215, align 1 - %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load216) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.311: ; preds = %match.arm.47 - %ua.raw218 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr219 = inttoptr i64 %ua.raw218 to ptr - %ua.load220 = load [64 x i64], ptr %ua.ptr219, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load220) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 - -dispatch.case.312: ; preds = %match.arm.47 +dispatch.case.337: ; preds = %match.arm.47 %ua.raw222 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr223 = inttoptr i64 %ua.raw222 to ptr - %ua.load224 = load [1 x { i64, i64 }], ptr %ua.ptr223, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load224) + %ua.load224 = load [4 x i64], ptr %ua.ptr223, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_4_i64(ptr %0, [4 x i64] %ua.load224) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 + br label %dispatch.merge.335 -dispatch.case.313: ; preds = %match.arm.47 +dispatch.case.338: ; preds = %match.arm.47 %ua.raw226 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr227 = inttoptr i64 %ua.raw226 to ptr - %ua.load228 = load [3 x { i64, i64 }], ptr %ua.ptr227, align 8 - %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load228) + %ua.load228 = load [16 x { i1, { ptr, i64 } }], ptr %ua.ptr227, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_16_FlagValue(ptr %0, [16 x { i1, { ptr, i64 } }] %ua.load228) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.305 + br label %dispatch.merge.335 -dispatch.merge.349: ; preds = %dispatch.case.356, %dispatch.case.355, %dispatch.case.354, %dispatch.case.353, %dispatch.case.352, %dispatch.case.351, %dispatch.default.350 +dispatch.case.339: ; preds = %match.arm.47 + %ua.raw230 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr231 = inttoptr i64 %ua.raw230 to ptr + %ua.load232 = load [8 x i64], ptr %ua.ptr231, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_8_i64(ptr %0, [8 x i64] %ua.load232) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.340: ; preds = %match.arm.47 + %ua.raw234 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr235 = inttoptr i64 %ua.raw234 to ptr + %ua.load236 = load [64 x i8], ptr %ua.ptr235, align 1 + %callN = call { ptr, i64 } @array_to_string__AR_64_u8(ptr %0, [64 x i8] %ua.load236) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.341: ; preds = %match.arm.47 + %ua.raw238 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr239 = inttoptr i64 %ua.raw238 to ptr + %ua.load240 = load [64 x i64], ptr %ua.ptr239, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_64_i64(ptr %0, [64 x i64] %ua.load240) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.342: ; preds = %match.arm.47 + %ua.raw242 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr243 = inttoptr i64 %ua.raw242 to ptr + %ua.load244 = load [1 x { i64, i64 }], ptr %ua.ptr243, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_1_Any(ptr %0, [1 x { i64, i64 }] %ua.load244) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.case.343: ; preds = %match.arm.47 + %ua.raw246 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr247 = inttoptr i64 %ua.raw246 to ptr + %ua.load248 = load [3 x { i64, i64 }], ptr %ua.ptr247, align 8 + %callN = call { ptr, i64 } @array_to_string__AR_3_Any(ptr %0, [3 x { i64, i64 }] %ua.load248) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.335 + +dispatch.merge.379: ; preds = %dispatch.case.386, %dispatch.case.385, %dispatch.case.384, %dispatch.case.383, %dispatch.case.382, %dispatch.case.381, %dispatch.default.380 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.350: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.335, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.349 +dispatch.default.380: ; preds = %match.arm.48 + store { ptr, i64 } { ptr @str.355, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.379 -dispatch.case.351: ; preds = %match.arm.48 - %ua.raw231 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr232 = inttoptr i64 %ua.raw231 to ptr - %ua.load233 = load { ptr, i64 }, ptr %ua.ptr232, align 8 - %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load233) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.352: ; preds = %match.arm.48 - %ua.raw235 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr236 = inttoptr i64 %ua.raw235 to ptr - %ua.load237 = load { ptr, i64 }, ptr %ua.ptr236, align 8 - %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load237) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.353: ; preds = %match.arm.48 - %ua.raw239 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr240 = inttoptr i64 %ua.raw239 to ptr - %ua.load241 = load { ptr, i64 }, ptr %ua.ptr240, align 8 - %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load241) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.354: ; preds = %match.arm.48 - %ua.raw243 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr244 = inttoptr i64 %ua.raw243 to ptr - %ua.load245 = load { ptr, i64 }, ptr %ua.ptr244, align 8 - %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load245) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.355: ; preds = %match.arm.48 - %ua.raw247 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr248 = inttoptr i64 %ua.raw247 to ptr - %ua.load249 = load { ptr, i64 }, ptr %ua.ptr248, align 8 - %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load249) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 - -dispatch.case.356: ; preds = %match.arm.48 +dispatch.case.381: ; preds = %match.arm.48 %ua.raw251 = extractvalue { i64, i64 } %loadN, 1 %ua.ptr252 = inttoptr i64 %ua.raw251 to ptr %ua.load253 = load { ptr, i64 }, ptr %ua.ptr252, align 8 - %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load253) + %callN = call { ptr, i64 } @slice_to_string__string(ptr %0, { ptr, i64 } %ua.load253) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.349 + br label %dispatch.merge.379 -dispatch.merge.387: ; preds = %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.case.418, %dispatch.case.417, %dispatch.case.416, %dispatch.case.415, %dispatch.case.414, %dispatch.case.413, %dispatch.case.412, %dispatch.case.411, %dispatch.case.410, %dispatch.case.409, %dispatch.case.408, %dispatch.case.407, %dispatch.case.406, %dispatch.case.405, %dispatch.case.404, %dispatch.case.403, %dispatch.case.402, %dispatch.case.401, %dispatch.case.400, %dispatch.case.399, %dispatch.case.398, %dispatch.case.397, %dispatch.case.396, %dispatch.case.395, %dispatch.case.394, %dispatch.case.393, %dispatch.case.392, %dispatch.case.391, %dispatch.case.390, %dispatch.case.389, %dispatch.default.388 +dispatch.case.382: ; preds = %match.arm.48 + %ua.raw255 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr256 = inttoptr i64 %ua.raw255 to ptr + %ua.load257 = load { ptr, i64 }, ptr %ua.ptr256, align 8 + %callN = call { ptr, i64 } @slice_to_string__u8(ptr %0, { ptr, i64 } %ua.load257) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.383: ; preds = %match.arm.48 + %ua.raw259 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr260 = inttoptr i64 %ua.raw259 to ptr + %ua.load261 = load { ptr, i64 }, ptr %ua.ptr260, align 8 + %callN = call { ptr, i64 } @slice_to_string__FlagSpec(ptr %0, { ptr, i64 } %ua.load261) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.384: ; preds = %match.arm.48 + %ua.raw263 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr264 = inttoptr i64 %ua.raw263 to ptr + %ua.load265 = load { ptr, i64 }, ptr %ua.ptr264, align 8 + %callN = call { ptr, i64 } @slice_to_string__Command(ptr %0, { ptr, i64 } %ua.load265) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.385: ; preds = %match.arm.48 + %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr268 = inttoptr i64 %ua.raw267 to ptr + %ua.load269 = load { ptr, i64 }, ptr %ua.ptr268, align 8 + %callN = call { ptr, i64 } @slice_to_string__Event(ptr %0, { ptr, i64 } %ua.load269) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.case.386: ; preds = %match.arm.48 + %ua.raw271 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr272 = inttoptr i64 %ua.raw271 to ptr + %ua.load273 = load { ptr, i64 }, ptr %ua.ptr272, align 8 + %callN = call { ptr, i64 } @slice_to_string__Any(ptr %0, { ptr, i64 } %ua.load273) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.379 + +dispatch.merge.417: ; preds = %dispatch.case.459, %dispatch.case.458, %dispatch.case.457, %dispatch.case.456, %dispatch.case.455, %dispatch.case.454, %dispatch.case.453, %dispatch.case.452, %dispatch.case.451, %dispatch.case.450, %dispatch.case.449, %dispatch.case.448, %dispatch.case.447, %dispatch.case.446, %dispatch.case.445, %dispatch.case.444, %dispatch.case.443, %dispatch.case.442, %dispatch.case.441, %dispatch.case.440, %dispatch.case.439, %dispatch.case.438, %dispatch.case.437, %dispatch.case.436, %dispatch.case.435, %dispatch.case.434, %dispatch.case.433, %dispatch.case.432, %dispatch.case.431, %dispatch.case.430, %dispatch.case.429, %dispatch.case.428, %dispatch.case.427, %dispatch.case.426, %dispatch.case.425, %dispatch.case.424, %dispatch.case.423, %dispatch.case.422, %dispatch.case.421, %dispatch.case.420, %dispatch.case.419, %dispatch.default.418 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.388: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.336, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.389: ; preds = %match.arm.49 - %ua.raw256 = extractvalue { i64, i64 } %loadN, 1 - %iNp = inttoptr i64 %ua.raw256 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.390: ; preds = %match.arm.49 - %ua.raw258 = extractvalue { i64, i64 } %loadN, 1 - %iNp259 = inttoptr i64 %ua.raw258 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp259) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.391: ; preds = %match.arm.49 - %ua.raw261 = extractvalue { i64, i64 } %loadN, 1 - %iNp262 = inttoptr i64 %ua.raw261 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp262) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.392: ; preds = %match.arm.49 - %ua.raw264 = extractvalue { i64, i64 } %loadN, 1 - %iNp265 = inttoptr i64 %ua.raw264 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp265) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.393: ; preds = %match.arm.49 - %ua.raw267 = extractvalue { i64, i64 } %loadN, 1 - %iNp268 = inttoptr i64 %ua.raw267 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp268) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.394: ; preds = %match.arm.49 - %ua.raw270 = extractvalue { i64, i64 } %loadN, 1 - %iNp271 = inttoptr i64 %ua.raw270 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp271) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.395: ; preds = %match.arm.49 - %ua.raw273 = extractvalue { i64, i64 } %loadN, 1 - %iNp274 = inttoptr i64 %ua.raw273 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp274) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.396: ; preds = %match.arm.49 - %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 - %iNp277 = inttoptr i64 %ua.raw276 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp277) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.397: ; preds = %match.arm.49 - %ua.raw279 = extractvalue { i64, i64 } %loadN, 1 - %iNp280 = inttoptr i64 %ua.raw279 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp280) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.398: ; preds = %match.arm.49 - %ua.raw282 = extractvalue { i64, i64 } %loadN, 1 - %iNp283 = inttoptr i64 %ua.raw282 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp283) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.399: ; preds = %match.arm.49 - %ua.raw285 = extractvalue { i64, i64 } %loadN, 1 - %iNp286 = inttoptr i64 %ua.raw285 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp286) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.400: ; preds = %match.arm.49 - %ua.raw288 = extractvalue { i64, i64 } %loadN, 1 - %iNp289 = inttoptr i64 %ua.raw288 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp289) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.401: ; preds = %match.arm.49 - %ua.raw291 = extractvalue { i64, i64 } %loadN, 1 - %iNp292 = inttoptr i64 %ua.raw291 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp292) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.402: ; preds = %match.arm.49 - %ua.raw294 = extractvalue { i64, i64 } %loadN, 1 - %iNp295 = inttoptr i64 %ua.raw294 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp295) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.403: ; preds = %match.arm.49 - %ua.raw297 = extractvalue { i64, i64 } %loadN, 1 - %iNp298 = inttoptr i64 %ua.raw297 to ptr - %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp298) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.404: ; preds = %match.arm.49 - %ua.raw300 = extractvalue { i64, i64 } %loadN, 1 - %iNp301 = inttoptr i64 %ua.raw300 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp301) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.405: ; preds = %match.arm.49 - %ua.raw303 = extractvalue { i64, i64 } %loadN, 1 - %iNp304 = inttoptr i64 %ua.raw303 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp304) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.406: ; preds = %match.arm.49 - %ua.raw306 = extractvalue { i64, i64 } %loadN, 1 - %iNp307 = inttoptr i64 %ua.raw306 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp307) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.407: ; preds = %match.arm.49 - %ua.raw309 = extractvalue { i64, i64 } %loadN, 1 - %iNp310 = inttoptr i64 %ua.raw309 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp310) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.408: ; preds = %match.arm.49 - %ua.raw312 = extractvalue { i64, i64 } %loadN, 1 - %iNp313 = inttoptr i64 %ua.raw312 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp313) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.409: ; preds = %match.arm.49 - %ua.raw315 = extractvalue { i64, i64 } %loadN, 1 - %iNp316 = inttoptr i64 %ua.raw315 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp316) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.410: ; preds = %match.arm.49 - %ua.raw318 = extractvalue { i64, i64 } %loadN, 1 - %iNp319 = inttoptr i64 %ua.raw318 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp319) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.411: ; preds = %match.arm.49 - %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %iNp322 = inttoptr i64 %ua.raw321 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp322) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.412: ; preds = %match.arm.49 - %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 - %iNp325 = inttoptr i64 %ua.raw324 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp325) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.413: ; preds = %match.arm.49 - %ua.raw327 = extractvalue { i64, i64 } %loadN, 1 - %iNp328 = inttoptr i64 %ua.raw327 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp328) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.414: ; preds = %match.arm.49 - %ua.raw330 = extractvalue { i64, i64 } %loadN, 1 - %iNp331 = inttoptr i64 %ua.raw330 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp331) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.415: ; preds = %match.arm.49 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %iNp334 = inttoptr i64 %ua.raw333 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp334) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.416: ; preds = %match.arm.49 - %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 - %iNp337 = inttoptr i64 %ua.raw336 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp337) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.417: ; preds = %match.arm.49 - %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %iNp340 = inttoptr i64 %ua.raw339 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp340) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 - -dispatch.case.418: ; preds = %match.arm.49 - %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 - %iNp343 = inttoptr i64 %ua.raw342 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp343) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 +dispatch.default.418: ; preds = %match.arm.49 + store { ptr, i64 } { ptr @str.356, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.417 dispatch.case.419: ; preds = %match.arm.49 - %ua.raw345 = extractvalue { i64, i64 } %loadN, 1 - %iNp346 = inttoptr i64 %ua.raw345 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp346) + %ua.raw276 = extractvalue { i64, i64 } %loadN, 1 + %iNp = inttoptr i64 %ua.raw276 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_void(ptr %0, ptr %iNp) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.420: ; preds = %match.arm.49 - %ua.raw348 = extractvalue { i64, i64 } %loadN, 1 - %iNp349 = inttoptr i64 %ua.raw348 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp349) + %ua.raw278 = extractvalue { i64, i64 } %loadN, 1 + %iNp279 = inttoptr i64 %ua.raw278 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_CAllocator(ptr %0, ptr %iNp279) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.421: ; preds = %match.arm.49 - %ua.raw351 = extractvalue { i64, i64 } %loadN, 1 - %iNp352 = inttoptr i64 %ua.raw351 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp352) + %ua.raw281 = extractvalue { i64, i64 } %loadN, 1 + %iNp282 = inttoptr i64 %ua.raw281 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_GPA(ptr %0, ptr %iNp282) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.422: ; preds = %match.arm.49 - %ua.raw354 = extractvalue { i64, i64 } %loadN, 1 - %iNp355 = inttoptr i64 %ua.raw354 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp355) + %ua.raw284 = extractvalue { i64, i64 } %loadN, 1 + %iNp285 = inttoptr i64 %ua.raw284 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ArenaChunk(ptr %0, ptr %iNp285) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.423: ; preds = %match.arm.49 - %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %iNp358 = inttoptr i64 %ua.raw357 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp358) + %ua.raw287 = extractvalue { i64, i64 } %loadN, 1 + %iNp288 = inttoptr i64 %ua.raw287 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Arena(ptr %0, ptr %iNp288) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.424: ; preds = %match.arm.49 - %ua.raw360 = extractvalue { i64, i64 } %loadN, 1 - %iNp361 = inttoptr i64 %ua.raw360 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_Triple(ptr %0, ptr %iNp361) + %ua.raw290 = extractvalue { i64, i64 } %loadN, 1 + %iNp291 = inttoptr i64 %ua.raw290 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_u8(ptr %0, ptr %iNp291) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 dispatch.case.425: ; preds = %match.arm.49 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %iNp364 = inttoptr i64 %ua.raw363 to ptr - %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp364) + %ua.raw293 = extractvalue { i64, i64 } %loadN, 1 + %iNp294 = inttoptr i64 %ua.raw293 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_BufAlloc(ptr %0, ptr %iNp294) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.387 + br label %dispatch.merge.417 -dispatch.merge.550: ; preds = %dispatch.case.556, %dispatch.case.555, %dispatch.case.554, %dispatch.case.553, %dispatch.case.552, %dispatch.default.551 +dispatch.case.426: ; preds = %match.arm.49 + %ua.raw296 = extractvalue { i64, i64 } %loadN, 1 + %iNp297 = inttoptr i64 %ua.raw296 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_TrackingAllocator(ptr %0, ptr %iNp297) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.427: ; preds = %match.arm.49 + %ua.raw299 = extractvalue { i64, i64 } %loadN, 1 + %iNp300 = inttoptr i64 %ua.raw299 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_File(ptr %0, ptr %iNp300) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.428: ; preds = %match.arm.49 + %ua.raw302 = extractvalue { i64, i64 } %loadN, 1 + %iNp303 = inttoptr i64 %ua.raw302 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp303) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.429: ; preds = %match.arm.49 + %ua.raw305 = extractvalue { i64, i64 } %loadN, 1 + %iNp306 = inttoptr i64 %ua.raw305 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp306) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.430: ; preds = %match.arm.49 + %ua.raw308 = extractvalue { i64, i64 } %loadN, 1 + %iNp309 = inttoptr i64 %ua.raw308 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp309) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.431: ; preds = %match.arm.49 + %ua.raw311 = extractvalue { i64, i64 } %loadN, 1 + %iNp312 = inttoptr i64 %ua.raw311 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp312) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.432: ; preds = %match.arm.49 + %ua.raw314 = extractvalue { i64, i64 } %loadN, 1 + %iNp315 = inttoptr i64 %ua.raw314 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp315) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.433: ; preds = %match.arm.49 + %ua.raw317 = extractvalue { i64, i64 } %loadN, 1 + %iNp318 = inttoptr i64 %ua.raw317 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp318) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.434: ; preds = %match.arm.49 + %ua.raw320 = extractvalue { i64, i64 } %loadN, 1 + %iNp321 = inttoptr i64 %ua.raw320 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp321) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.435: ; preds = %match.arm.49 + %ua.raw323 = extractvalue { i64, i64 } %loadN, 1 + %iNp324 = inttoptr i64 %ua.raw323 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp324) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.436: ; preds = %match.arm.49 + %ua.raw326 = extractvalue { i64, i64 } %loadN, 1 + %iNp327 = inttoptr i64 %ua.raw326 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp327) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.437: ; preds = %match.arm.49 + %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 + %iNp330 = inttoptr i64 %ua.raw329 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.438: ; preds = %match.arm.49 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %iNp333 = inttoptr i64 %ua.raw332 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp333) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.439: ; preds = %match.arm.49 + %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 + %iNp336 = inttoptr i64 %ua.raw335 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.440: ; preds = %match.arm.49 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %iNp339 = inttoptr i64 %ua.raw338 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp339) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.441: ; preds = %match.arm.49 + %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 + %iNp342 = inttoptr i64 %ua.raw341 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Timespec(ptr %0, ptr %iNp342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.442: ; preds = %match.arm.49 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %iNp345 = inttoptr i64 %ua.raw344 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Kevent(ptr %0, ptr %iNp345) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.443: ; preds = %match.arm.49 + %ua.raw347 = extractvalue { i64, i64 } %loadN, 1 + %iNp348 = inttoptr i64 %ua.raw347 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_KqTimespec(ptr %0, ptr %iNp348) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.444: ; preds = %match.arm.49 + %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 + %iNp351 = inttoptr i64 %ua.raw350 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Loop(ptr %0, ptr %iNp351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.445: ; preds = %match.arm.49 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %iNp354 = inttoptr i64 %ua.raw353 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Request(ptr %0, ptr %iNp354) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.446: ; preds = %match.arm.49 + %ua.raw356 = extractvalue { i64, i64 } %loadN, 1 + %iNp357 = inttoptr i64 %ua.raw356 to ptr + %callN = call { ptr, i64 } @pointer_to_string__mptr_Conn(ptr %0, ptr %iNp357) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.447: ; preds = %match.arm.49 + %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 + %iNp360 = inttoptr i64 %ua.raw359 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Response(ptr %0, ptr %iNp360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.448: ; preds = %match.arm.49 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %iNp363 = inttoptr i64 %ua.raw362 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Server(ptr %0, ptr %iNp363) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.449: ; preds = %match.arm.49 + %ua.raw365 = extractvalue { i64, i64 } %loadN, 1 + %iNp366 = inttoptr i64 %ua.raw365 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp366) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.450: ; preds = %match.arm.49 + %ua.raw368 = extractvalue { i64, i64 } %loadN, 1 + %iNp369 = inttoptr i64 %ua.raw368 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp369) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.451: ; preds = %match.arm.49 + %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp372) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.452: ; preds = %match.arm.49 + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %iNp375 = inttoptr i64 %ua.raw374 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp375) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.453: ; preds = %match.arm.49 + %ua.raw377 = extractvalue { i64, i64 } %loadN, 1 + %iNp378 = inttoptr i64 %ua.raw377 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp378) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.454: ; preds = %match.arm.49 + %ua.raw380 = extractvalue { i64, i64 } %loadN, 1 + %iNp381 = inttoptr i64 %ua.raw380 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp381) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.455: ; preds = %match.arm.49 + %ua.raw383 = extractvalue { i64, i64 } %loadN, 1 + %iNp384 = inttoptr i64 %ua.raw383 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp384) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.456: ; preds = %match.arm.49 + %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp387) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.457: ; preds = %match.arm.49 + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %iNp390 = inttoptr i64 %ua.raw389 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp390) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.458: ; preds = %match.arm.49 + %ua.raw392 = extractvalue { i64, i64 } %loadN, 1 + %iNp393 = inttoptr i64 %ua.raw392 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_Triple(ptr %0, ptr %iNp393) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.case.459: ; preds = %match.arm.49 + %ua.raw395 = extractvalue { i64, i64 } %loadN, 1 + %iNp396 = inttoptr i64 %ua.raw395 to ptr + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp396) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.417 + +dispatch.merge.596: ; preds = %dispatch.case.602, %dispatch.case.601, %dispatch.case.600, %dispatch.case.599, %dispatch.case.598, %dispatch.default.597 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 -dispatch.default.551: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.337, i64 0 }, ptr %allocaN, align 8 - br label %dispatch.merge.550 +dispatch.default.597: ; preds = %match.arm.50 + store { ptr, i64 } { ptr @str.357, i64 0 }, ptr %allocaN, align 8 + br label %dispatch.merge.596 -dispatch.case.552: ; preds = %match.arm.50 - %ua.raw367 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr368 = inttoptr i64 %ua.raw367 to ptr - %ua.load369 = load { { i32 }, i1 }, ptr %ua.ptr368, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load369) +dispatch.case.598: ; preds = %match.arm.50 + %ua.raw399 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr400 = inttoptr i64 %ua.raw399 to ptr + %ua.load401 = load { { i32 }, i1 }, ptr %ua.ptr400, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_File(ptr %0, { { i32 }, i1 } %ua.load401) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.553: ; preds = %match.arm.50 - %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr372 = inttoptr i64 %ua.raw371 to ptr - %ua.load373 = load { { ptr, i64 }, i1 }, ptr %ua.ptr372, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load373) +dispatch.case.599: ; preds = %match.arm.50 + %ua.raw403 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr404 = inttoptr i64 %ua.raw403 to ptr + %ua.load405 = load { { ptr, i64 }, i1 }, ptr %ua.ptr404, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_string(ptr %0, { { ptr, i64 }, i1 } %ua.load405) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.554: ; preds = %match.arm.50 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %iNp376 = inttoptr i64 %ua.raw375 to ptr - %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp376) +dispatch.case.600: ; preds = %match.arm.50 + %ua.raw407 = extractvalue { i64, i64 } %loadN, 1 + %iNp408 = inttoptr i64 %ua.raw407 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp408) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.555: ; preds = %match.arm.50 - %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr379 = inttoptr i64 %ua.raw378 to ptr - %ua.load380 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr379, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load380) +dispatch.case.601: ; preds = %match.arm.50 + %ua.raw410 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr411 = inttoptr i64 %ua.raw410 to ptr + %ua.load412 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr411, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load412) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 -dispatch.case.556: ; preds = %match.arm.50 - %ua.raw382 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr383 = inttoptr i64 %ua.raw382 to ptr - %ua.load384 = load { [64 x i8], i1 }, ptr %ua.ptr383, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load384) +dispatch.case.602: ; preds = %match.arm.50 + %ua.raw414 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr415 = inttoptr i64 %ua.raw414 to ptr + %ua.load416 = load { [64 x i8], i1 }, ptr %ua.ptr415, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load416) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %dispatch.merge.550 + br label %dispatch.merge.596 } ; Function Attrs: nounwind @@ -2606,7 +2789,7 @@ 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.338, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.358, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2702,7 +2885,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me if.then.12: ; preds = %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.339, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.359, 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 @@ -2710,7 +2893,7 @@ if.then.12: ; preds = %if.then.9 %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.340, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.360, 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 @@ -2720,13 +2903,13 @@ if.then.12: ; preds = %if.then.9 %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.341, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.13 if.merge.13: ; preds = %if.then.12, %if.then.9 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.342, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.362, 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 @@ -2734,7 +2917,7 @@ if.merge.13: ; preds = %if.then.12, %if.the %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.343, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.363, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2748,7 +2931,7 @@ if.merge.13: ; preds = %if.then.12, %if.the if.then.23: ; preds = %if.else.10 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.364, 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 @@ -2756,7 +2939,7 @@ if.then.23: ; preds = %if.else.10 %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.345, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, 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 @@ -2767,7 +2950,7 @@ if.then.23: ; preds = %if.else.10 %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.346, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2824,7 +3007,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el if.then.32: ; preds = %if.then.29 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.347, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, 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 @@ -2832,7 +3015,7 @@ if.then.32: ; preds = %if.then.29 %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.348, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.368, 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 @@ -2843,7 +3026,7 @@ if.then.32: ; preds = %if.then.29 %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.349, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2863,7 +3046,7 @@ if.merge.34: ; preds = %if.else.33, %if.the if.then.35: ; preds = %while.exit.2 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.370, 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 @@ -2871,7 +3054,7 @@ if.then.35: ; preds = %while.exit.2 %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.351, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.371, 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 @@ -2882,7 +3065,7 @@ if.then.35: ; preds = %while.exit.2 %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.352, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.372, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3715,6 +3898,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 @@ -3892,19 +4123,19 @@ entry: define i32 @main() #0 { entry: call void @__sx_objc_selector_init() - %call = call ptr @objc_getClass(ptr @str.353) + %call = call ptr @objc_getClass(ptr @str.373) %alloca = alloca ptr, align 8 store ptr %call, ptr %alloca, align 8 %load = load ptr, ptr %alloca, align 8 - %callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.354, i64 0) + %callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.374, i64 0) %allocaN = alloca ptr, align 8 store ptr %callN, ptr %allocaN, align 8 - %callN = call ptr @sel_registerName(ptr @str.355) + %callN = call ptr @sel_registerName(ptr @str.375) %allocaN = alloca ptr, align 8 store ptr %callN, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 - %callN = call i1 @class_addMethod(ptr %loadN, ptr %loadN, ptr @triple_imp, ptr @str.356) + %callN = call i1 @class_addMethod(ptr %loadN, ptr %loadN, ptr @triple_imp, ptr @str.376) %allocaN = alloca i1, align 1 store i1 %callN, ptr %allocaN, align 1 %loadN = load i1, ptr %allocaN, align 1 @@ -3950,7 +4181,7 @@ entry: define internal void @print__ct_s7f3aff1506f207ab__pack_bool(ptr %0, i1 %1) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.357, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.377, i64 15 }, ptr %alloca, align 8 %allocaN = alloca i1, align 1 store i1 %1, ptr %allocaN, align 1 %allocaN = alloca [1 x { i64, i64 }], align 8 @@ -3966,7 +4197,7 @@ entry: %gepN = getelementptr inbounds { 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.358, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.378, 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 12) @@ -3994,7 +4225,7 @@ entry: ; 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.359, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.379, i64 15 }) ret { ptr, i64 } %call } @@ -4002,7 +4233,7 @@ entry: define internal void @print__ct_s337be2777a405332__pack_i64_i64_i64(ptr %0, i64 %1, i64 %2, i64 %3) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.360, i64 22 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.380, i64 22 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4029,7 +4260,7 @@ entry: %gepN = getelementptr inbounds { 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.361, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.381, 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 10) @@ -4078,7 +4309,7 @@ entry: ; 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.362, i64 22 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.382, i64 22 }) ret { ptr, i64 } %call } @@ -4089,35 +4320,35 @@ entry: %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.363, i64 15 }, { ptr, i64 } { ptr @str.364, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 15 }, { ptr, i64 } { ptr @str.384, 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.128 + br label %while.hdr.133 -while.hdr.128: ; preds = %fv.merge, %entry +while.hdr.133: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.129, label %while.exit.130 + br i1 %icmp, label %while.body.134, label %while.exit.135 -while.body.129: ; preds = %while.hdr.128 +while.body.134: ; preds = %while.hdr.133 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.131, label %if.merge.132 + br i1 %icmpN, label %if.then.136, label %if.merge.137 -while.exit.130: ; preds = %while.hdr.128 +while.exit.135: ; preds = %while.hdr.133 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.365, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.385, i64 1 }) ret { ptr, i64 } %callN -if.then.131: ; preds = %while.body.129 +if.then.136: ; preds = %while.body.134 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.366, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.386, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.132 + br label %if.merge.137 -if.merge.132: ; preds = %if.then.131, %while.body.129 +if.merge.137: ; preds = %if.then.136, %while.body.134 %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 @@ -4125,7 +4356,7 @@ if.merge.132: ; preds = %if.then.131, %while %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.370, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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 @@ -4145,31 +4376,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.128 + br label %while.hdr.133 -fv.default: ; preds = %if.merge.132 +fv.default: ; preds = %if.merge.137 br label %fv.merge -fv.case: ; preds = %if.merge.132 +fv.case: ; preds = %if.merge.137 %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.132 +fv.case17: ; preds = %if.merge.137 %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.132 +fv.case20: ; preds = %if.merge.137 %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.132 +fv.case24: ; preds = %if.merge.137 %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 @@ -4182,43 +4413,43 @@ define internal { ptr, i64 } @struct_to_string__Allocator(ptr %0, { ptr, ptr, pt 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.371, i64 9 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.391, i64 9 }, { ptr, i64 } { ptr @str.392, 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.133 + br label %while.hdr.138 -while.hdr.133: ; preds = %fv.merge, %entry +while.hdr.138: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.134, label %while.exit.135 + br i1 %icmp, label %while.body.139, label %while.exit.140 -while.body.134: ; preds = %while.hdr.133 +while.body.139: ; preds = %while.hdr.138 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.136, label %if.merge.137 + br i1 %icmpN, label %if.then.141, label %if.merge.142 -while.exit.135: ; preds = %while.hdr.133 +while.exit.140: ; preds = %while.hdr.138 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.373, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.393, i64 1 }) ret { ptr, i64 } %callN -if.then.136: ; preds = %while.body.134 +if.then.141: ; preds = %while.body.139 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.374, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.394, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.137 + br label %if.merge.142 -if.merge.137: ; preds = %if.then.136, %while.body.134 +if.merge.142: ; preds = %if.then.141, %while.body.139 %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.378, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.398, 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.379, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.399, 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 @@ -4237,24 +4468,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.133 + br label %while.hdr.138 -fv.default: ; preds = %if.merge.137 +fv.default: ; preds = %if.merge.142 br label %fv.merge -fv.case: ; preds = %if.merge.137 +fv.case: ; preds = %if.merge.142 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.137 +fv.case17: ; preds = %if.merge.142 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge -fv.case21: ; preds = %if.merge.137 +fv.case21: ; preds = %if.merge.142 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 @@ -4267,43 +4498,43 @@ entry: %alloca = alloca { { ptr, ptr, ptr }, ptr }, align 8 %ba.tmp = alloca { ptr, ptr, ptr }, align 8 store { { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.380, i64 7 }, { ptr, i64 } { ptr @str.381, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.400, i64 7 }, { ptr, i64 } { ptr @str.401, 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.138 + br label %while.hdr.143 -while.hdr.138: ; preds = %fv.merge, %entry +while.hdr.143: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.139, label %while.exit.140 + br i1 %icmp, label %while.body.144, label %while.exit.145 -while.body.139: ; preds = %while.hdr.138 +while.body.144: ; preds = %while.hdr.143 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.141, label %if.merge.142 + br i1 %icmpN, label %if.then.146, label %if.merge.147 -while.exit.140: ; preds = %while.hdr.138 +while.exit.145: ; preds = %while.hdr.143 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.402, i64 1 }) ret { ptr, i64 } %callN -if.then.141: ; preds = %while.body.139 +if.then.146: ; preds = %while.body.144 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.142 + br label %if.merge.147 -if.merge.142: ; preds = %if.then.141, %while.body.139 +if.merge.147: ; preds = %if.then.146, %while.body.144 %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.386, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.406, 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.387, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.407, 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 %alloca, align 8 @@ -4321,19 +4552,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.138 + br label %while.hdr.143 -fv.default: ; preds = %if.merge.142 +fv.default: ; preds = %if.merge.147 br label %fv.merge -fv.case: ; preds = %if.merge.142 +fv.case: ; preds = %if.merge.147 %fv.field = extractvalue { { 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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.142 +fv.case17: ; preds = %if.merge.147 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 @@ -4345,43 +4576,43 @@ 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.388, i64 10 }, { ptr, i64 } { ptr @str.389, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.408, i64 10 }, { ptr, i64 } { ptr @str.409, 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.143 + br label %while.hdr.148 -while.hdr.143: ; preds = %if.merge.147, %entry +while.hdr.148: ; preds = %if.merge.152, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.144, label %while.exit.145 + br i1 %icmp, label %while.body.149, label %while.exit.150 -while.body.144: ; preds = %while.hdr.143 +while.body.149: ; preds = %while.hdr.148 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.146, label %if.merge.147 + br i1 %icmpN, label %if.then.151, label %if.merge.152 -while.exit.145: ; preds = %while.hdr.143 +while.exit.150: ; preds = %while.hdr.148 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.410, i64 1 }) ret { ptr, i64 } %callN -if.then.146: ; preds = %while.body.144 +if.then.151: ; preds = %while.body.149 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.147 + br label %if.merge.152 -if.merge.147: ; preds = %if.then.146, %while.body.144 +if.merge.152: ; preds = %if.then.151, %while.body.149 %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.392, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.412, 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.393, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.413, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4392,7 +4623,7 @@ if.merge.147: ; preds = %if.then.146, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.143 + br label %while.hdr.148 } ; Function Attrs: nounwind @@ -4400,43 +4631,43 @@ 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.394, i64 3 }, { ptr, i64 } { ptr @str.395, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.414, i64 3 }, { ptr, i64 } { ptr @str.415, 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.148 + br label %while.hdr.153 -while.hdr.148: ; preds = %fv.merge, %entry +while.hdr.153: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.149, label %while.exit.150 + br i1 %icmp, label %while.body.154, label %while.exit.155 -while.body.149: ; preds = %while.hdr.148 +while.body.154: ; preds = %while.hdr.153 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.151, label %if.merge.152 + br i1 %icmpN, label %if.then.156, label %if.merge.157 -while.exit.150: ; preds = %while.hdr.148 +while.exit.155: ; preds = %while.hdr.153 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.416, i64 1 }) ret { ptr, i64 } %callN -if.then.151: ; preds = %while.body.149 +if.then.156: ; preds = %while.body.154 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.417, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.152 + br label %if.merge.157 -if.merge.152: ; preds = %if.then.151, %while.body.149 +if.merge.157: ; preds = %if.then.156, %while.body.154 %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.399, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.419, 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.400, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, 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 @@ -4453,12 +4684,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.148 + br label %while.hdr.153 -fv.default: ; preds = %if.merge.152 +fv.default: ; preds = %if.merge.157 br label %fv.merge -fv.case: ; preds = %if.merge.152 +fv.case: ; preds = %if.merge.157 %fv.field = extractvalue { i64 } %loadN, 0 %fv.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field, 1 br label %fv.merge @@ -4469,43 +4700,43 @@ define internal { ptr, i64 } @struct_to_string__ArenaChunk(ptr %0, { ptr, i64 } 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.401, i64 10 }, { ptr, i64 } { ptr @str.402, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.421, i64 10 }, { ptr, i64 } { ptr @str.422, 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.153 + br label %while.hdr.158 -while.hdr.153: ; preds = %fv.merge, %entry +while.hdr.158: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.154, label %while.exit.155 + br i1 %icmp, label %while.body.159, label %while.exit.160 -while.body.154: ; preds = %while.hdr.153 +while.body.159: ; preds = %while.hdr.158 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.156, label %if.merge.157 + br i1 %icmpN, label %if.then.161, label %if.merge.162 -while.exit.155: ; preds = %while.hdr.153 +while.exit.160: ; preds = %while.hdr.158 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.403, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.423, i64 1 }) ret { ptr, i64 } %callN -if.then.156: ; preds = %while.body.154 +if.then.161: ; preds = %while.body.159 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.404, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.424, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.157 + br label %if.merge.162 -if.merge.157: ; preds = %if.then.156, %while.body.154 +if.merge.162: ; preds = %if.then.161, %while.body.159 %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.407, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.427, 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.408, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.428, 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 @@ -4523,18 +4754,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.153 + br label %while.hdr.158 -fv.default: ; preds = %if.merge.157 +fv.default: ; preds = %if.merge.162 br label %fv.merge -fv.case: ; preds = %if.merge.157 +fv.case: ; preds = %if.merge.162 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.157 +fv.case17: ; preds = %if.merge.162 %fv.field18 = extractvalue { ptr, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -4546,91 +4777,7 @@ 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.409, i64 5 }, { ptr, i64 } { ptr @str.410, 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.158 - -while.hdr.158: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.159, label %while.exit.160 - -while.body.159: ; preds = %while.hdr.158 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.161, label %if.merge.162 - -while.exit.160: ; preds = %while.hdr.158 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, i64 1 }) - ret { ptr, i64 } %callN - -if.then.161: ; preds = %while.body.159 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.412, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.162 - -if.merge.162: ; preds = %if.then.161, %while.body.159 - %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.416, 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.417, 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.158 - -fv.default: ; preds = %if.merge.162 - br label %fv.merge - -fv.case: ; preds = %if.merge.162 - %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.162 - %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.162 - %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 21, 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.418, i64 8 }, { ptr, i64 } { ptr @str.419, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.429, i64 5 }, { ptr, i64 } { ptr @str.430, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4649,27 +4796,27 @@ while.body.164: ; preds = %while.hdr.163 while.exit.165: ; preds = %while.hdr.163 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.420, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.431, i64 1 }) ret { ptr, i64 } %callN if.then.166: ; preds = %while.body.164 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.421, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.432, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.167 if.merge.167: ; preds = %if.then.166, %while.body.164 %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.425, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.436, 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.426, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.437, 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 { 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 @@ -4691,17 +4838,101 @@ fv.default: ; preds = %if.merge.167 br label %fv.merge fv.case: ; preds = %if.merge.167 + %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.167 + %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.167 + %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 21, 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.438, i64 8 }, { ptr, i64 } { ptr @str.439, 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.168 + +while.hdr.168: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.169, label %while.exit.170 + +while.body.169: ; preds = %while.hdr.168 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.171, label %if.merge.172 + +while.exit.170: ; preds = %while.hdr.168 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 1 }) + ret { ptr, i64 } %callN + +if.then.171: ; preds = %while.body.169 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.441, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.172 + +if.merge.172: ; preds = %if.then.171, %while.body.169 + %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.445, 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.446, 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.168 + +fv.default: ; preds = %if.merge.172 + br label %fv.merge + +fv.case: ; preds = %if.merge.172 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.167 +fv.case17: ; preds = %if.merge.172 %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.167 +fv.case20: ; preds = %if.merge.172 %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 @@ -4713,43 +4944,43 @@ 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.427, i64 17 }, { ptr, i64 } { ptr @str.428, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.447, i64 17 }, { ptr, i64 } { ptr @str.448, 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.168 + br label %while.hdr.173 -while.hdr.168: ; preds = %fv.merge, %entry +while.hdr.173: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.169, label %while.exit.170 + br i1 %icmp, label %while.body.174, label %while.exit.175 -while.body.169: ; preds = %while.hdr.168 +while.body.174: ; preds = %while.hdr.173 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.171, label %if.merge.172 + br i1 %icmpN, label %if.then.176, label %if.merge.177 -while.exit.170: ; preds = %while.hdr.168 +while.exit.175: ; preds = %while.hdr.173 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.429, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.449, i64 1 }) ret { ptr, i64 } %callN -if.then.171: ; preds = %while.body.169 +if.then.176: ; preds = %while.body.174 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.430, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.450, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.172 + br label %if.merge.177 -if.merge.172: ; preds = %if.then.171, %while.body.169 +if.merge.177: ; preds = %if.then.176, %while.body.174 %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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.455, 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.436, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.456, 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 @@ -4769,29 +5000,29 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.168 + br label %while.hdr.173 -fv.default: ; preds = %if.merge.172 +fv.default: ; preds = %if.merge.177 br label %fv.merge -fv.case: ; preds = %if.merge.172 +fv.case: ; preds = %if.merge.177 %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 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.172 +fv.case17: ; preds = %if.merge.177 %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.172 +fv.case20: ; preds = %if.merge.177 %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.172 +fv.case23: ; preds = %if.merge.177 %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 @@ -4802,43 +5033,43 @@ 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.437, i64 4 }, { ptr, i64 } { ptr @str.438, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 4 }, { ptr, i64 } { ptr @str.458, 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.173 + br label %while.hdr.178 -while.hdr.173: ; preds = %fv.merge, %entry +while.hdr.178: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.174, label %while.exit.175 + br i1 %icmp, label %while.body.179, label %while.exit.180 -while.body.174: ; preds = %while.hdr.173 +while.body.179: ; preds = %while.hdr.178 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.176, label %if.merge.177 + br i1 %icmpN, label %if.then.181, label %if.merge.182 -while.exit.175: ; preds = %while.hdr.173 +while.exit.180: ; preds = %while.hdr.178 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.439, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.459, i64 1 }) ret { ptr, i64 } %callN -if.then.176: ; preds = %while.body.174 +if.then.181: ; preds = %while.body.179 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.440, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.460, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.177 + br label %if.merge.182 -if.merge.177: ; preds = %if.then.176, %while.body.174 +if.merge.182: ; preds = %if.then.181, %while.body.179 %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.442, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.462, 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.443, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.463, 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 @@ -4855,12 +5086,12 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.173 + br label %while.hdr.178 -fv.default: ; preds = %if.merge.177 +fv.default: ; preds = %if.merge.182 br label %fv.merge -fv.case: ; preds = %if.merge.177 +fv.case: ; preds = %if.merge.182 %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 @@ -4875,43 +5106,43 @@ entry: %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.444, i64 10 }, { ptr, i64 } { ptr @str.445, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.464, i64 10 }, { ptr, i64 } { ptr @str.465, 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.178 + br label %while.hdr.183 -while.hdr.178: ; preds = %fv.merge, %entry +while.hdr.183: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.179, label %while.exit.180 + br i1 %icmp, label %while.body.184, label %while.exit.185 -while.body.179: ; preds = %while.hdr.178 +while.body.184: ; preds = %while.hdr.183 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.181, label %if.merge.182 + br i1 %icmpN, label %if.then.186, label %if.merge.187 -while.exit.180: ; preds = %while.hdr.178 +while.exit.185: ; preds = %while.hdr.183 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.446, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 1 }) ret { ptr, i64 } %callN -if.then.181: ; preds = %while.body.179 +if.then.186: ; preds = %while.body.184 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.447, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.467, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.182 + br label %if.merge.187 -if.merge.182: ; preds = %if.then.181, %while.body.179 +if.merge.187: ; preds = %if.then.186, %while.body.184 %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.453, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.473, 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.454, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.474, 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 @@ -4932,38 +5163,38 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.178 + br label %while.hdr.183 -fv.default: ; preds = %if.merge.182 +fv.default: ; preds = %if.merge.187 br label %fv.merge -fv.case: ; preds = %if.merge.182 +fv.case: ; preds = %if.merge.187 %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.182 +fv.case17: ; preds = %if.merge.187 %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.182 +fv.case20: ; preds = %if.merge.187 %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.182 +fv.case24: ; preds = %if.merge.187 %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.182 +fv.case29: ; preds = %if.merge.187 %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 @@ -4977,43 +5208,43 @@ 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.455, i64 13 }, { ptr, i64 } { ptr @str.456, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.475, i64 13 }, { ptr, i64 } { ptr @str.476, 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.183 + br label %while.hdr.188 -while.hdr.183: ; preds = %fv.merge, %entry +while.hdr.188: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.184, label %while.exit.185 + br i1 %icmp, label %while.body.189, label %while.exit.190 -while.body.184: ; preds = %while.hdr.183 +while.body.189: ; preds = %while.hdr.188 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.186, label %if.merge.187 + br i1 %icmpN, label %if.then.191, label %if.merge.192 -while.exit.185: ; preds = %while.hdr.183 +while.exit.190: ; preds = %while.hdr.188 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.457, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 1 }) ret { ptr, i64 } %callN -if.then.186: ; preds = %while.body.184 +if.then.191: ; preds = %while.body.189 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.458, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.478, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.187 + br label %if.merge.192 -if.merge.187: ; preds = %if.then.186, %while.body.184 +if.merge.192: ; preds = %if.then.191, %while.body.189 %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.461, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.481, 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.462, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, 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 @@ -5031,18 +5262,18 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.183 + br label %while.hdr.188 -fv.default: ; preds = %if.merge.187 +fv.default: ; preds = %if.merge.192 br label %fv.merge -fv.case: ; preds = %if.merge.187 +fv.case: ; preds = %if.merge.192 %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.187 +fv.case17: ; preds = %if.merge.192 %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 @@ -5055,43 +5286,43 @@ define internal { ptr, i64 } @struct_to_string__SockAddr(ptr %0, { i8, i8, i16, 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.463, i64 8 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.483, i64 8 }, { ptr, i64 } { ptr @str.484, 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.188 + br label %while.hdr.193 -while.hdr.188: ; preds = %fv.merge, %entry +while.hdr.193: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 5 - br i1 %icmp, label %while.body.189, label %while.exit.190 + br i1 %icmp, label %while.body.194, label %while.exit.195 -while.body.189: ; preds = %while.hdr.188 +while.body.194: ; preds = %while.hdr.193 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.191, label %if.merge.192 + br i1 %icmpN, label %if.then.196, label %if.merge.197 -while.exit.190: ; preds = %while.hdr.188 +while.exit.195: ; preds = %while.hdr.193 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.465, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) ret { ptr, i64 } %callN -if.then.191: ; preds = %while.body.189 +if.then.196: ; preds = %while.body.194 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.466, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.192 + br label %if.merge.197 -if.merge.192: ; preds = %if.then.191, %while.body.189 +if.merge.197: ; preds = %if.then.196, %while.body.194 %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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.492, 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.473, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.493, 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 @@ -5112,36 +5343,36 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.188 + br label %while.hdr.193 -fv.default: ; preds = %if.merge.192 +fv.default: ; preds = %if.merge.197 br label %fv.merge -fv.case: ; preds = %if.merge.192 +fv.case: ; preds = %if.merge.197 %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.192 +fv.case17: ; preds = %if.merge.197 %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.192 +fv.case21: ; preds = %if.merge.197 %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.192 +fv.case25: ; preds = %if.merge.197 %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.192 +fv.case29: ; preds = %if.merge.197 %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 @@ -5152,89 +5383,7 @@ define internal { ptr, i64 } @struct_to_string__Array(ptr %0, { ptr, i64, i64 } 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.474, i64 5 }, { ptr, i64 } { ptr @str.475, 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.193 - -while.hdr.193: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.194, label %while.exit.195 - -while.body.194: ; preds = %while.hdr.193 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.196, label %if.merge.197 - -while.exit.195: ; preds = %while.hdr.193 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.476, i64 1 }) - ret { ptr, i64 } %callN - -if.then.196: ; preds = %while.body.194 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.477, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.197 - -if.merge.197: ; preds = %if.then.196, %while.body.194 - %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.481, 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.482, 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.193 - -fv.default: ; preds = %if.merge.197 - br label %fv.merge - -fv.case: ; preds = %if.merge.197 - %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 - %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.197 - %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.197 - %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.483, i64 6 }, { ptr, i64 } { ptr @str.484, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.494, i64 5 }, { ptr, i64 } { ptr @str.495, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5253,24 +5402,24 @@ while.body.199: ; preds = %while.hdr.198 while.exit.200: ; preds = %while.hdr.198 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.485, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.496, i64 1 }) ret { ptr, i64 } %callN if.then.201: ; preds = %while.body.199 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.202 if.merge.202: ; preds = %if.then.201, %while.body.199 %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.490, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.501, 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.491, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, 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 @@ -5297,7 +5446,7 @@ fv.default: ; preds = %if.merge.202 fv.case: ; preds = %if.merge.202 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 60, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.202 @@ -5312,13 +5461,11 @@ fv.case20: ; preds = %if.merge.202 } ; Function Attrs: nounwind -define internal { ptr, i64 } @struct_to_string__Member(ptr %0, { { ptr, i64 }, { i64, [24 x i8] } } %1) #0 { +define internal { ptr, i64 } @struct_to_string__Object(ptr %0, { ptr, i64, i64 } %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.492, i64 6 }, { ptr, i64 } { ptr @str.493, i64 1 }) + %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.503, i64 6 }, { ptr, i64 } { ptr @str.504, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5327,7 +5474,7 @@ entry: while.hdr.203: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 + %icmp = icmp slt i64 %load, 3 br i1 %icmp, label %while.body.204, label %while.exit.205 while.body.204: ; preds = %while.hdr.203 @@ -5337,24 +5484,108 @@ while.body.204: ; preds = %while.hdr.203 while.exit.205: ; preds = %while.hdr.203 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.494, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.505, i64 1 }) ret { ptr, i64 } %callN if.then.206: ; preds = %while.body.204 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.495, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.506, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.207 if.merge.207: ; preds = %if.then.206, %while.body.204 %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.498, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.510, 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.499, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, 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.203 + +fv.default: ; preds = %if.merge.207 + br label %fv.merge + +fv.case: ; preds = %if.merge.207 + %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 + %pNi = ptrtoint ptr %fv.field to i64 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.207 + %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.207 + %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.512, i64 6 }, { ptr, i64 } { ptr @str.513, 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.208 + +while.hdr.208: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.209, label %while.exit.210 + +while.body.209: ; preds = %while.hdr.208 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.211, label %if.merge.212 + +while.exit.210: ; preds = %while.hdr.208 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.514, i64 1 }) + ret { ptr, i64 } %callN + +if.then.211: ; preds = %while.body.209 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.515, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.212 + +if.merge.212: ; preds = %if.then.211, %while.body.209 + %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.518, 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.519, 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 @@ -5372,19 +5603,19 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.203 + br label %while.hdr.208 -fv.default: ; preds = %if.merge.207 +fv.default: ; preds = %if.merge.212 br label %fv.merge -fv.case: ; preds = %if.merge.207 +fv.case: ; preds = %if.merge.212 %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.207 +fv.case17: ; preds = %if.merge.212 %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 @@ -5398,93 +5629,7 @@ 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.500, i64 4 }, { ptr, i64 } { ptr @str.501, 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.208 - -while.hdr.208: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.209, label %while.exit.210 - -while.body.209: ; preds = %while.hdr.208 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.211, label %if.merge.212 - -while.exit.210: ; preds = %while.hdr.208 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.502, i64 1 }) - ret { ptr, i64 } %callN - -if.then.211: ; preds = %while.body.209 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.503, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.212 - -if.merge.212: ; preds = %if.then.211, %while.body.209 - %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.507, 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.508, 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.208 - -fv.default: ; preds = %if.merge.212 - br label %fv.merge - -fv.case: ; preds = %if.merge.212 - %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 64, i64 undef }, i64 %ba.p2i, 1 - br label %fv.merge - -fv.case17: ; preds = %if.merge.212 - %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.212 - %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 - %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.509, i64 6 }, { ptr, i64 } { ptr @str.510, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, i64 4 }, { ptr, i64 } { ptr @str.521, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5503,24 +5648,110 @@ while.body.214: ; preds = %while.hdr.213 while.exit.215: ; preds = %while.hdr.213 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.511, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.522, i64 1 }) ret { ptr, i64 } %callN if.then.216: ; preds = %while.body.214 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.217 if.merge.217: ; preds = %if.then.216, %while.body.214 %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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.527, 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.517, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.528, 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.213 + +fv.default: ; preds = %if.merge.217 + br label %fv.merge + +fv.case: ; preds = %if.merge.217 + %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 64, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.217 + %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.217 + %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 41, 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.529, i64 6 }, { ptr, i64 } { ptr @str.530, 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.218 + +while.hdr.218: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.219, label %while.exit.220 + +while.body.219: ; preds = %while.hdr.218 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.221, label %if.merge.222 + +while.exit.220: ; preds = %while.hdr.218 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.531, i64 1 }) + ret { ptr, i64 } %callN + +if.then.221: ; preds = %while.body.219 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.532, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.222 + +if.merge.222: ; preds = %if.then.221, %while.body.219 + %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.536, 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.537, 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 @@ -5539,24 +5770,24 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.213 + br label %while.hdr.218 -fv.default: ; preds = %if.merge.217 +fv.default: ; preds = %if.merge.222 br label %fv.merge -fv.case: ; preds = %if.merge.217 +fv.case: ; preds = %if.merge.222 %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.217 +fv.case17: ; preds = %if.merge.222 %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.217 +fv.case20: ; preds = %if.merge.222 %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 @@ -5569,43 +5800,43 @@ 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.518, i64 12 }, { ptr, i64 } { ptr @str.519, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.538, i64 12 }, { ptr, i64 } { ptr @str.539, 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.218 + br label %while.hdr.223 -while.hdr.218: ; preds = %if.merge.222, %entry +while.hdr.223: ; preds = %if.merge.227, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.219, label %while.exit.220 + br i1 %icmp, label %while.body.224, label %while.exit.225 -while.body.219: ; preds = %while.hdr.218 +while.body.224: ; preds = %while.hdr.223 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.221, label %if.merge.222 + br i1 %icmpN, label %if.then.226, label %if.merge.227 -while.exit.220: ; preds = %while.hdr.218 +while.exit.225: ; preds = %while.hdr.223 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.520, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, i64 1 }) ret { ptr, i64 } %callN -if.then.221: ; preds = %while.body.219 +if.then.226: ; preds = %while.body.224 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.222 + br label %if.merge.227 -if.merge.222: ; preds = %if.then.221, %while.body.219 +if.merge.227: ; preds = %if.then.226, %while.body.224 %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.522, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.542, 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.523, i64 2 }) + %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 {}, ptr %alloca, align 1 @@ -5616,7 +5847,7 @@ if.merge.222: ; preds = %if.then.221, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.218 + br label %while.hdr.223 } ; Function Attrs: nounwind @@ -5625,95 +5856,7 @@ 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.524, i64 8 }, { ptr, i64 } { ptr @str.525, 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.223 - -while.hdr.223: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.224, label %while.exit.225 - -while.body.224: ; preds = %while.hdr.223 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.226, label %if.merge.227 - -while.exit.225: ; preds = %while.hdr.223 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.526, i64 1 }) - ret { ptr, i64 } %callN - -if.then.226: ; preds = %while.body.224 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.527, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.227 - -if.merge.227: ; preds = %if.then.226, %while.body.224 - %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.531, 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.532, 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.223 - -fv.default: ; preds = %if.merge.227 - br label %fv.merge - -fv.case: ; preds = %if.merge.227 - %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.227 - %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.227 - %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.533, i64 7 }, { ptr, i64 } { ptr @str.534, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.544, i64 8 }, { ptr, i64 } { ptr @str.545, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5732,24 +5875,112 @@ while.body.229: ; preds = %while.hdr.228 while.exit.230: ; preds = %while.hdr.228 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.535, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) ret { ptr, i64 } %callN if.then.231: ; preds = %while.body.229 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.536, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.232 if.merge.232: ; preds = %if.then.231, %while.body.229 %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.540, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.551, 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.541, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, 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.228 + +fv.default: ; preds = %if.merge.232 + br label %fv.merge + +fv.case: ; preds = %if.merge.232 + %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.232 + %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.232 + %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.553, i64 7 }, { ptr, i64 } { ptr @str.554, 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.233 + +while.hdr.233: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 3 + br i1 %icmp, label %while.body.234, label %while.exit.235 + +while.body.234: ; preds = %while.hdr.233 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.236, label %if.merge.237 + +while.exit.235: ; preds = %while.hdr.233 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + ret { ptr, i64 } %callN + +if.then.236: ; preds = %while.body.234 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.237 + +if.merge.237: ; preds = %if.then.236, %while.body.234 + %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.560, 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.561, 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 @@ -5768,26 +5999,26 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.228 + br label %while.hdr.233 -fv.default: ; preds = %if.merge.232 +fv.default: ; preds = %if.merge.237 br label %fv.merge -fv.case: ; preds = %if.merge.232 +fv.case: ; preds = %if.merge.237 %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.232 +fv.case17: ; preds = %if.merge.237 %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.232 +fv.case22: ; preds = %if.merge.237 %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 @@ -5801,86 +6032,7 @@ 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.542, i64 9 }, { ptr, i64 } { ptr @str.543, 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.233 - -while.hdr.233: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.234, label %while.exit.235 - -while.body.234: ; preds = %while.hdr.233 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.236, label %if.merge.237 - -while.exit.235: ; preds = %while.hdr.233 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 1 }) - ret { ptr, i64 } %callN - -if.then.236: ; preds = %while.body.234 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.237 - -if.merge.237: ; preds = %if.then.236, %while.body.234 - %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.548, 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.549, 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.233 - -fv.default: ; preds = %if.merge.237 - br label %fv.merge - -fv.case: ; preds = %if.merge.237 - %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.237 - %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.550, i64 4 }, { ptr, i64 } { ptr @str.551, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, i64 9 }, { ptr, i64 } { ptr @str.563, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5899,27 +6051,27 @@ while.body.239: ; preds = %while.hdr.238 while.exit.240: ; preds = %while.hdr.238 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %callN if.then.241: ; preds = %while.body.239 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.242 if.merge.242: ; preds = %if.then.241, %while.body.239 %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.556, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.568, 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.557, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, 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 { 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 @@ -5940,11 +6092,90 @@ fv.default: ; preds = %if.merge.242 br label %fv.merge fv.case: ; preds = %if.merge.242 + %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.242 + %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.570, i64 4 }, { ptr, i64 } { ptr @str.571, 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.243 + +while.hdr.243: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.244, label %while.exit.245 + +while.body.244: ; preds = %while.hdr.243 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.246, label %if.merge.247 + +while.exit.245: ; preds = %while.hdr.243 + %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 }) + ret { ptr, i64 } %callN + +if.then.246: ; preds = %while.body.244 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.247 + +if.merge.247: ; preds = %if.then.246, %while.body.244 + %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.576, 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.577, 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.243 + +fv.default: ; preds = %if.merge.247 + br label %fv.merge + +fv.case: ; preds = %if.merge.247 %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.242 +fv.case17: ; preds = %if.merge.247 %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 @@ -5962,43 +6193,43 @@ entry: %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.558, i64 6 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, i64 6 }, { ptr, i64 } { ptr @str.579, 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.243 + br label %while.hdr.248 -while.hdr.243: ; preds = %fv.merge, %entry +while.hdr.248: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.244, label %while.exit.245 + br i1 %icmp, label %while.body.249, label %while.exit.250 -while.body.244: ; preds = %while.hdr.243 +while.body.249: ; preds = %while.hdr.248 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.246, label %if.merge.247 + br i1 %icmpN, label %if.then.251, label %if.merge.252 -while.exit.245: ; preds = %while.hdr.243 +while.exit.250: ; preds = %while.hdr.248 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %callN -if.then.246: ; preds = %while.body.244 +if.then.251: ; preds = %while.body.249 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.247 + br label %if.merge.252 -if.merge.247: ; preds = %if.then.246, %while.body.244 +if.merge.252: ; preds = %if.then.251, %while.body.249 %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.569, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.589, 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.570, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, 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 @@ -6021,51 +6252,51 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.243 + br label %while.hdr.248 -fv.default: ; preds = %if.merge.247 +fv.default: ; preds = %if.merge.252 br label %fv.merge -fv.case: ; preds = %if.merge.247 +fv.case: ; preds = %if.merge.252 %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.247 +fv.case17: ; preds = %if.merge.252 %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.247 +fv.case22: ; preds = %if.merge.252 %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.247 +fv.case25: ; preds = %if.merge.252 %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.247 +fv.case28: ; preds = %if.merge.252 %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 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge -fv.case33: ; preds = %if.merge.247 +fv.case33: ; preds = %if.merge.252 %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 81, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge -fv.case38: ; preds = %if.merge.247 +fv.case38: ; preds = %if.merge.252 %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 @@ -6080,43 +6311,43 @@ entry: %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.571, i64 6 }, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 6 }, { ptr, i64 } { ptr @str.592, 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.248 + br label %while.hdr.253 -while.hdr.248: ; preds = %fv.merge, %entry +while.hdr.253: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.249, label %while.exit.250 + br i1 %icmp, label %while.body.254, label %while.exit.255 -while.body.249: ; preds = %while.hdr.248 +while.body.254: ; preds = %while.hdr.253 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.251, label %if.merge.252 + br i1 %icmpN, label %if.then.256, label %if.merge.257 -while.exit.250: ; preds = %while.hdr.248 +while.exit.255: ; preds = %while.hdr.253 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.593, i64 1 }) ret { ptr, i64 } %callN -if.then.251: ; preds = %while.body.249 +if.then.256: ; preds = %while.body.254 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.594, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.252 + br label %if.merge.257 -if.merge.252: ; preds = %if.then.251, %while.body.249 +if.merge.257: ; preds = %if.then.256, %while.body.254 %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.579, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.599, 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.580, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.600, 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 @@ -6136,31 +6367,31 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.248 + br label %while.hdr.253 -fv.default: ; preds = %if.merge.252 +fv.default: ; preds = %if.merge.257 br label %fv.merge -fv.case: ; preds = %if.merge.252 +fv.case: ; preds = %if.merge.257 %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 91, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge -fv.case17: ; preds = %if.merge.252 +fv.case17: ; preds = %if.merge.257 %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 92, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge -fv.case22: ; preds = %if.merge.252 +fv.case22: ; preds = %if.merge.257 %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.252 +fv.case25: ; preds = %if.merge.257 %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 @@ -6171,82 +6402,7 @@ define internal { ptr, i64 } @struct_to_string__Timespec(ptr %0, { i64, i64 } %1 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.581, i64 8 }, { ptr, i64 } { ptr @str.582, 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.253 - -while.hdr.253: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.254, label %while.exit.255 - -while.body.254: ; preds = %while.hdr.253 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.256, label %if.merge.257 - -while.exit.255: ; preds = %while.hdr.253 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 1 }) - ret { ptr, i64 } %callN - -if.then.256: ; preds = %while.body.254 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.257 - -if.merge.257: ; preds = %if.then.256, %while.body.254 - %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.587, 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.588, 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.253 - -fv.default: ; preds = %if.merge.257 - br label %fv.merge - -fv.case: ; preds = %if.merge.257 - %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.257 - %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__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.589, i64 6 }, { ptr, i64 } { ptr @str.590, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 8 }, { ptr, i64 } { ptr @str.602, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6255,7 +6411,7 @@ entry: while.hdr.258: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 6 + %icmp = icmp slt i64 %load, 2 br i1 %icmp, label %while.body.259, label %while.exit.260 while.body.259: ; preds = %while.hdr.258 @@ -6265,118 +6421,16 @@ while.body.259: ; preds = %while.hdr.258 while.exit.260: ; preds = %while.hdr.258 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 1 }) ret { ptr, i64 } %callN if.then.261: ; preds = %while.body.259 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.262 if.merge.262: ; preds = %if.then.261, %while.body.259 - %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.599, 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.600, 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.258 - -fv.default: ; preds = %if.merge.262 - br label %fv.merge - -fv.case: ; preds = %if.merge.262 - %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.262 - %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.262 - %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.262 - %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.262 - %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.262 - %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.601, i64 10 }, { ptr, i64 } { ptr @str.602, 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.263 - -while.hdr.263: ; preds = %fv.merge, %entry - %load = load i64, ptr %allocaN, align 8 - %icmp = icmp slt i64 %load, 2 - br i1 %icmp, label %while.body.264, label %while.exit.265 - -while.body.264: ; preds = %while.hdr.263 - %loadN = load i64, ptr %allocaN, align 8 - %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.266, label %if.merge.267 - -while.exit.265: ; preds = %while.hdr.263 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.603, i64 1 }) - ret { ptr, i64 } %callN - -if.then.266: ; preds = %while.body.264 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, i64 2 }) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.267 - -if.merge.267: ; preds = %if.then.266, %while.body.264 %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.607, i64 0, i64 %loadN @@ -6402,17 +6456,194 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 + br label %while.hdr.258 + +fv.default: ; preds = %if.merge.262 + br label %fv.merge + +fv.case: ; preds = %if.merge.262 + %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.262 + %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__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.609, i64 6 }, { ptr, i64 } { ptr @str.610, 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.263 + +while.hdr.263: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.264, label %while.exit.265 + +while.body.264: ; preds = %while.hdr.263 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.266, label %if.merge.267 + +while.exit.265: ; preds = %while.hdr.263 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) + ret { ptr, i64 } %callN + +if.then.266: ; preds = %while.body.264 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.267 + +if.merge.267: ; preds = %if.then.266, %while.body.264 + %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.619, 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.620, 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.263 fv.default: ; preds = %if.merge.267 br label %fv.merge fv.case: ; preds = %if.merge.267 + %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.267 + %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.267 + %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.267 + %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.267 + %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.267 + %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.621, i64 10 }, { ptr, i64 } { ptr @str.622, 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.268 + +while.hdr.268: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 2 + br i1 %icmp, label %while.body.269, label %while.exit.270 + +while.body.269: ; preds = %while.hdr.268 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.271, label %if.merge.272 + +while.exit.270: ; preds = %while.hdr.268 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) + ret { ptr, i64 } %callN + +if.then.271: ; preds = %while.body.269 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.272 + +if.merge.272: ; preds = %if.then.271, %while.body.269 + %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.627, 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.628, 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.268 + +fv.default: ; preds = %if.merge.272 + br label %fv.merge + +fv.case: ; preds = %if.merge.272 %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.267 +fv.case17: ; preds = %if.merge.272 %fv.field18 = extractvalue { i64, i64 } %loadN, 1 %fv.val19 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field18, 1 br label %fv.merge @@ -6423,43 +6654,43 @@ define internal { ptr, i64 } @struct_to_string__Event(ptr %0, { i32, i64, i1, i1 entry: %alloca = alloca { i32, i64, i1, i1, i1, i1, i64 }, align 8 store { i32, i64, i1, i1, i1, i1, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 5 }, { ptr, i64 } { ptr @str.610, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 5 }, { ptr, i64 } { ptr @str.630, 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.268 + br label %while.hdr.273 -while.hdr.268: ; preds = %fv.merge, %entry +while.hdr.273: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 7 - br i1 %icmp, label %while.body.269, label %while.exit.270 + br i1 %icmp, label %while.body.274, label %while.exit.275 -while.body.269: ; preds = %while.hdr.268 +while.body.274: ; preds = %while.hdr.273 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.271, label %if.merge.272 + br i1 %icmpN, label %if.then.276, label %if.merge.277 -while.exit.270: ; preds = %while.hdr.268 +while.exit.275: ; preds = %while.hdr.273 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) ret { ptr, i64 } %callN -if.then.271: ; preds = %while.body.269 +if.then.276: ; preds = %while.body.274 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.272 + br label %if.merge.277 -if.merge.272: ; preds = %if.then.271, %while.body.269 +if.merge.277: ; preds = %if.then.276, %while.body.274 %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.620, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.640, 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.621, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, 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, i64 }, ptr %alloca, align 8 @@ -6482,47 +6713,47 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.268 + br label %while.hdr.273 -fv.default: ; preds = %if.merge.272 +fv.default: ; preds = %if.merge.277 br label %fv.merge -fv.case: ; preds = %if.merge.272 +fv.case: ; preds = %if.merge.277 %fv.field = extractvalue { i32, i64, 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.272 +fv.case17: ; preds = %if.merge.277 %fv.field18 = extractvalue { i32, i64, 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.272 +fv.case20: ; preds = %if.merge.277 %fv.field21 = extractvalue { i32, i64, 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.272 +fv.case23: ; preds = %if.merge.277 %fv.field24 = extractvalue { i32, i64, 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.272 +fv.case27: ; preds = %if.merge.277 %fv.field28 = extractvalue { i32, i64, 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.272 +fv.case31: ; preds = %if.merge.277 %fv.field32 = extractvalue { i32, i64, 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.272 +fv.case35: ; preds = %if.merge.277 %fv.field36 = extractvalue { i32, i64, i1, i1, i1, i1, i64 } %loadN, 6 %fv.val37 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field36, 1 br label %fv.merge @@ -6533,43 +6764,43 @@ 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.622, i64 4 }, { ptr, i64 } { ptr @str.623, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 4 }, { ptr, i64 } { ptr @str.643, 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.273 + br label %while.hdr.278 -while.hdr.273: ; preds = %fv.merge, %entry +while.hdr.278: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.274, label %while.exit.275 + br i1 %icmp, label %while.body.279, label %while.exit.280 -while.body.274: ; preds = %while.hdr.273 +while.body.279: ; preds = %while.hdr.278 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.276, label %if.merge.277 + br i1 %icmpN, label %if.then.281, label %if.merge.282 -while.exit.275: ; preds = %while.hdr.273 +while.exit.280: ; preds = %while.hdr.278 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) ret { ptr, i64 } %callN -if.then.276: ; preds = %while.body.274 +if.then.281: ; preds = %while.body.279 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.277 + br label %if.merge.282 -if.merge.277: ; preds = %if.then.276, %while.body.274 +if.merge.282: ; preds = %if.then.281, %while.body.279 %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.627, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.647, 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.628, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, 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 @@ -6586,60 +6817,623 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.273 + br label %while.hdr.278 -fv.default: ; preds = %if.merge.277 +fv.default: ; preds = %if.merge.282 br label %fv.merge -fv.case: ; preds = %if.merge.277 +fv.case: ; preds = %if.merge.282 %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 } %1) #0 { +entry: + %alloca = alloca { i64, i32, i64, i64, i64, i64, i64 }, align 8 + store { i64, i32, i64, i64, i64, i64, i64 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 6 }, { ptr, i64 } { ptr @str.650, 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.283 + +while.hdr.283: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 7 + br i1 %icmp, label %while.body.284, label %while.exit.285 + +while.body.284: ; preds = %while.hdr.283 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.286, label %if.merge.287 + +while.exit.285: ; preds = %while.hdr.283 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.651, i64 1 }) + ret { ptr, i64 } %callN + +if.then.286: ; preds = %while.body.284 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.652, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.287 + +if.merge.287: ; preds = %if.then.286, %while.body.284 + %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.660, 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.661, 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 }, 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 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.283 + +fv.default: ; preds = %if.merge.287 + br label %fv.merge + +fv.case: ; preds = %if.merge.287 + %fv.field = extractvalue { i64, i32, 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.287 + %fv.field18 = extractvalue { i64, i32, 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.287 + %fv.field21 = extractvalue { i64, i32, 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.287 + %fv.field24 = extractvalue { i64, i32, 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.287 + %fv.field27 = extractvalue { i64, i32, 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.287 + %fv.field30 = extractvalue { i64, i32, 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.287 + %fv.field33 = extractvalue { i64, i32, i64, i64, i64, i64, i64 } %loadN, 6 + %fv.val34 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field33, 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.662, i64 7 }, { ptr, i64 } { ptr @str.663, 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.288 + +while.hdr.288: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.289, label %while.exit.290 + +while.body.289: ; preds = %while.hdr.288 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.291, label %if.merge.292 + +while.exit.290: ; preds = %while.hdr.288 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.664, i64 1 }) + ret { ptr, i64 } %callN + +if.then.291: ; preds = %while.body.289 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.665, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.292 + +if.merge.292: ; preds = %if.then.291, %while.body.289 + %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.672, 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.673, 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.288 + +fv.default: ; preds = %if.merge.292 + br label %fv.merge + +fv.case: ; preds = %if.merge.292 + %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.292 + %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.292 + %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.292 + %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.292 + %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.292 + %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.674, i64 8 }, { ptr, i64 } { ptr @str.675, 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.293 + +while.hdr.293: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 4 + br i1 %icmp, label %while.body.294, label %while.exit.295 + +while.body.294: ; preds = %while.hdr.293 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.296, label %if.merge.297 + +while.exit.295: ; preds = %while.hdr.293 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.676, i64 1 }) + ret { ptr, i64 } %callN + +if.then.296: ; preds = %while.body.294 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.297 + +if.merge.297: ; preds = %if.then.296, %while.body.294 + %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.682, 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.683, 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.293 + +fv.default: ; preds = %if.merge.297 + br label %fv.merge + +fv.case: ; preds = %if.merge.297 + %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.297 + %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.297 + %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.297 + %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, ptr, i64, i64, i64, i64, i1, i1 } %1) #0 { +entry: + %alloca = alloca { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 }, align 8 + store { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 4 }, { ptr, i64 } { ptr @str.685, 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.298 + +while.hdr.298: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 11 + br i1 %icmp, label %while.body.299, label %while.exit.300 + +while.body.299: ; preds = %while.hdr.298 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.301, label %if.merge.302 + +while.exit.300: ; preds = %while.hdr.298 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) + ret { ptr, i64 } %callN + +if.then.301: ; preds = %while.body.299 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.687, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.302 + +if.merge.302: ; preds = %if.then.301, %while.body.299 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %fn.gep = getelementptr inbounds [11 x { ptr, i64 }], ptr @field_names.699, 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.700, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { i32, i8, ptr, i64, ptr, i64, i64, i64, 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 + i64 3, label %fv.case23 + i64 4, label %fv.case26 + i64 5, label %fv.case30 + i64 6, label %fv.case33 + i64 7, label %fv.case36 + i64 8, label %fv.case39 + i64 9, label %fv.case42 + i64 10, label %fv.case46 + ] + +fv.merge: ; preds = %fv.default, %fv.case46, %fv.case42, %fv.case39, %fv.case36, %fv.case33, %fv.case30, %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.val29, %fv.case26 ], [ %fv.val32, %fv.case30 ], [ %fv.val35, %fv.case33 ], [ %fv.val38, %fv.case36 ], [ %fv.val41, %fv.case39 ], [ %fv.val45, %fv.case42 ], [ %fv.val49, %fv.case46 ], [ 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.298 + +fv.default: ; preds = %if.merge.302 + br label %fv.merge + +fv.case: ; preds = %if.merge.302 + %fv.field = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.302 + %fv.field18 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %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.302 + %fv.field21 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 2 + %pNi = ptrtoint ptr %fv.field21 to i64 + %fv.val22 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case23: ; preds = %if.merge.302 + %fv.field24 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 3 + %fv.val25 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field24, 1 + br label %fv.merge + +fv.case26: ; preds = %if.merge.302 + %fv.field27 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 4 + %pNi28 = ptrtoint ptr %fv.field27 to i64 + %fv.val29 = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi28, 1 + br label %fv.merge + +fv.case30: ; preds = %if.merge.302 + %fv.field31 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 5 + %fv.val32 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.302 + %fv.field34 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 6 + %fv.val35 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field34, 1 + br label %fv.merge + +fv.case36: ; preds = %if.merge.302 + %fv.field37 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 7 + %fv.val38 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field37, 1 + br label %fv.merge + +fv.case39: ; preds = %if.merge.302 + %fv.field40 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 8 + %fv.val41 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field40, 1 + br label %fv.merge + +fv.case42: ; preds = %if.merge.302 + %fv.field43 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 9 + %zN = zext i1 %fv.field43 to i64 + %fv.val45 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 1 + br label %fv.merge + +fv.case46: ; preds = %if.merge.302 + %fv.field47 = extractvalue { i32, i8, ptr, i64, ptr, i64, i64, i64, i64, i1, i1 } %loadN, 10 + %zN = zext i1 %fv.field47 to i64 + %fv.val49 = insertvalue { i64, i64 } { i64 1, i64 undef }, i64 %zN, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1) #0 { +entry: + %alloca = alloca { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, align 8 + %ba.tmp = alloca { i64, i32, 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 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %1, ptr %alloca, align 8 + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 6 }, { ptr, i64 } { ptr @str.702, 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.303 + +while.hdr.303: ; preds = %fv.merge, %entry + %load = load i64, ptr %allocaN, align 8 + %icmp = icmp slt i64 %load, 6 + br i1 %icmp, label %while.body.304, label %while.exit.305 + +while.body.304: ; preds = %while.hdr.303 + %loadN = load i64, ptr %allocaN, align 8 + %icmpN = icmp sgt i64 %loadN, 0 + br i1 %icmpN, label %if.then.306, label %if.merge.307 + +while.exit.305: ; preds = %while.hdr.303 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, i64 1 }) + ret { ptr, i64 } %callN + +if.then.306: ; preds = %while.body.304 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, i64 2 }) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %if.merge.307 + +if.merge.307: ; preds = %if.then.306, %while.body.304 + %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.711, 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.712, 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 }, { i32 }, i32, 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.case22 + i64 3, label %fv.case25 + i64 4, label %fv.case28 + i64 5, label %fv.case33 + ] + +fv.merge: ; preds = %fv.default, %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 ], [ 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.303 + +fv.default: ; preds = %if.merge.307 + br label %fv.merge + +fv.case: ; preds = %if.merge.307 + %fv.field = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 0 + store { i64, i32, 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 111, i64 undef }, i64 %ba.p2i, 1 + br label %fv.merge + +fv.case17: ; preds = %if.merge.307 + %fv.field18 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 105, i64 undef }, i64 %ba.p2i20, 1 + br label %fv.merge + +fv.case22: ; preds = %if.merge.307 + %fv.field23 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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.307 + %fv.field26 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 3 + %pNi = ptrtoint ptr %fv.field26 to i64 + %fv.val27 = insertvalue { i64, i64 } { i64 116, i64 undef }, i64 %pNi, 1 + br label %fv.merge + +fv.case28: ; preds = %if.merge.307 + %fv.field29 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, 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 21, i64 undef }, i64 %ba.p2i31, 1 + br label %fv.merge + +fv.case33: ; preds = %if.merge.307 + %fv.field34 = extractvalue { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr } %loadN, 5 + %pNi35 = ptrtoint ptr %fv.field34 to i64 + %fv.val36 = insertvalue { i64, i64 } { i64 118, i64 undef }, i64 %pNi35, 1 + br label %fv.merge +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__NSString(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.629, i64 8 }, { ptr, i64 } { ptr @str.630, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 8 }, { ptr, i64 } { ptr @str.714, 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.278 + br label %while.hdr.308 -while.hdr.278: ; preds = %if.merge.282, %entry +while.hdr.308: ; preds = %if.merge.312, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 0 - br i1 %icmp, label %while.body.279, label %while.exit.280 + br i1 %icmp, label %while.body.309, label %while.exit.310 -while.body.279: ; preds = %while.hdr.278 +while.body.309: ; preds = %while.hdr.308 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.281, label %if.merge.282 + br i1 %icmpN, label %if.then.311, label %if.merge.312 -while.exit.280: ; preds = %while.hdr.278 +while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.715, i64 1 }) ret { ptr, i64 } %callN -if.then.281: ; preds = %while.body.279 +if.then.311: ; preds = %while.body.309 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.282 + br label %if.merge.312 -if.merge.282: ; preds = %if.then.281, %while.body.279 +if.merge.312: ; preds = %if.then.311, %while.body.309 %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.633, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.717, 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.634, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6650,7 +7444,7 @@ if.merge.282: ; preds = %if.then.281, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.278 + br label %while.hdr.308 } ; Function Attrs: nounwind @@ -6658,43 +7452,43 @@ define internal { ptr, i64 } @struct_to_string__Triple(ptr %0, { i64, i64, i64 } entry: %alloca = alloca { i64, i64, i64 }, align 8 store { i64, i64, i64 } %1, ptr %alloca, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 6 }, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 6 }, { ptr, i64 } { ptr @str.720, 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.283 + br label %while.hdr.313 -while.hdr.283: ; preds = %fv.merge, %entry +while.hdr.313: ; preds = %fv.merge, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.284, label %while.exit.285 + br i1 %icmp, label %while.body.314, label %while.exit.315 -while.body.284: ; preds = %while.hdr.283 +while.body.314: ; preds = %while.hdr.313 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.286, label %if.merge.287 + br i1 %icmpN, label %if.then.316, label %if.merge.317 -while.exit.285: ; preds = %while.hdr.283 +while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 1 }) ret { ptr, i64 } %callN -if.then.286: ; preds = %while.body.284 +if.then.316: ; preds = %while.body.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.722, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.287 + br label %if.merge.317 -if.merge.287: ; preds = %if.then.286, %while.body.284 +if.merge.317: ; preds = %if.then.316, %while.body.314 %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.642, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.726, 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.643, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, i64, i64 }, ptr %alloca, align 8 @@ -6713,22 +7507,22 @@ fv.merge: ; preds = %fv.default, %fv.cas %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.283 + br label %while.hdr.313 -fv.default: ; preds = %if.merge.287 +fv.default: ; preds = %if.merge.317 br label %fv.merge -fv.case: ; preds = %if.merge.287 +fv.case: ; preds = %if.merge.317 %fv.field = extractvalue { 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.287 +fv.case17: ; preds = %if.merge.317 %fv.field18 = extractvalue { 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.287 +fv.case20: ; preds = %if.merge.317 %fv.field21 = extractvalue { i64, i64, i64 } %loadN, 2 %fv.val22 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %fv.field21, 1 br label %fv.merge @@ -6743,9 +7537,9 @@ entry: %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.649, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.733, 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.644, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, 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 @@ -6759,18 +7553,18 @@ entry: %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.295, label %if.merge.296 + br i1 %icmp, label %if.then.325, label %if.merge.326 -if.then.295: ; preds = %entry +if.then.325: ; 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.651, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.735, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, 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.296 + br label %if.merge.326 -if.merge.296: ; preds = %if.then.295, %entry +if.merge.326: ; preds = %if.then.325, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6784,9 +7578,9 @@ entry: %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.656, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.740, 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.652, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, 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 @@ -6800,18 +7594,18 @@ entry: %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.297, label %if.merge.298 + br i1 %icmp, label %if.then.327, label %if.merge.328 -if.then.297: ; preds = %entry +if.then.327: ; 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.658, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.742, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, 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.298 + br label %if.merge.328 -if.merge.298: ; preds = %if.then.297, %entry +if.merge.328: ; preds = %if.then.327, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6836,9 +7630,9 @@ entry: %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.666, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.750, 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.659, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, 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 @@ -6852,16 +7646,16 @@ entry: i64 5, label %fv.case24 ] -if.then.299: ; preds = %fv.merge +if.then.329: ; 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.668, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.752, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, 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.300 + br label %if.merge.330 -if.merge.300: ; preds = %if.then.299, %fv.merge +if.merge.330: ; preds = %if.then.329, %fv.merge %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN @@ -6874,7 +7668,7 @@ fv.merge: ; preds = %fv.default, %fv.cas %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.299, label %if.merge.300 + br i1 %icmp, label %if.then.329, label %if.merge.330 fv.default: ; preds = %entry br label %fv.merge @@ -6934,9 +7728,9 @@ entry: %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.677, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.761, 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.669, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, 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 @@ -6950,18 +7744,18 @@ entry: %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.301, label %if.merge.302 + br i1 %icmp, label %if.then.331, label %if.merge.332 -if.then.301: ; preds = %entry +if.then.331: ; 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.679, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.763, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, 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.302 + br label %if.merge.332 -if.merge.302: ; preds = %if.then.301, %entry +if.merge.332: ; preds = %if.then.331, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -6975,9 +7769,9 @@ entry: %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.686, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.770, 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.680, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, 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 @@ -6991,18 +7785,18 @@ entry: %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.303, label %if.merge.304 + br i1 %icmp, label %if.then.333, label %if.merge.334 -if.then.303: ; preds = %entry +if.then.333: ; 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.688, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.687, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.772, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, 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.304 + br label %if.merge.334 -if.merge.304: ; preds = %if.then.303, %entry +if.merge.334: ; preds = %if.then.333, %entry %loadN = load { ptr, i64 }, ptr %allocaN, align 8 ret { ptr, i64 } %loadN } @@ -7014,33 +7808,33 @@ entry: %ig.tmp = alloca [4 x i64], align 8 store [4 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.689, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.773, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.314 + br label %while.hdr.344 -while.hdr.314: ; preds = %if.merge.318, %entry +while.hdr.344: ; preds = %if.merge.348, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 4 - br i1 %icmp, label %while.body.315, label %while.exit.316 + br i1 %icmp, label %while.body.345, label %while.exit.346 -while.body.315: ; preds = %while.hdr.314 +while.body.345: ; preds = %while.hdr.344 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.317, label %if.merge.318 + br i1 %icmpN, label %if.then.347, label %if.merge.348 -while.exit.316: ; preds = %while.hdr.314 +while.exit.346: ; preds = %while.hdr.344 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.690, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.774, i64 1 }) ret { ptr, i64 } %call -if.then.317: ; preds = %while.body.315 +if.then.347: ; preds = %while.body.345 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.775, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.318 + br label %if.merge.348 -if.merge.318: ; preds = %if.then.317, %while.body.315 +if.merge.348: ; preds = %if.then.347, %while.body.345 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [4 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7054,7 +7848,7 @@ if.merge.318: ; preds = %if.then.317, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.314 + br label %while.hdr.344 } ; Function Attrs: nounwind @@ -7065,33 +7859,33 @@ entry: %ba.tmp = alloca { i1, { ptr, i64 } }, align 8 store [16 x { i1, { ptr, i64 } }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.692, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.776, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.319 + br label %while.hdr.349 -while.hdr.319: ; preds = %if.merge.323, %entry +while.hdr.349: ; preds = %if.merge.353, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 16 - br i1 %icmp, label %while.body.320, label %while.exit.321 + br i1 %icmp, label %while.body.350, label %while.exit.351 -while.body.320: ; preds = %while.hdr.319 +while.body.350: ; preds = %while.hdr.349 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.322, label %if.merge.323 + br i1 %icmpN, label %if.then.352, label %if.merge.353 -while.exit.321: ; preds = %while.hdr.319 +while.exit.351: ; preds = %while.hdr.349 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.693, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.777, i64 1 }) ret { ptr, i64 } %call -if.then.322: ; preds = %while.body.320 +if.then.352: ; preds = %while.body.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.694, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.323 + br label %if.merge.353 -if.merge.323: ; preds = %if.then.322, %while.body.320 +if.merge.353: ; preds = %if.then.352, %while.body.350 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [16 x { i1, { ptr, i64 } }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7107,7 +7901,7 @@ if.merge.323: ; preds = %if.then.322, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.319 + br label %while.hdr.349 } ; Function Attrs: nounwind @@ -7117,33 +7911,33 @@ entry: %ig.tmp = alloca [8 x i64], align 8 store [8 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.695, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.779, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.324 + br label %while.hdr.354 -while.hdr.324: ; preds = %if.merge.328, %entry +while.hdr.354: ; preds = %if.merge.358, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 8 - br i1 %icmp, label %while.body.325, label %while.exit.326 + br i1 %icmp, label %while.body.355, label %while.exit.356 -while.body.325: ; preds = %while.hdr.324 +while.body.355: ; preds = %while.hdr.354 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.327, label %if.merge.328 + br i1 %icmpN, label %if.then.357, label %if.merge.358 -while.exit.326: ; preds = %while.hdr.324 +while.exit.356: ; preds = %while.hdr.354 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.696, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 1 }) ret { ptr, i64 } %call -if.then.327: ; preds = %while.body.325 +if.then.357: ; preds = %while.body.355 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.697, i64 2 }) + %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.328 + br label %if.merge.358 -if.merge.328: ; preds = %if.then.327, %while.body.325 +if.merge.358: ; preds = %if.then.357, %while.body.355 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [8 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7157,7 +7951,7 @@ if.merge.328: ; preds = %if.then.327, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.324 + br label %while.hdr.354 } ; Function Attrs: nounwind @@ -7167,33 +7961,33 @@ entry: %ig.tmp = alloca [64 x i8], align 1 store [64 x i8] %1, ptr %alloca, align 1 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.698, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.782, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.329 + br label %while.hdr.359 -while.hdr.329: ; preds = %if.merge.333, %entry +while.hdr.359: ; preds = %if.merge.363, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.330, label %while.exit.331 + br i1 %icmp, label %while.body.360, label %while.exit.361 -while.body.330: ; preds = %while.hdr.329 +while.body.360: ; preds = %while.hdr.359 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.332, label %if.merge.333 + br i1 %icmpN, label %if.then.362, label %if.merge.363 -while.exit.331: ; preds = %while.hdr.329 +while.exit.361: ; preds = %while.hdr.359 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.699, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.783, i64 1 }) ret { ptr, i64 } %call -if.then.332: ; preds = %while.body.330 +if.then.362: ; preds = %while.body.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.700, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.784, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.333 + br label %if.merge.363 -if.merge.333: ; preds = %if.then.332, %while.body.330 +if.merge.363: ; preds = %if.then.362, %while.body.360 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i8], ptr %alloca, align 1 %loadN = load i64, ptr %allocaN, align 8 @@ -7208,7 +8002,7 @@ if.merge.333: ; preds = %if.then.332, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.329 + br label %while.hdr.359 } ; Function Attrs: nounwind @@ -7218,33 +8012,33 @@ entry: %ig.tmp = alloca [64 x i64], align 8 store [64 x i64] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.701, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.785, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.334 + br label %while.hdr.364 -while.hdr.334: ; preds = %if.merge.338, %entry +while.hdr.364: ; preds = %if.merge.368, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 64 - br i1 %icmp, label %while.body.335, label %while.exit.336 + br i1 %icmp, label %while.body.365, label %while.exit.366 -while.body.335: ; preds = %while.hdr.334 +while.body.365: ; preds = %while.hdr.364 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.337, label %if.merge.338 + br i1 %icmpN, label %if.then.367, label %if.merge.368 -while.exit.336: ; preds = %while.hdr.334 +while.exit.366: ; preds = %while.hdr.364 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.702, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.786, i64 1 }) ret { ptr, i64 } %call -if.then.337: ; preds = %while.body.335 +if.then.367: ; preds = %while.body.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.703, i64 2 }) + %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 - br label %if.merge.338 + br label %if.merge.368 -if.merge.338: ; preds = %if.then.337, %while.body.335 +if.merge.368: ; preds = %if.then.367, %while.body.365 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [64 x i64], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7258,7 +8052,7 @@ if.merge.338: ; preds = %if.then.337, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.334 + br label %while.hdr.364 } ; Function Attrs: nounwind @@ -7269,33 +8063,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [1 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.704, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.788, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 -while.hdr.339: ; preds = %if.merge.343, %entry +while.hdr.369: ; preds = %if.merge.373, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 1 - br i1 %icmp, label %while.body.340, label %while.exit.341 + br i1 %icmp, label %while.body.370, label %while.exit.371 -while.body.340: ; preds = %while.hdr.339 +while.body.370: ; preds = %while.hdr.369 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.342, label %if.merge.343 + br i1 %icmpN, label %if.then.372, label %if.merge.373 -while.exit.341: ; preds = %while.hdr.339 +while.exit.371: ; preds = %while.hdr.369 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.789, i64 1 }) ret { ptr, i64 } %call -if.then.342: ; preds = %while.body.340 +if.then.372: ; preds = %while.body.370 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.790, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.343 + br label %if.merge.373 -if.merge.343: ; preds = %if.then.342, %while.body.340 +if.merge.373: ; preds = %if.then.372, %while.body.370 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [1 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7311,7 +8105,7 @@ if.merge.343: ; preds = %if.then.342, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.339 + br label %while.hdr.369 } ; Function Attrs: nounwind @@ -7322,33 +8116,33 @@ entry: %ba.tmp = alloca { i64, i64 }, align 8 store [3 x { i64, i64 }] %1, ptr %alloca, align 8 %allocaN = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.707, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.791, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 -while.hdr.344: ; preds = %if.merge.348, %entry +while.hdr.374: ; preds = %if.merge.378, %entry %load = load i64, ptr %allocaN, align 8 %icmp = icmp slt i64 %load, 3 - br i1 %icmp, label %while.body.345, label %while.exit.346 + br i1 %icmp, label %while.body.375, label %while.exit.376 -while.body.345: ; preds = %while.hdr.344 +while.body.375: ; preds = %while.hdr.374 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.347, label %if.merge.348 + br i1 %icmpN, label %if.then.377, label %if.merge.378 -while.exit.346: ; preds = %while.hdr.344 +while.exit.376: ; preds = %while.hdr.374 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, i64 1 }) ret { ptr, i64 } %call -if.then.347: ; preds = %while.body.345 +if.then.377: ; preds = %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.709, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.793, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.348 + br label %if.merge.378 -if.merge.348: ; preds = %if.then.347, %while.body.345 +if.merge.378: ; preds = %if.then.377, %while.body.375 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load [3 x { i64, i64 }], ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7364,7 +8158,7 @@ if.merge.348: ; preds = %if.then.347, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.344 + br label %while.hdr.374 } ; Function Attrs: nounwind @@ -7374,35 +8168,35 @@ entry: %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.710, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.794, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 -while.hdr.357: ; preds = %if.merge.361, %entry +while.hdr.387: ; preds = %if.merge.391, %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.358, label %while.exit.359 + br i1 %icmp, label %while.body.388, label %while.exit.389 -while.body.358: ; preds = %while.hdr.357 +while.body.388: ; preds = %while.hdr.387 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.360, label %if.merge.361 + br i1 %icmpN, label %if.then.390, label %if.merge.391 -while.exit.359: ; preds = %while.hdr.357 +while.exit.389: ; preds = %while.hdr.387 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.711, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 1 }) ret { ptr, i64 } %call -if.then.360: ; preds = %while.body.358 +if.then.390: ; preds = %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.712, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.796, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.361 + br label %if.merge.391 -if.merge.361: ; preds = %if.then.360, %while.body.358 +if.merge.391: ; preds = %if.then.390, %while.body.388 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7418,7 +8212,7 @@ if.merge.361: ; preds = %if.then.360, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.357 + br label %while.hdr.387 } ; Function Attrs: nounwind @@ -7427,35 +8221,35 @@ 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.713, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.797, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 -while.hdr.362: ; preds = %if.merge.366, %entry +while.hdr.392: ; preds = %if.merge.396, %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.363, label %while.exit.364 + br i1 %icmp, label %while.body.393, label %while.exit.394 -while.body.363: ; preds = %while.hdr.362 +while.body.393: ; preds = %while.hdr.392 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.365, label %if.merge.366 + br i1 %icmpN, label %if.then.395, label %if.merge.396 -while.exit.364: ; preds = %while.hdr.362 +while.exit.394: ; preds = %while.hdr.392 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.714, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.798, i64 1 }) ret { ptr, i64 } %call -if.then.365: ; preds = %while.body.363 +if.then.395: ; preds = %while.body.393 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.799, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.366 + br label %if.merge.396 -if.merge.366: ; preds = %if.then.365, %while.body.363 +if.merge.396: ; preds = %if.then.395, %while.body.393 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7470,7 +8264,7 @@ if.merge.366: ; preds = %if.then.365, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.362 + br label %while.hdr.392 } ; Function Attrs: nounwind @@ -7480,35 +8274,35 @@ entry: %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.716, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.800, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 -while.hdr.367: ; preds = %if.merge.371, %entry +while.hdr.397: ; preds = %if.merge.401, %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.368, label %while.exit.369 + br i1 %icmp, label %while.body.398, label %while.exit.399 -while.body.368: ; preds = %while.hdr.367 +while.body.398: ; preds = %while.hdr.397 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.370, label %if.merge.371 + br i1 %icmpN, label %if.then.400, label %if.merge.401 -while.exit.369: ; preds = %while.hdr.367 +while.exit.399: ; preds = %while.hdr.397 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, i64 1 }) ret { ptr, i64 } %call -if.then.370: ; preds = %while.body.368 +if.then.400: ; preds = %while.body.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.718, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.802, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.371 + br label %if.merge.401 -if.merge.371: ; preds = %if.then.370, %while.body.368 +if.merge.401: ; preds = %if.then.400, %while.body.398 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7524,7 +8318,7 @@ if.merge.371: ; preds = %if.then.370, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.367 + br label %while.hdr.397 } ; Function Attrs: nounwind @@ -7534,35 +8328,35 @@ entry: %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.719, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.803, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 -while.hdr.372: ; preds = %if.merge.376, %entry +while.hdr.402: ; preds = %if.merge.406, %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.373, label %while.exit.374 + br i1 %icmp, label %while.body.403, label %while.exit.404 -while.body.373: ; preds = %while.hdr.372 +while.body.403: ; preds = %while.hdr.402 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.375, label %if.merge.376 + br i1 %icmpN, label %if.then.405, label %if.merge.406 -while.exit.374: ; preds = %while.hdr.372 +while.exit.404: ; preds = %while.hdr.402 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.720, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.804, i64 1 }) ret { ptr, i64 } %call -if.then.375: ; preds = %while.body.373 +if.then.405: ; preds = %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.721, i64 2 }) + %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 - br label %if.merge.376 + br label %if.merge.406 -if.merge.376: ; preds = %if.then.375, %while.body.373 +if.merge.406: ; preds = %if.then.405, %while.body.403 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7578,7 +8372,7 @@ if.merge.376: ; preds = %if.then.375, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.372 + br label %while.hdr.402 } ; Function Attrs: nounwind @@ -7588,35 +8382,35 @@ entry: %ba.tmp = alloca { i32, i64, 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.722, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.806, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 -while.hdr.377: ; preds = %if.merge.381, %entry +while.hdr.407: ; preds = %if.merge.411, %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.378, label %while.exit.379 + br i1 %icmp, label %while.body.408, label %while.exit.409 -while.body.378: ; preds = %while.hdr.377 +while.body.408: ; preds = %while.hdr.407 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.380, label %if.merge.381 + br i1 %icmpN, label %if.then.410, label %if.merge.411 -while.exit.379: ; preds = %while.hdr.377 +while.exit.409: ; preds = %while.hdr.407 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.723, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.807, i64 1 }) ret { ptr, i64 } %call -if.then.380: ; preds = %while.body.378 +if.then.410: ; preds = %while.body.408 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.381 + br label %if.merge.411 -if.merge.381: ; preds = %if.then.380, %while.body.378 +if.merge.411: ; preds = %if.then.410, %while.body.408 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7632,7 +8426,7 @@ if.merge.381: ; preds = %if.then.380, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.377 + br label %while.hdr.407 } ; Function Attrs: nounwind @@ -7642,35 +8436,35 @@ entry: %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.725, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.809, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 -while.hdr.382: ; preds = %if.merge.386, %entry +while.hdr.412: ; preds = %if.merge.416, %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.383, label %while.exit.384 + br i1 %icmp, label %while.body.413, label %while.exit.414 -while.body.383: ; preds = %while.hdr.382 +while.body.413: ; preds = %while.hdr.412 %loadN = load i64, ptr %allocaN, align 8 %icmpN = icmp sgt i64 %loadN, 0 - br i1 %icmpN, label %if.then.385, label %if.merge.386 + br i1 %icmpN, label %if.then.415, label %if.merge.416 -while.exit.384: ; preds = %while.hdr.382 +while.exit.414: ; preds = %while.hdr.412 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.726, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.810, i64 1 }) ret { ptr, i64 } %call -if.then.385: ; preds = %while.body.383 +if.then.415: ; preds = %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.727, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 - br label %if.merge.386 + br label %if.merge.416 -if.merge.386: ; preds = %if.then.385, %while.body.383 +if.merge.416: ; preds = %if.then.415, %while.body.413 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -7686,206 +8480,11 @@ if.merge.386: ; preds = %if.then.385, %while %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, 1 store i64 %add, ptr %allocaN, align 8 - br label %while.hdr.382 + br label %while.hdr.412 } ; 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.426, label %if.else.427 - -if.then.426: ; preds = %entry - br label %if.merge.428 - -if.else.427: ; 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.428 - -if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] - 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.442, label %if.else.443 - -if.then.442: ; preds = %entry - br label %if.merge.444 - -if.else.443: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.444 - -if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] - 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.445, label %if.else.446 - -if.then.445: ; preds = %entry - br label %if.merge.447 - -if.else.446: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.447 - -if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] - 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.448, label %if.else.449 - -if.then.448: ; preds = %entry - br label %if.merge.450 - -if.else.449: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.450 - -if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] - 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.451, label %if.else.452 - -if.then.451: ; preds = %entry - br label %if.merge.453 - -if.else.452: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.453 - -if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] - ret { ptr, i64 } %bp -} - -; 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.454, label %if.else.455 - -if.then.454: ; preds = %entry - br label %if.merge.456 - -if.else.455: ; 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.745, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.744, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.456 - -if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] - 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.457, label %if.else.458 - -if.then.457: ; preds = %entry - br label %if.merge.459 - -if.else.458: ; 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.748, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.459 - -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.746, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] - 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 @@ -7903,12 +8502,207 @@ if.then.460: ; preds = %entry if.else.461: ; 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.751, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.750, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 5 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.749, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + 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.476, label %if.else.477 + +if.then.476: ; preds = %entry + br label %if.merge.478 + +if.else.477: ; 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.817, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.478 + +if.merge.478: ; preds = %if.else.477, %if.then.476 + %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + 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.479, label %if.else.480 + +if.then.479: ; preds = %entry + br label %if.merge.481 + +if.else.480: ; 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.820, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.481 + +if.merge.481: ; preds = %if.else.480, %if.then.479 + %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + 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.482, label %if.else.483 + +if.then.482: ; preds = %entry + br label %if.merge.484 + +if.else.483: ; 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.823, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.484 + +if.merge.484: ; preds = %if.else.483, %if.then.482 + %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + 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.485, label %if.else.486 + +if.then.485: ; preds = %entry + br label %if.merge.487 + +if.else.486: ; 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.826, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.487 + +if.merge.487: ; preds = %if.else.486, %if.then.485 + %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] + ret { ptr, i64 } %bp +} + +; 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.488, label %if.else.489 + +if.then.488: ; preds = %entry + br label %if.merge.490 + +if.else.489: ; 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.829, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.490 + +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] + 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.491, label %if.else.492 + +if.then.491: ; preds = %entry + br label %if.merge.493 + +if.else.492: ; 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.832, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.493 + +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] + 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.494, label %if.else.495 + +if.then.494: ; preds = %entry + br label %if.merge.496 + +if.else.495: ; 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.835, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 18 }, { ptr, i64 } %callN) + br label %if.merge.496 + +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } @@ -7923,20 +8717,20 @@ entry: 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.463, label %if.else.464 + br i1 %icmp, label %if.then.497, label %if.else.498 -if.then.463: ; preds = %entry - br label %if.merge.465 +if.then.497: ; preds = %entry + br label %if.merge.499 -if.else.464: ; preds = %entry +if.else.498: ; 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.754, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.753, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.465 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.499 -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.752, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] +if.merge.499: ; preds = %if.else.498, %if.then.497 + %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } @@ -7951,20 +8745,20 @@ entry: 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.466, label %if.else.467 + br i1 %icmp, label %if.then.500, label %if.else.501 -if.then.466: ; preds = %entry - br label %if.merge.468 +if.then.500: ; preds = %entry + br label %if.merge.502 -if.else.467: ; preds = %entry +if.else.501: ; 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.757, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.756, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.468 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.841, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.502 -if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.755, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] +if.merge.502: ; preds = %if.else.501, %if.then.500 + %bp = phi { ptr, i64 } [ { ptr @str.839, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } @@ -7979,20 +8773,20 @@ entry: 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.469, label %if.else.470 + br i1 %icmp, label %if.then.503, label %if.else.504 -if.then.469: ; preds = %entry - br label %if.merge.471 +if.then.503: ; preds = %entry + br label %if.merge.505 -if.else.470: ; preds = %entry +if.else.504: ; 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.760, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.759, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.471 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.843, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.505 -if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.758, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] +if.merge.505: ; preds = %if.else.504, %if.then.503 + %bp = phi { ptr, i64 } [ { ptr @str.842, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } @@ -8007,20 +8801,20 @@ entry: 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.472, label %if.else.473 + br i1 %icmp, label %if.then.506, label %if.else.507 -if.then.472: ; preds = %entry - br label %if.merge.474 +if.then.506: ; preds = %entry + br label %if.merge.508 -if.else.473: ; preds = %entry +if.else.507: ; 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.763, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.762, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.474 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.847, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.846, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.508 -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.761, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] +if.merge.508: ; preds = %if.else.507, %if.then.506 + %bp = phi { ptr, i64 } [ { ptr @str.845, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } @@ -8034,20 +8828,20 @@ entry: 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.475, label %if.else.476 + br i1 %icmp, label %if.then.509, label %if.else.510 -if.then.475: ; preds = %entry - br label %if.merge.477 +if.then.509: ; preds = %entry + br label %if.merge.511 -if.else.476: ; preds = %entry +if.else.510: ; 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.766, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.765, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.477 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.850, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.849, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.511 -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.764, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] +if.merge.511: ; preds = %if.else.510, %if.then.509 + %bp = phi { ptr, i64 } [ { ptr @str.848, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } @@ -8062,20 +8856,20 @@ entry: 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.478, label %if.else.479 + br i1 %icmp, label %if.then.512, label %if.else.513 -if.then.478: ; preds = %entry - br label %if.merge.480 +if.then.512: ; preds = %entry + br label %if.merge.514 -if.else.479: ; preds = %entry +if.else.513: ; 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.769, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.480 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.852, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.514 -if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.767, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] +if.merge.514: ; preds = %if.else.513, %if.then.512 + %bp = phi { ptr, i64 } [ { ptr @str.851, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } @@ -8089,20 +8883,20 @@ entry: 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.481, label %if.else.482 + br i1 %icmp, label %if.then.515, label %if.else.516 -if.then.481: ; preds = %entry - br label %if.merge.483 +if.then.515: ; preds = %entry + br label %if.merge.517 -if.else.482: ; preds = %entry +if.else.516: ; 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.772, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.771, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.483 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.855, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.517 -if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.770, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] +if.merge.517: ; preds = %if.else.516, %if.then.515 + %bp = phi { ptr, i64 } [ { ptr @str.854, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } @@ -8117,20 +8911,20 @@ entry: 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.484, label %if.else.485 + br i1 %icmp, label %if.then.518, label %if.else.519 -if.then.484: ; preds = %entry - br label %if.merge.486 +if.then.518: ; preds = %entry + br label %if.merge.520 -if.else.485: ; preds = %entry +if.else.519: ; 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.775, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.774, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.486 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.859, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.858, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.520 -if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.773, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] +if.merge.520: ; preds = %if.else.519, %if.then.518 + %bp = phi { ptr, i64 } [ { ptr @str.857, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -8145,20 +8939,20 @@ entry: 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.487, label %if.else.488 + br i1 %icmp, label %if.then.521, label %if.else.522 -if.then.487: ; preds = %entry - br label %if.merge.489 +if.then.521: ; preds = %entry + br label %if.merge.523 -if.else.488: ; preds = %entry +if.else.522: ; 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.778, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.777, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.489 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.523 -if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.776, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] +if.merge.523: ; preds = %if.else.522, %if.then.521 + %bp = phi { ptr, i64 } [ { ptr @str.860, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -8173,20 +8967,20 @@ entry: 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.490, label %if.else.491 + br i1 %icmp, label %if.then.524, label %if.else.525 -if.then.490: ; preds = %entry - br label %if.merge.492 +if.then.524: ; preds = %entry + br label %if.merge.526 -if.else.491: ; preds = %entry +if.else.525: ; 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.781, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.780, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.492 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.865, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.864, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.526 -if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.779, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] +if.merge.526: ; preds = %if.else.525, %if.then.524 + %bp = phi { ptr, i64 } [ { ptr @str.863, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -8201,20 +8995,20 @@ entry: 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.493, label %if.else.494 + br i1 %icmp, label %if.then.527, label %if.else.528 -if.then.493: ; preds = %entry - br label %if.merge.495 +if.then.527: ; preds = %entry + br label %if.merge.529 -if.else.494: ; preds = %entry +if.else.528: ; 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.784, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.783, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.495 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.868, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.529 -if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.782, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] +if.merge.529: ; preds = %if.else.528, %if.then.527 + %bp = phi { ptr, i64 } [ { ptr @str.866, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -8229,20 +9023,20 @@ entry: 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.496, label %if.else.497 + br i1 %icmp, label %if.then.530, label %if.else.531 -if.then.496: ; preds = %entry - br label %if.merge.498 +if.then.530: ; preds = %entry + br label %if.merge.532 -if.else.497: ; preds = %entry +if.else.531: ; 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.787, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.786, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.498 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.871, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.532 -if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.785, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] +if.merge.532: ; preds = %if.else.531, %if.then.530 + %bp = phi { ptr, i64 } [ { ptr @str.869, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -8257,20 +9051,20 @@ entry: 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.499, label %if.else.500 + br i1 %icmp, label %if.then.533, label %if.else.534 -if.then.499: ; preds = %entry - br label %if.merge.501 +if.then.533: ; preds = %entry + br label %if.merge.535 -if.else.500: ; preds = %entry +if.else.534: ; 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.790, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.789, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.501 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.874, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.873, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.535 -if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.788, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] +if.merge.535: ; preds = %if.else.534, %if.then.533 + %bp = phi { ptr, i64 } [ { ptr @str.872, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -8285,20 +9079,20 @@ entry: 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.502, label %if.else.503 + br i1 %icmp, label %if.then.536, label %if.else.537 -if.then.502: ; preds = %entry - br label %if.merge.504 +if.then.536: ; preds = %entry + br label %if.merge.538 -if.else.503: ; preds = %entry +if.else.537: ; 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.793, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.792, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.504 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.877, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.876, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.538 -if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.791, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] +if.merge.538: ; preds = %if.else.537, %if.then.536 + %bp = phi { ptr, i64 } [ { ptr @str.875, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] ret { ptr, i64 } %bp } @@ -8313,20 +9107,20 @@ entry: 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.505, label %if.else.506 + br i1 %icmp, label %if.then.539, label %if.else.540 -if.then.505: ; preds = %entry - br label %if.merge.507 +if.then.539: ; preds = %entry + br label %if.merge.541 -if.else.506: ; preds = %entry +if.else.540: ; 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.796, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.795, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.507 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.880, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.541 -if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.794, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] +if.merge.541: ; preds = %if.else.540, %if.then.539 + %bp = phi { ptr, i64 } [ { ptr @str.878, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } @@ -8341,20 +9135,20 @@ entry: 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.508, label %if.else.509 + br i1 %icmp, label %if.then.542, label %if.else.543 -if.then.508: ; preds = %entry - br label %if.merge.510 +if.then.542: ; preds = %entry + br label %if.merge.544 -if.else.509: ; preds = %entry +if.else.543: ; 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.799, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.798, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.510 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.883, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.882, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.544 -if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.797, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] +if.merge.544: ; preds = %if.else.543, %if.then.542 + %bp = phi { ptr, i64 } [ { ptr @str.881, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -8369,20 +9163,20 @@ entry: 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.511, label %if.else.512 + br i1 %icmp, label %if.then.545, label %if.else.546 -if.then.511: ; preds = %entry - br label %if.merge.513 +if.then.545: ; preds = %entry + br label %if.merge.547 -if.else.512: ; preds = %entry +if.else.546: ; 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.802, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 11 }, { ptr, i64 } %callN) - br label %if.merge.513 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.885, i64 11 }, { ptr, i64 } %callN) + br label %if.merge.547 -if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.800, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] +if.merge.547: ; preds = %if.else.546, %if.then.545 + %bp = phi { ptr, i64 } [ { ptr @str.884, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -8397,20 +9191,131 @@ entry: 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.514, label %if.else.515 + br i1 %icmp, label %if.then.548, label %if.else.549 -if.then.514: ; preds = %entry - br label %if.merge.516 +if.then.548: ; preds = %entry + br label %if.merge.550 -if.else.515: ; preds = %entry +if.else.549: ; 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.805, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.804, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.516 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.889, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.888, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.550 -if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.803, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] +if.merge.550: ; preds = %if.else.549, %if.then.548 + %bp = phi { ptr, i64 } [ { ptr @str.887, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] + 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.551, label %if.else.552 + +if.then.551: ; preds = %entry + br label %if.merge.553 + +if.else.552: ; 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.892, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.891, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.553 + +if.merge.553: ; preds = %if.else.552, %if.then.551 + %bp = phi { ptr, i64 } [ { ptr @str.890, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] + 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.554, label %if.else.555 + +if.then.554: ; preds = %entry + br label %if.merge.556 + +if.else.555: ; 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.895, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.556 + +if.merge.556: ; preds = %if.else.555, %if.then.554 + %bp = phi { ptr, i64 } [ { ptr @str.893, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] + 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.557, label %if.else.558 + +if.then.557: ; preds = %entry + br label %if.merge.559 + +if.else.558: ; 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.898, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.897, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.559 + +if.merge.559: ; preds = %if.else.558, %if.then.557 + %bp = phi { ptr, i64 } [ { ptr @str.896, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] + 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.560, label %if.else.561 + +if.then.560: ; preds = %entry + br label %if.merge.562 + +if.else.561: ; 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.901, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.900, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.562 + +if.merge.562: ; preds = %if.else.561, %if.then.560 + %bp = phi { ptr, i64 } [ { ptr @str.899, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -8425,20 +9330,20 @@ entry: 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.517, label %if.else.518 + br i1 %icmp, label %if.then.563, label %if.else.564 -if.then.517: ; preds = %entry - br label %if.merge.519 +if.then.563: ; preds = %entry + br label %if.merge.565 -if.else.518: ; preds = %entry +if.else.564: ; 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.808, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, i64 9 }, { ptr, i64 } %callN) - br label %if.merge.519 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.904, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.565 -if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.806, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] +if.merge.565: ; preds = %if.else.564, %if.then.563 + %bp = phi { ptr, i64 } [ { ptr @str.902, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -8453,20 +9358,20 @@ entry: 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.520, label %if.else.521 + br i1 %icmp, label %if.then.566, label %if.else.567 -if.then.520: ; preds = %entry - br label %if.merge.522 +if.then.566: ; preds = %entry + br label %if.merge.568 -if.else.521: ; preds = %entry +if.else.567: ; 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.811, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.810, i64 12 }, { ptr, i64 } %callN) - br label %if.merge.522 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.907, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.906, i64 12 }, { ptr, i64 } %callN) + br label %if.merge.568 -if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.809, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] +if.merge.568: ; preds = %if.else.567, %if.then.566 + %bp = phi { ptr, i64 } [ { ptr @str.905, i64 4 }, %if.then.566 ], [ %callN, %if.else.567 ] ret { ptr, i64 } %bp } @@ -8481,20 +9386,20 @@ entry: 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.523, label %if.else.524 + br i1 %icmp, label %if.then.569, label %if.else.570 -if.then.523: ; preds = %entry - br label %if.merge.525 +if.then.569: ; preds = %entry + br label %if.merge.571 -if.else.524: ; preds = %entry +if.else.570: ; 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.814, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.813, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.525 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.571 -if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.812, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] +if.merge.571: ; preds = %if.else.570, %if.then.569 + %bp = phi { ptr, i64 } [ { ptr @str.908, i64 4 }, %if.then.569 ], [ %callN, %if.else.570 ] ret { ptr, i64 } %bp } @@ -8509,20 +9414,20 @@ entry: 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.526, label %if.else.527 + br i1 %icmp, label %if.then.572, label %if.else.573 -if.then.526: ; preds = %entry - br label %if.merge.528 +if.then.572: ; preds = %entry + br label %if.merge.574 -if.else.527: ; preds = %entry +if.else.573: ; 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.817, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 5 }, { ptr, i64 } %callN) - br label %if.merge.528 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.913, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.912, i64 5 }, { ptr, i64 } %callN) + br label %if.merge.574 -if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.815, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] +if.merge.574: ; preds = %if.else.573, %if.then.572 + %bp = phi { ptr, i64 } [ { ptr @str.911, i64 4 }, %if.then.572 ], [ %callN, %if.else.573 ] ret { ptr, i64 } %bp } @@ -8537,20 +9442,20 @@ entry: 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.529, label %if.else.530 + br i1 %icmp, label %if.then.575, label %if.else.576 -if.then.529: ; preds = %entry - br label %if.merge.531 +if.then.575: ; preds = %entry + br label %if.merge.577 -if.else.530: ; preds = %entry +if.else.576: ; 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.820, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.819, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.531 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.916, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.577 -if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.818, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] +if.merge.577: ; preds = %if.else.576, %if.then.575 + %bp = phi { ptr, i64 } [ { ptr @str.914, i64 4 }, %if.then.575 ], [ %callN, %if.else.576 ] ret { ptr, i64 } %bp } @@ -8565,20 +9470,20 @@ entry: 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.532, label %if.else.533 + br i1 %icmp, label %if.then.578, label %if.else.579 -if.then.532: ; preds = %entry - br label %if.merge.534 +if.then.578: ; preds = %entry + br label %if.merge.580 -if.else.533: ; preds = %entry +if.else.579: ; 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.823, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.822, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.534 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.919, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 4 }, { ptr, i64 } %callN) + br label %if.merge.580 -if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.821, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] +if.merge.580: ; preds = %if.else.579, %if.then.578 + %bp = phi { ptr, i64 } [ { ptr @str.917, i64 4 }, %if.then.578 ], [ %callN, %if.else.579 ] ret { ptr, i64 } %bp } @@ -8593,20 +9498,20 @@ entry: 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.535, label %if.else.536 + br i1 %icmp, label %if.then.581, label %if.else.582 -if.then.535: ; preds = %entry - br label %if.merge.537 +if.then.581: ; preds = %entry + br label %if.merge.583 -if.else.536: ; preds = %entry +if.else.582: ; 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.826, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.537 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.922, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.583 -if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.824, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] +if.merge.583: ; preds = %if.else.582, %if.then.581 + %bp = phi { ptr, i64 } [ { ptr @str.920, i64 4 }, %if.then.581 ], [ %callN, %if.else.582 ] ret { ptr, i64 } %bp } @@ -8621,20 +9526,20 @@ entry: 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.538, label %if.else.539 + br i1 %icmp, label %if.then.584, label %if.else.585 -if.then.538: ; preds = %entry - br label %if.merge.540 +if.then.584: ; preds = %entry + br label %if.merge.586 -if.else.539: ; preds = %entry +if.else.585: ; 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.829, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.828, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.540 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.586 -if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.827, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] +if.merge.586: ; preds = %if.else.585, %if.then.584 + %bp = phi { ptr, i64 } [ { ptr @str.923, i64 4 }, %if.then.584 ], [ %callN, %if.else.585 ] ret { ptr, i64 } %bp } @@ -8649,20 +9554,20 @@ entry: 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.541, label %if.else.542 + br i1 %icmp, label %if.then.587, label %if.else.588 -if.then.541: ; preds = %entry - br label %if.merge.543 +if.then.587: ; preds = %entry + br label %if.merge.589 -if.else.542: ; preds = %entry +if.else.588: ; 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.832, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.831, i64 3 }, { ptr, i64 } %callN) - br label %if.merge.543 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.928, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 3 }, { ptr, i64 } %callN) + br label %if.merge.589 -if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.830, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] +if.merge.589: ; preds = %if.else.588, %if.then.587 + %bp = phi { ptr, i64 } [ { ptr @str.926, i64 4 }, %if.then.587 ], [ %callN, %if.else.588 ] ret { ptr, i64 } %bp } @@ -8677,20 +9582,20 @@ entry: 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.544, label %if.else.545 + br i1 %icmp, label %if.then.590, label %if.else.591 -if.then.544: ; preds = %entry - br label %if.merge.546 +if.then.590: ; preds = %entry + br label %if.merge.592 -if.else.545: ; preds = %entry +if.else.591: ; 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.835, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.546 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.931, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.592 -if.merge.546: ; preds = %if.else.545, %if.then.544 - %bp = phi { ptr, i64 } [ { ptr @str.833, i64 4 }, %if.then.544 ], [ %callN, %if.else.545 ] +if.merge.592: ; preds = %if.else.591, %if.then.590 + %bp = phi { ptr, i64 } [ { ptr @str.929, i64 4 }, %if.then.590 ], [ %callN, %if.else.591 ] ret { ptr, i64 } %bp } @@ -8705,20 +9610,20 @@ entry: 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.547, label %if.else.548 + br i1 %icmp, label %if.then.593, label %if.else.594 -if.then.547: ; preds = %entry - br label %if.merge.549 +if.then.593: ; preds = %entry + br label %if.merge.595 -if.else.548: ; preds = %entry +if.else.594: ; 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.838, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, i64 7 }, { ptr, i64 } %callN) - br label %if.merge.549 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.934, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 7 }, { ptr, i64 } %callN) + br label %if.merge.595 -if.merge.549: ; preds = %if.else.548, %if.then.547 - %bp = phi { ptr, i64 } [ { ptr @str.836, i64 4 }, %if.then.547 ], [ %callN, %if.else.548 ] +if.merge.595: ; preds = %if.else.594, %if.then.593 + %bp = phi { ptr, i64 } [ { ptr @str.932, i64 4 }, %if.then.593 ], [ %callN, %if.else.594 ] ret { ptr, i64 } %bp } @@ -8731,12 +9636,12 @@ entry: %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.557, label %if.merge.558 + br i1 %lnot, label %if.then.603, label %if.merge.604 -if.then.557: ; preds = %entry - ret { ptr, i64 } { ptr @str.839, i64 4 } +if.then.603: ; preds = %entry + ret { ptr, i64 } { ptr @str.935, i64 4 } -if.merge.558: ; preds = %entry +if.merge.604: ; 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 @@ -8755,12 +9660,12 @@ entry: %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.559, label %if.merge.560 + br i1 %lnot, label %if.then.605, label %if.merge.606 -if.then.559: ; preds = %entry - ret { ptr, i64 } { ptr @str.840, i64 4 } +if.then.605: ; preds = %entry + ret { ptr, i64 } { ptr @str.936, i64 4 } -if.merge.560: ; preds = %entry +if.merge.606: ; 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 @@ -8778,12 +9683,12 @@ entry: %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.561, label %if.merge.562 + br i1 %lnot, label %if.then.607, label %if.merge.608 -if.then.561: ; preds = %entry - ret { ptr, i64 } { ptr @str.841, i64 4 } +if.then.607: ; preds = %entry + ret { ptr, i64 } { ptr @str.937, i64 4 } -if.merge.562: ; preds = %entry +if.merge.608: ; 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 @@ -8800,12 +9705,12 @@ entry: %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.563, label %if.merge.564 + br i1 %lnot, label %if.then.609, label %if.merge.610 -if.then.563: ; preds = %entry - ret { ptr, i64 } { ptr @str.842, i64 4 } +if.then.609: ; preds = %entry + ret { ptr, i64 } { ptr @str.938, i64 4 } -if.merge.564: ; preds = %entry +if.merge.610: ; 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 @@ -8824,12 +9729,12 @@ entry: %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.565, label %if.merge.566 + br i1 %lnot, label %if.then.611, label %if.merge.612 -if.then.565: ; preds = %entry - ret { ptr, i64 } { ptr @str.843, i64 4 } +if.then.611: ; preds = %entry + ret { ptr, i64 } { ptr @str.939, i64 4 } -if.merge.566: ; preds = %entry +if.merge.612: ; 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 diff --git a/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir b/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir index bf04564..b89c3a0 100644 --- a/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir +++ b/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir @@ -1397,6 +1397,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 diff --git a/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir b/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir index 7b1b448..436e00c 100644 --- a/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir +++ b/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir @@ -1373,6 +1373,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1403-ffi-jni-call-04-jint-return.ir b/examples/expected/1403-ffi-jni-call-04-jint-return.ir index df0b896..be95a08 100644 --- a/examples/expected/1403-ffi-jni-call-04-jint-return.ir +++ b/examples/expected/1403-ffi-jni-call-04-jint-return.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1404-ffi-jni-call-05-jlong-return.ir b/examples/expected/1404-ffi-jni-call-05-jlong-return.ir index c4d30c4..520299f 100644 --- a/examples/expected/1404-ffi-jni-call-05-jlong-return.ir +++ b/examples/expected/1404-ffi-jni-call-05-jlong-return.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir b/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir index 802f426..d11303f 100644 --- a/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir +++ b/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir b/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir index 632cb1c..28b4b86 100644 --- a/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir +++ b/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1407-ffi-jni-call-08-jobject-return.ir b/examples/expected/1407-ffi-jni-call-08-jobject-return.ir index e84da95..812df8b 100644 --- a/examples/expected/1407-ffi-jni-call-08-jobject-return.ir +++ b/examples/expected/1407-ffi-jni-call-08-jobject-return.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1408-ffi-jni-call-09-static.ir b/examples/expected/1408-ffi-jni-call-09-static.ir index 36739ff..8ffd701 100644 --- a/examples/expected/1408-ffi-jni-call-09-static.ir +++ b/examples/expected/1408-ffi-jni-call-09-static.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1418-ffi-jni-class-08-call.ir b/examples/expected/1418-ffi-jni-class-08-call.ir index ec803dc..5237eb1 100644 --- a/examples/expected/1418-ffi-jni-class-08-call.ir +++ b/examples/expected/1418-ffi-jni-class-08-call.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir b/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir index 0206fa4..13000e6 100644 --- a/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir +++ b/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir @@ -1371,6 +1371,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 { entry: diff --git a/examples/expected/1425-ffi-jni-main-03-ctor.ir b/examples/expected/1425-ffi-jni-main-03-ctor.ir index 9f69437..002621e 100644 --- a/examples/expected/1425-ffi-jni-main-03-ctor.ir +++ b/examples/expected/1425-ffi-jni-main-03-ctor.ir @@ -894,6 +894,54 @@ 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 @Server.init(ptr sret({ { { i64, i32, i64, i64, i64, i64, i64 }, { i32 }, i32, ptr, { ptr, ptr, ptr }, ptr }, i32 }), ptr, ptr, ptr) #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 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.write_more(ptr, ptr, i64) #0 + +; Function Attrs: nounwind +declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0 + ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag.77(i64, ptr) #0 diff --git a/examples/expected/1633-http-server.exit b/examples/expected/1633-http-server.exit new file mode 100644 index 0000000..573541a --- /dev/null +++ b/examples/expected/1633-http-server.exit @@ -0,0 +1 @@ +0 diff --git a/examples/expected/1633-http-server.stderr b/examples/expected/1633-http-server.stderr new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples/expected/1633-http-server.stderr @@ -0,0 +1 @@ + diff --git a/examples/expected/1633-http-server.stdout b/examples/expected/1633-http-server.stdout new file mode 100644 index 0000000..9547d3d --- /dev/null +++ b/examples/expected/1633-http-server.stdout @@ -0,0 +1,7 @@ +GET 200, keep-alive +keep-alive reuse ok +request cap: close + EOF +POST echo ok +404 routing ok +slow client evicted, healthy client served +http server ok diff --git a/library/modules/std.sx b/library/modules/std.sx index e49df31..dab6663 100644 --- a/library/modules/std.sx +++ b/library/modules/std.sx @@ -99,3 +99,4 @@ log :: #import "modules/std/log.sx"; test :: #import "modules/std/test.sx"; time :: #import "modules/std/time.sx"; event :: #import "modules/std/event.sx"; +http :: #import "modules/std/http.sx"; diff --git a/library/modules/std/http.sx b/library/modules/std/http.sx new file mode 100644 index 0000000..5b98b9a --- /dev/null +++ b/library/modules/std/http.sx @@ -0,0 +1,496 @@ +// std.http — single-worker HTTP/1.1 server core (PLAN-HTTPZ S7a). +// +// The httpz shape, one worker, handlers inline: a readiness Loop +// (std.event) multiplexes the listener and every connection, so an +// idle socket costs nothing and nothing ever blocks the loop. Timeouts +// are EVICTION, not blocking — each connection carries a monotonic +// deadline (request delivery / keepalive idle), checked between waits. +// Keep-alive is the default for HTTP/1.1; a Connection header, the +// per-connection request cap, or HTTP/1.0 turns it off. +// +// API: `Server.init(cfg, handler)` then either `run()` (the forever +// loop) or `tick(max_wait_ms)` — one bounded loop iteration, which is +// also how tests drive a live server and its client sockets in ONE +// thread. S7b adds worker counts + a handler thread pool behind this +// same surface; the epoll backend arrives with the linux target (S4). +// +// MEMORY: init captures the constructing allocator (the Repo pattern): +// connection slots and their read buffers live across ticks and are +// reused connection-to-connection (httpz's buffer-pool spirit); +// response bytes are allocated per response and freed when fully sent. +// Request views handed to the handler point into the connection's read +// buffer and are valid only during the handler call. + +#import "modules/std.sx"; + +HttpErr :: error { + Bind, // socket/bind/listen failed for the configured port + Loop, // the readiness loop could not be created or waited on +} + +// httpz-mirroring knobs (single-worker subset). +Config :: struct { + port: i64 = 8080; + backlog: i32 = 128; + max_conn: i64 = 256; // workers.max_conn + read_buf_cap: i64 = 65536; // workers.large_buffer_size + timeout_request_ms: i64 = 5000; // deliver a full request, or evicted + timeout_keepalive_ms: i64 = 5000;// idle between requests, or evicted + request_count: i64 = 100; // requests per connection, then close +} + +// One parsed request, viewed in place over the connection's read +// buffer — valid for the duration of the handler call only. +Request :: struct { + method: string = ""; + path: string = ""; + version: string = ""; + headers_raw: string = ""; // the raw header block (no request line) + body: string = ""; + keep_alive: bool = true; +} + +// What the handler fills in; the server serializes it. +Response :: struct { + status: i64 = 200; + content_type: string = "text/plain; charset=utf-8"; + extra_headers: string = ""; // preformatted "Name: value\r\n" lines + body: string = ""; +} + +// Case-insensitive header lookup in `headers_raw`; "" when absent. +// `name` must be lowercase. +find_header :: (req: *Request, name: string) -> string { + h := req.headers_raw; + i := 0; + while i < h.len { + // line start: try to match `name` case-insensitively, then ':' + j := 0; + while j < name.len and i + j < h.len { + c := h[i + j]; + if c >= 65 and c <= 90 { c = c + 32; } // ASCII lower + if c != name[j] { break; } + j += 1; + } + if j == name.len and i + j < h.len and h[i + j] == 58 { // ':' + v := i + j + 1; + while v < h.len and h[v] == 32 { v += 1; } + e := v; + while e < h.len and h[e] != 13 { e += 1; } + return string.{ ptr = @h[v], len = e - v }; + } + // skip to the next line + while i < h.len and h[i] != 10 { i += 1; } // '\n' + i += 1; + } + return ""; +} + +ascii_ieq :: (a: string, b_lower: string) -> bool { + if a.len != b_lower.len { return false; } + i := 0; + while i < a.len { + c := a[i]; + if c >= 65 and c <= 90 { c = c + 32; } + if c != b_lower[i] { return false; } + i += 1; + } + return true; +} + +reason_for :: (status: i64) -> string { + if status == 200 { return "OK"; } + if status == 201 { return "Created"; } + if status == 204 { return "No Content"; } + if status == 301 { return "Moved Permanently"; } + if status == 302 { return "Found"; } + if status == 400 { return "Bad Request"; } + if status == 401 { return "Unauthorized"; } + if status == 403 { return "Forbidden"; } + if status == 404 { return "Not Found"; } + if status == 405 { return "Method Not Allowed"; } + if status == 413 { return "Content Too Large"; } + if status == 431 { return "Request Header Fields Too Large"; } + if status == 500 { return "Internal Server Error"; } + if status == 503 { return "Service Unavailable"; } + return "Status"; +} + +// Connection slot states. +CONN_FREE :u8: 0; +CONN_READING :u8: 1; // awaiting a complete request (deadline: request) +CONN_WRITING :u8: 2; // response partially sent (deadline: request) +CONN_KEEPALIVE :u8: 3; // between requests (deadline: keepalive) + +Conn :: struct { + fd: i32 = -1; + state: u8 = 0; + read_buf: [*]u8 = null; // cap = config.read_buf_cap, reused across connections + read_len: i64 = 0; + out_buf: [*]u8 = null; // per-response allocation, freed when sent + out_len: i64 = 0; + out_sent: i64 = 0; + deadline: i64 = 0; + served: i64 = 0; + close_after: bool = false; + write_armed: bool = false; +} + +// The listener's udata; connection udata is the slot index. +LISTENER_UDATA :usize: 0xFFFFFFFF; + +Server :: struct { + cfg: Config; + loop: event.Loop; + lfd: i32 = -1; + conns: [*]Conn = null; + own_alloc: Allocator; + handler: (*Request, *Response) -> void; + + init :: (cfg: Config, handler: (*Request, *Response) -> void) -> (Server, !HttpErr) { + lfd := socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0); + if lfd < 0 { raise error.Bind; } + one : i32 = 1; + socket.setsockopt(lfd, socket.SOL_SOCKET, socket.SO_REUSEADDR, @one, 4); + addr : socket.SockAddr = .{ + sin_len = 16, sin_family = xx socket.AF_INET, + sin_port = socket.htons(cfg.port), sin_addr = 0, // INADDR_ANY + }; + if socket.bind(lfd, @addr, 16) != 0 { socket.close(lfd); raise error.Bind; } + if socket.listen(lfd, cfg.backlog) != 0 { socket.close(lfd); raise error.Bind; } + if !socket.set_nonblocking(lfd) { socket.close(lfd); raise error.Bind; } + + lp, le := event.Loop.init(); + if le { socket.close(lfd); raise error.Loop; } + are := false; + lp.add_read(lfd, LISTENER_UDATA) catch { are = true; }; + if are { socket.close(lfd); raise error.Loop; } + + oa := context.allocator; + slots : [*]Conn = xx oa.alloc_bytes(cfg.max_conn * size_of(Conn)); + i : i64 = 0; + while i < cfg.max_conn { + slots[i] = Conn.{}; + i += 1; + } + return Server.{ + cfg = cfg, loop = lp, lfd = lfd, conns = slots, + own_alloc = oa, handler = handler, + }; + } + + close :: (self: *Server) { + i : i64 = 0; + while i < self.cfg.max_conn { + if self.conns[i].state != CONN_FREE { self.conn_close(i); } + i += 1; + } + if self.lfd >= 0 { socket.close(self.lfd); } + self.lfd = -1; + self.loop.close(); + } + + // ── slot management ────────────────────────────────────────────── + + free_slot :: (self: *Server) -> i64 { + i : i64 = 0; + while i < self.cfg.max_conn { + if self.conns[i].state == CONN_FREE { return i; } + i += 1; + } + return -1; + } + + conn_close :: (self: *Server, slot: i64) { + c := @self.conns[slot]; + if c.fd >= 0 { + self.loop.del_read(c.fd); + if c.write_armed { self.loop.del_write(c.fd); } + socket.close(c.fd); + } + if c.out_buf != null { + self.own_alloc.dealloc_bytes(xx c.out_buf, c.out_len); + c.out_buf = null; + } + // read_buf stays allocated — reused by the next connection here. + c.fd = -1; + c.state = CONN_FREE; + c.read_len = 0; + c.out_len = 0; + c.out_sent = 0; + c.served = 0; + c.close_after = false; + c.write_armed = false; + } + + // ── the tick: one bounded loop iteration ───────────────────────── + // + // Waits at most `max_wait_ms` (sooner when a connection deadline is + // nearer), services every ready fd, then evicts expired connections. + tick :: (self: *Server, max_wait_ms: i64) -> !HttpErr { + wait_ms := max_wait_ms; + i : i64 = 0; + while i < self.cfg.max_conn { + c := self.conns[i]; + if c.state != CONN_FREE { + left := event.remaining_ms(c.deadline); + if left < wait_ms { wait_ms = left; } + } + i += 1; + } + + evs : [64]event.Event = ---; + n, werr := self.loop.wait(.{ ptr = @evs[0], len = 64 }, wait_ms); + if werr { raise error.Loop; } + + k : i64 = 0; + while k < n { + ev := evs[k]; + k += 1; + if ev.udata == LISTENER_UDATA { + self.accept_ready(); + continue; + } + slot : i64 = xx ev.udata; + c := @self.conns[slot]; + if c.state == CONN_FREE or c.fd != ev.fd { continue; } // stale event for a recycled slot + if ev.writable and c.state == CONN_WRITING { + self.write_more(slot); + continue; + } + if ev.readable or ev.eof { + self.read_more(slot); + } + } + + // Deadline eviction — after I/O, so a request that just arrived + // under the wire is served, not evicted. + i = 0; + while i < self.cfg.max_conn { + if self.conns[i].state != CONN_FREE and event.expired(self.conns[i].deadline) { + self.conn_close(i); + } + i += 1; + } + return; + } + + run :: (self: *Server) { + while true { + self.tick(1000) catch {}; + } + } + + // ── accept ─────────────────────────────────────────────────────── + + accept_ready :: (self: *Server) { + while true { + fd, ae := socket.accept_nb(self.lfd); + if ae { return; } // WouldBlock = drained; Fault = nothing to do here + slot := self.free_slot(); + if slot < 0 { socket.close(fd); return; } // at max_conn: shed + if !socket.set_nonblocking(fd) { socket.close(fd); return; } + c := @self.conns[slot]; + if c.read_buf == null { + c.read_buf = xx self.own_alloc.alloc_bytes(self.cfg.read_buf_cap); + } + c.fd = fd; + c.state = CONN_READING; + c.read_len = 0; + c.served = 0; + c.close_after = false; + c.deadline = event.deadline_in(self.cfg.timeout_request_ms); + are := false; + self.loop.add_read(fd, xx slot) catch { are = true; }; + if are { self.conn_close(slot); } + } + } + + // ── read → parse → dispatch ────────────────────────────────────── + + read_more :: (self: *Server, slot: i64) { + c := @self.conns[slot]; + if c.state == CONN_KEEPALIVE { + c.state = CONN_READING; + c.deadline = event.deadline_in(self.cfg.timeout_request_ms); + } + while true { + cap := self.cfg.read_buf_cap - c.read_len; + if cap <= 0 { + self.respond_error_close(slot, 431); + return; + } + nq, re := socket.read_nb(c.fd, @c.read_buf[c.read_len], xx cap); + if re == error.WouldBlock { break; } + if re { // Closed or Fault + self.conn_close(slot); + return; + } + c.read_len += nq; + } + self.serve_buffered(slot); + } + + // Serve every complete request sitting in the buffer (a keep-alive + // client may pipeline; each response must finish sending before the + // next parse — a pending partial write pauses the drain and + // write_more resumes it). + serve_buffered :: (self: *Server, slot: i64) { + while self.conns[slot].state == CONN_READING { + if !self.try_serve_one(slot) { return; } + } + } + + // Parse one request off the front of the buffer; false = incomplete + // (need more bytes) or the connection left the READING state. + try_serve_one :: (self: *Server, slot: i64) -> bool { + c := @self.conns[slot]; + buf := string.{ ptr = c.read_buf, len = xx c.read_len }; + + // headers complete? + he := -1; + i := 0; + while i + 3 < buf.len { + if buf[i] == 13 and buf[i+1] == 10 and buf[i+2] == 13 and buf[i+3] == 10 { he = i; break; } + i += 1; + } + if he < 0 { return false; } + + // request line: METHOD SP PATH SP VERSION CRLF + req : Request = .{}; + p := 0; + while p < he and buf[p] != 32 { p += 1; } + req.method = string.{ ptr = c.read_buf, len = p }; + p += 1; + ps := p; + while p < he and buf[p] != 32 { p += 1; } + req.path = string.{ ptr = @c.read_buf[ps], len = p - ps }; + p += 1; + vs := p; + while p < he and buf[p] != 13 { p += 1; } + req.version = string.{ ptr = @c.read_buf[vs], len = p - vs }; + hdr_start := p + 2; + if req.method.len == 0 or req.path.len == 0 or hdr_start > he { + self.respond_error_close(slot, 400); + return false; + } + req.headers_raw = string.{ ptr = @c.read_buf[hdr_start], len = he - hdr_start + 2 }; + + // body per Content-Length + clen : i64 = 0; + clv := find_header(@req, "content-length"); + j := 0; + while j < clv.len { + d := clv[j]; + if d < 48 or d > 57 { self.respond_error_close(slot, 400); return false; } + clen = clen * 10 + (d - 48); + j += 1; + } + total := xx he + 4 + clen; + if total > self.cfg.read_buf_cap { self.respond_error_close(slot, 413); return false; } + if c.read_len < total { return false; } + req.body = string.{ ptr = @c.read_buf[he + 4], len = xx clen }; + + // keep-alive: 1.1 default on, 1.0 default off, header overrides + req.keep_alive = !ascii_ieq(req.version, "http/1.0"); + cnv := find_header(@req, "connection"); + if ascii_ieq(cnv, "close") { req.keep_alive = false; } + if ascii_ieq(cnv, "keep-alive") { req.keep_alive = true; } + + // dispatch (the field must be loaded — `self.handler(...)` would + // be parsed as a dot-call on a function named `handler`) + h := self.handler; + resp : Response = .{}; + h(@req, @resp); + + c.served += 1; + keep := req.keep_alive and c.served < self.cfg.request_count; + + // Serialize while the request views are still valid (the body + // may reference the read buffer), THEN drop the served bytes — + // write_more's pipelining check must see only the remainder — + // and only then start sending. Overlapping copy: dst < src, so + // forward byte-wise is safe. + self.serialize_response(slot, @resp, keep); + rest := c.read_len - total; + m : i64 = 0; + while m < rest { + c.read_buf[m] = c.read_buf[total + m]; + m += 1; + } + c.read_len = rest; + self.write_more(slot); + return true; + } + + // ── response serialization + write continuation ────────────────── + + // Build the response bytes into the slot's out buffer. Does NOT + // start sending — try_serve_one compacts the read buffer between + // serialization and the first write (see the ordering note there). + serialize_response :: (self: *Server, slot: i64, resp: *Response, keep: bool) { + head := concat("HTTP/1.1 ", concat(int_to_string(resp.status), concat(" ", reason_for(resp.status)))); + head = concat(head, concat("\r\nContent-Length: ", int_to_string(resp.body.len))); + head = concat(head, concat("\r\nContent-Type: ", resp.content_type)); + head = concat(head, if keep then "\r\nConnection: keep-alive\r\n" else "\r\nConnection: close\r\n"); + if resp.extra_headers.len > 0 { head = concat(head, resp.extra_headers); } + head = concat(head, "\r\n"); + + c := @self.conns[slot]; + c.out_len = xx (head.len + resp.body.len); + c.out_buf = xx self.own_alloc.alloc_bytes(xx c.out_len); + memcpy(c.out_buf, head.ptr, head.len); + if resp.body.len > 0 { memcpy(@c.out_buf[head.len], resp.body.ptr, resp.body.len); } + c.out_sent = 0; + c.close_after = !keep; + } + + write_more :: (self: *Server, slot: i64) { + c := @self.conns[slot]; + while c.out_sent < c.out_len { + nq, we := socket.write_nb(c.fd, @c.out_buf[c.out_sent], xx (c.out_len - c.out_sent)); + if we == error.WouldBlock { + if !c.write_armed { + awe := false; + self.loop.add_write(c.fd, xx slot) catch { awe = true; }; + if awe { self.conn_close(slot); return; } + c.write_armed = true; + } + c.state = CONN_WRITING; + return; + } + if we { self.conn_close(slot); return; } + c.out_sent += nq; + } + // fully sent + if c.write_armed { + self.loop.del_write(c.fd); + c.write_armed = false; + } + self.own_alloc.dealloc_bytes(xx c.out_buf, c.out_len); + c.out_buf = null; + c.out_len = 0; + c.out_sent = 0; + if c.close_after { + self.conn_close(slot); + return; + } + if c.read_len > 0 { + // pipelined bytes already buffered: keep serving + c.state = CONN_READING; + c.deadline = event.deadline_in(self.cfg.timeout_request_ms); + self.serve_buffered(slot); + return; + } + c.state = CONN_KEEPALIVE; + c.deadline = event.deadline_in(self.cfg.timeout_keepalive_ms); + } + + // A terminal error response: serialize, send, close when done. + respond_error_close :: (self: *Server, slot: i64, status: i64) { + resp : Response = .{ status = status, body = reason_for(status) }; + self.conns[slot].read_len = 0; + self.serialize_response(slot, @resp, false); + self.write_more(slot); + } +}